asheesh changed the topic of #sandstorm to: Welcome to #sandstorm: home of all things sandstorm.io. Say hi! | Channel glossary: "i,i" means "I have no point, I just want to say". b == thumbs up. | Public logs at https://botbot.me/freenode/sandstorm/ & http://logbot.g0v.tw/channel/sandstorm/today
Zertrin has quit [Ping timeout: 258 seconds]
jemc has joined #sandstorm
Zertrin has joined #sandstorm
frigginglorious has joined #sandstorm
frigginglorious has quit [Quit: frigginglorious]
c-mart has joined #sandstorm
c-mart is now known as c-mart_
frigginglorious has joined #sandstorm
frigginglorious has quit [Quit: frigginglorious]
jacksingleton has quit [Ping timeout: 252 seconds]
rustyrazorblade has joined #sandstorm
epriestley_ has joined #sandstorm
epriestley has quit [Ping timeout: 252 seconds]
epriestley_ is now known as epriestley
rustyrazorblade has quit [Quit: rustyrazorblade]
frigginglorious has joined #sandstorm
jacksingleton has joined #sandstorm
lukexj has quit [Ping timeout: 240 seconds]
frankier has joined #sandstorm
lukexj has joined #sandstorm
mnutt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
jacksingleton has quit [Ping timeout: 260 seconds]
frigginglorious has quit [Quit: frigginglorious]
lukexj has quit [Ping timeout: 244 seconds]
lukexj has joined #sandstorm
jadewang has quit [Remote host closed the connection]
Lionel_Debroux_ has quit [Ping timeout: 276 seconds]
jemc has quit [Ping timeout: 244 seconds]
[d__d] has quit [Ping timeout: 272 seconds]
[d__d] has joined #sandstorm
[d__d] has quit [Ping timeout: 260 seconds]
[d__d] has joined #sandstorm
gelnior54 has quit [Remote host closed the connection]
gelnior54 has joined #sandstorm
mulk_ has joined #sandstorm
mulk has quit [Read error: No route to host]
mulk__ has joined #sandstorm
mulk__ has quit [Client Quit]
mulk_ has quit [Ping timeout: 240 seconds]
Psy-Q has joined #sandstorm
lukexj_ has joined #sandstorm
lukexj has quit [Ping timeout: 246 seconds]
xobs has quit [Ping timeout: 260 seconds]
xobs has joined #sandstorm
lukexj_ is now known as lukexj
frigginglorious has joined #sandstorm
bemasc has quit [Ping timeout: 272 seconds]
bemasc has joined #sandstorm
jemc has joined #sandstorm
papa has quit [Ping timeout: 244 seconds]
afuentes has joined #sandstorm
papa has joined #sandstorm
<afuentes> When I try to install a grain on my instance of sandstorm, it just shows the loading circle forever :S
<afuentes> /opt/sandstorm/var/log/* says nothing
mnutt has joined #sandstorm
<afuentes> and the log from inside the web just say: ** SANDSTORM SUPERVISOR: Grain still in use; staying up for now.
<afuentes> I just tried with another grain... it happesn the same thing :(
<dwrensha> afuentes: anything in your browser debug console?
<afuentes> dwrensha, exception from tracker recomputer funcion: typeerror: i is null
<afuentes> and sandstorm is trying to reconnect ... at the end
<afuentes> the apps download okay, but the icon is missing aftewards on the apps menu
<dwrensha> huh weird
<dwrensha> yeah, sounds like your wildcard host is somehow messed up
<afuentes> in the middle of those errors i also get some urls... that im not sure if its safe to paste :)
<dwrensha> but usually Sandstorm is able to detect wildcard host errors and will display a big red warning
<afuentes> there no program i can not break with my normal usage
<afuentes> someones call it a gift... others a damnation
<dwrensha> the URLs are likely safe to post if you don't care about us knowing the location of your Sandstorm server
<dwrensha> does https://oasis.sandstorm.io work for you?
mnutt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<afuentes> i have reverse proxy on my server to 127.0.0.1:6080
<afuentes> yeah, i dont mind about knowing the location, but unique urls generated safe?
<asheesh> It'll only show a big red warning on /admin/ fwiw
<asheesh> also hi from LHR
mnutt has joined #sandstorm
<dwrensha> afuentes: can you visit the Admin panel of your sever to see if it shows the red warning?
<afuentes> hi asheesh!
<afuentes> WARNING: This server seems to have its WILDCARD_HOST
<asheesh> See also: https://docs.sandstorm.io/en/latest/administering/faq/#why-do-i-see-an-error-when-i-try-to-launch-an-app-even-when-the-sandstorm-interface-works-fine "Why do I see an error when I try to launch an app, even when the Sandstorm interface works fine?"
<asheesh> Hi afuentes !
<afuentes> haha, i did google the problem, but only skimmed the faq there... i admit it :(
<asheesh> On storm.debian.net I see this: "
<asheesh> Error: Requested session that no longer exists, and timed out waiting for client to restore it. This can happen if you have opened an app's content in a new window and then closed it in the UI. If you see this error *inside* the Sandstorm UI, please report a bug and describe the circumstances of the error. [504] at server/proxy.js:582:24"
<asheesh> in the logs
<asheesh> Plus there's a grain or two that seems to never really start.
<dwrensha> afuentes: if you generate a link through the "Share Access" button or through the admin "/Admin/Users/Invite" interface, then the link will carry authority and you wouldn't want to share it here
<asheesh> On the server side, it does seem from 'ps auxwwww' that 'node //node_modules/ep_etherpad-lite/node/server.js' is running.
<asheesh> The fact that I see a session-related error here is pretty odd.
<dwrensha> asheesh: I'm seeing a spinner
<asheesh> Yeah, exactly :|
<asheesh> That's the symptoms I mean when I say "seems to never really start"
<asheesh> After 60 sec nginx eventually says 504 Gateway Timeout, I believe. Note that _sandstorm-init seems to load fine; it's requests to the grain that are failing.
<asheesh> well hanging forever
<asheesh> I guess I can try to figure out if the grain is truly running by finding out what the grain ID is, one sec.
<asheesh> ... looks like that grain has been online since June 20.
<asheesh> based on its supervisor being created back then.
<asheesh> I could go kill the supervisor, which would presumably fix the problem....
<dwrensha> is this a grain you own?
<asheesh> No, alas
<asheesh> I am the sysadmin though!
<dwrensha> I suppose that doesn't matter if you have shell access
<dwrensha> I'm curious if there are any errors in the grain log
<asheesh> I can go read its log, yeah! THat's what just occurred to me .one sec. Pardon typos
jemc has quit [Quit: WeeChat 1.4]
jemc has joined #sandstorm
<asheesh> Lots of "Grain still in use, staying up for now" but also this:
<asheesh> ESC[32m[2016-06-21 14:27:46.840] [INFO] access - ESC[39m[LEAVE] Pad "main": Author "a.iolhVQBjwC1dEBY0" on client tKy9H6KGFiv2yHf-AAAA with IP "127.0.0.1" left the pad
<asheesh> ESC[32m[2016-06-21 14:28:09.100] [INFO] client - ESC[39mDIAGNOSTIC-INFO: {"disconnectedMessage":"reconnect_timeout","padId":"main","socket":{}}
<asheesh> Maybe that's normal, maybe it's not?
<asheesh> That's the last non-"staying up for now" message.
<asheesh> Other than a few:
<asheesh> ESC[32m[2016-06-21 14:31:41.275] [INFO] ueberDB - ESC[39mFlushed 1 values
<dwrensha> asheesh: can you access other grains on this server?
<asheesh> Yup
<asheesh> Is it possible that requests aren't getting routed to the grain, and it's some kind of Sandstorm problem where if you keep a grain alive over N Sandstorm restarts or across specific versions, then the grain becomes unreachable?
<dwrensha> asheesh: maybe try attaching strace to the supervisor?
<asheesh> Similarly, worst-case, it seems that Sandstorm should detect that the HTTP response is taking >5 minutes for the grain to respond-to, and kill it.
<asheesh> Smart; I'll do that
<dwrensha> yeah, I'm curious how far these requests are getting
<asheesh> I wonder what is up with FD#8 - is that normal?
<asheesh> oh FD #10 actually
<asheesh> I can get longer strings, and arguably parse this with capnp
<afuentes> okay, i think i just need to wait for the wildcard dns to propagate for this to work :)
<dwrensha> i recently learned about `strace -y`: http://jvns.ca/blog/2016/06/07/strace-y/
<dwrensha> not sure if it works with already-opened descriptors
<afuentes> notification about the problem would be nice...
<asheesh> well dwrensha it's a UNIX socket to somewhere.
<afuentes> also, its not clear what a grain is :S maybe some plain english "grain = installed app" somewhere would be nice too
<asheesh> afuentes: If you visit /grain on your server and click the "?" you can see some info about that now, at least.
<afuentes> I see, so grain = instance of an app
<asheesh> read(8<anon_inode:inotify>, 0x7ffea9e8ec90, 4096) = -1 EAGAIN (Resource temporarily unavailable)
<asheesh> Now that's weird, I think, right? Why is inotify getting involved?
<asheesh> I'll update the texteditor anyway.
<asheesh> afuentes: Yes!
<afuentes> i,i im impressed with sandstorm tbh... it used to look good, but now its amazing!
<asheesh> It's a weird generic term because it's a user-facing term as well, and we want something generic enough to mean "Document" or "Chat app" etc.
<asheesh> I must AFK but will be back in a little bit.
<dwrensha> asheesh: the supervisor uses inotify to track disk usage
<asheesh> BTW it's hilarious that the supervisor does a write() to the log, then inotify wakes it up to say the log has changed (-:
<asheesh> afuentes: Great! Glad you are excited about it!
jacksingleton has joined #sandstorm
<dwrensha> asheesh: I assume you attempted to make some requests to the grain during this strace capture?
<afuentes> okay... now i have a problem, because this need wildcard ssl certificate and certbot does not provide that kind of certs :(
<afuentes> its a shame, because I have a reverse proxy... meaning its making all the conections with sandstorm locally
<afuentes> but i guess the websockets try to access it directly or something
<dwrensha> Yeah, it's too bad that Let's Encrypt does not support wildcard certificates yet
<afuentes> thinking about it, i dont think i can use some local non https redirection
<afuentes> because the websocket is trying to access some https arbitrary domain and my apache needs to be able to offer that cert :/
<afuentes> is there a list of these arbitrary subdomains it tries to access?
<afuentes> maybe i can manually create them :>
<dwrensha> they are generated on the fly
<dwrensha> they are unique per grain session
<afuentes> ouch
jacksingleton has quit [Ping timeout: 240 seconds]
<afuentes> the domains doesnt even show on the browser console, do they?
<afuentes> it just show error accessing wss://
<afuentes> doh "...but actually creates a new origin for every session"
<afuentes> yay for security i guess! :)
<afuentes> this doesnt look its going to have an easy work around... im off to take a shower... where my most brilliant ideas usually happen :)
<dwrensha> the only solution I know of are: 1. buy yourself a wildcard cert, or 2. use sandcats
mnutt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<afuentes> during my shower I had a couple of "genius" ideas. 1. make my apache offer the root domain cert for arbitrary domains or 2. offer a self-signed certificated
<asheesh> Yeah dwrensha I did
<afuentes> lets see how firefox handle wrong domain certificates websockets connections ^^
<asheesh> afuentes: I recommend reading https://docs.sandstorm.io/en/latest/administering/ssl/ fwiw
<afuentes> Maybe If I can click acept this certificate once and be done with
<asheesh> Also: '''Web browsers do not show a "OK to continue?" prompt for IFRAMEs, and Sandstorm embeds IFRAMEs to subdomains of its main domain, so there is no warning that users can click through'''
<afuentes> I see
<asheesh> D'oh the supervisor got killed.
<asheesh> Now there's 2 supervisors for the same grain. That's very abnormal, right?
<asheesh> Yes!
<asheesh> D'oh, my "Yes!" was in response to dwrensha 's question because I was at the wrong part of scrollback.
<asheesh> Sanity fading due to jet lag I suppose.
<asheesh> capnp.js: before makeRemotePromise: get { a: undefined, b: undefined, e: [] }
<asheesh> capnp.js: after makeRemotePromise: get { a: undefined, b: undefined, e: [], cachePolicy: {}, cancel: [Function] }
<asheesh> That is a weird thing to see in sandstorm.log right? Huh.
<dwrensha> asheesh: proxy.js prints that out after detecting that it can no longer talk to the backend
<dwrensha> asheesh: do you see any of the "error: Backend hasn't responded in 30 seconds! Reconnecting." errors?
<dwrensha> or "error: Backend ping threw error!"
<asheesh> About 3 min ago, Sandstorm hung and then I did sudo service sandstorm stop & sudo service sandstorm start
<asheesh> Also fwiw "Warning: SandstormPermissions.grainPermissions() took 2409 milliseconds to complete for the vertex" (data ellided)
<asheesh> grep -i 'error.*backend' /opt/sandstorm/var/log/sandstorm.log does show me these two lines:
<asheesh> error: Backend hasn't responded in 30 seconds! Reconnecting.
<asheesh> error: Backend ping threw error! Error: remote exception: Peer disconnected.
<asheesh> That shows up just before the "capnp.js: ..." printouts, so that's consistent with something at least.
<asheesh> Related (?):
<asheesh> error: Backend ping threw error! Error: remote exception: Peer disconnected.
<asheesh> Exception in setTimeout callback: TypeError: Cannot call method 'stop' of undefined at server/proxy.js:581:26 at [object Object]._.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1) at packages/meteor/timers.js:6:1 at runWithEnvironment (packages/meteor/dynamics_nodejs.js:110:1)
<asheesh> Also, the first "error: Backend hasn't responded in 30 seconds! Reconnecting." is before the "capnp.js: ..." printouts, but the second one ("error: Backend ping threw error! Error: remote exception: Peer disconnected.") is after them.
<asheesh> I will share the actual log file, one sec.
<asheesh> Man I wish we used syslog.
mnutt has joined #sandstorm
<afuentes> where should i put my self signed certificates? /etc/ngingx seems to be inside every app under var/sandstorm/apps/<id>
<asheesh> afuentes: Sandstorm can either serve HTTPS using sandcats certs, or you can set up nginx + self-signed ssl, see https://docs.sandstorm.io/en/latest/administering/reverse-proxy/ for advice on setting the latter up
<afuentes> you are right... how dumb i am... I have to serve it myself on apache on my reverse proxy
<asheesh> np you are clearly pretty smart!
<afuentes> you can tell, coz I im using sandstorm :D
<asheesh> dwrensha: I figure it makes sense to file a bug for easier debugging.
Lionel_Debroux_ has joined #sandstorm
<dwrensha> heh, log timestamps would be nice for a situation like this
afuentes has quit [Ping timeout: 258 seconds]
<dwrensha> "SandstormPermissions.grainPermissions() took 33503 milliseconds to complete for the vertex ..." is troubling
jacksingleton has joined #sandstorm
Telesight has joined #sandstorm
<dwrensha> asheesh: what happened to the strace grain? it looks empty now
saneki_ has quit [Ping timeout: 276 seconds]
saneki has joined #sandstorm
xet7 has quit [Quit: Leaving]
c-mart_ has quit [Ping timeout: 240 seconds]
<zarvox> all the log noise is from Capnp.enableVerboseDebugLogging(true) getting set, which happens when the ping to the sandstorm backend doesn't respond for 30 seconds
<zarvox> it's possible that an overly-long blocking permissions computation prevented us from processing the ping reply in time to think the backend was alive
jadewang has joined #sandstorm
keturn has quit [Ping timeout: 240 seconds]
Daemoen has quit [Ping timeout: 252 seconds]
Daemoen has joined #sandstorm
<dwrensha> I'm thinking the long permissions computation was a symptom, but not the root problem
<dwrensha> gwah, cloudflare 502 again for oasis
keturn has joined #sandstorm
c-mart_ has joined #sandstorm
jadewang has quit [Remote host closed the connection]
<zarvox> dwrensha: asheesh: It's worth noting most of that logfile is quite old; you can tell by the "Migrations already applied" when upgrades were applied
jadewang has joined #sandstorm
jacksingleton has quit [Ping timeout: 244 seconds]
isd has joined #sandstorm
frankier has quit [Ping timeout: 240 seconds]
mnutt has quit [*.net *.split]
jemc has quit [*.net *.split]
papa has quit [*.net *.split]
gelnior54 has quit [*.net *.split]
[d__d] has quit [*.net *.split]
tg has quit [*.net *.split]
joeyh has quit [*.net *.split]
dograt has quit [*.net *.split]
CaptainCalliope has quit [*.net *.split]
KevinMGranger has quit [*.net *.split]
_iwc has quit [*.net *.split]
ckocagil has quit [*.net *.split]
KevinMGranger has joined #sandstorm
papa has joined #sandstorm
jemc has joined #sandstorm
tg has joined #sandstorm
ckocagil has joined #sandstorm
joeyh has joined #sandstorm
dograt has joined #sandstorm
fkautz has quit [Ping timeout: 258 seconds]
CaptainCalliope has joined #sandstorm
[d__d] has joined #sandstorm
_iwc has joined #sandstorm
esmiurium has joined #sandstorm
_iwc has quit [K-Lined]
fkautz has joined #sandstorm
digitalcircuit has quit [Ping timeout: 250 seconds]
digitalcircuit has joined #sandstorm
Telesight has quit [Quit: Leaving.]
jacksingleton has joined #sandstorm
c-mart_ has quit [Ping timeout: 258 seconds]
c-mart has joined #sandstorm
c-mart is now known as c-mart_
frigginglorious has quit [Quit: frigginglorious]
wolcen has quit [Ping timeout: 250 seconds]
xet7 has joined #sandstorm
frigginglorious has joined #sandstorm
wolcen has joined #sandstorm
isd has quit [Ping timeout: 250 seconds]
afuentes has joined #sandstorm
c-mart_ has quit [Quit: c-mart_]
mnutt has joined #sandstorm
mnutt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
afuentes has quit [Ping timeout: 244 seconds]
frigginglorious has quit [Quit: frigginglorious]