spk dev error

54 views
Skip to first unread message

David Benson

unread,
Sep 7, 2016, 6:30:37 PM9/7/16
to Sandstorm Development
I ran the draw.io Sandstorm build to see if it vaguely behaves any more, https://github.com/jgraph/draw.io/tree/master/etc/sandstorm. The spk pack works fine, but when I spk dev I get:

spk dev
App is now available from Sandstorm server. Ctrl+C to disconnect.
*** Uncaught exception ***
sandstorm/fuse.c++:369: failed: read(/dev/fuse): Input/output error
stack: 0x56ab9b 0x56865c 0x5e240b 0x5e0fdd 0x48b3a0 0x48aeb8
Makefile:12: recipe for target 'dev' failed
make: *** [dev] Error 1

I built capnp from source today, have Sandstorm build 180. Sandstorm is running correctly otherwise, OS is a clean Ubuntu 16.04 installed today with apt-get upgrades (and a restart).

Only possible issue I could see that might be related is https://github.com/sandstorm-io/sandstorm/issues/2373. Any ideas welcome.

Drew Fisher

unread,
Sep 7, 2016, 7:38:37 PM9/7/16
to David Benson, Sandstorm Development, Matt Mullins
Hi David,

Matt Mullins (cc'd) hit this a little while ago.  If I remember correctly, Ubuntu 16.04 seems to have shipped with a kernel patch intended to support fuse with pid namespaces.  Unfortunately, their patch seems to assume that the process accessing the fuse filesystem will run in the same pid namespace as the daemon implementing the fuse filesystem, and doesn't handle fuse FDs being sent across sockets between different namespaces, or something like that which trips up on how Sandstorm uses fuse in practice.

Matt reports that the issue was introduced in http://kernel.ubuntu.com/git/ubuntu/ubuntu-xenial.git/commit/?id=9b869708bde3dd34f0e1c59c7c2abe1e433e5b35 .  Any other information you want to add, Matt?  Did you have a chance to file a bug upstream?

My suggestion for what to do is to try setting up building draw.io with vagrant-spk [1], which has the side benefit of also allowing OSX and Windows users to build and test the draw.io app.  It achieves this by running Sandstorm in a VM (Debian Jessie, currently), and having developers script the steps needed to build the package from source [2].  You'll almost certainly want the "diy" stack [3] and to fetch and build capnproto from source in setup.sh, and to build the server and app bundle in build.sh.

If you'd rather not cross that bridge just yet, you may have more success with another distribution or release (Sandstorm employees are known to use Debian and Fedora), or a vanilla kernel that doesn't have Ubuntu's problematic patch.

Cheers,
Drew

--
You received this message because you are subscribed to the Google Groups "Sandstorm Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sandstorm-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sandstorm-dev/2bbfeb22-a270-4d7b-bccb-c6f418bbe054%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Matt Mullins

unread,
Sep 12, 2016, 9:32:04 PM9/12/16
to Drew Fisher, David Benson, Sandstorm Development
I finally got the chance to file an issue with Sandstorm to record the
cause (https://github.com/sandstorm-io/sandstorm/issues/2526) — but
it's really an upstream Ubuntu kernel issue. I don't think anyone has
gotten in contact with the Ubuntu kernel team yet.
>> email to sandstorm-de...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages