RejectedSoftware Forums

Sign up

vibe.d in sandstorm

I'm trying to get my vibe.d app into sandstorm.io. The problem is a segfault in the url routing.

It only happens within the virtual machine/sandstorm container. Previously I ran it as a normal user (tmux was good enough) and it worked.

Here is the forum thread in sandstorm-dev:
https://groups.google.com/d/msg/sandstorm-dev/UNqFl_50-kc/ifbzhdy7BgAJ

And a gist with the stack trace showing the segfault:
https://gist.github.com/zarvox/2a9045d59ca7cd6c62d03190ac10bfe0

My code setting up the URLRouter:
https://github.com/qznc/prema/blob/sandstorm/source/app.d#L15

Any ideas how to dig deeper deeper?

Re: vibe.d in sandstorm

On Sat, 21 May 2016 10:53:35 GMT, qznc wrote:

I'm trying to get my vibe.d app into sandstorm.io. The problem is a segfault in the url routing.

It only happens within the virtual machine/sandstorm container. Previously I ran it as a normal user (tmux was good enough) and it worked.

Here is the forum thread in sandstorm-dev:
https://groups.google.com/d/msg/sandstorm-dev/UNqFl_50-kc/ifbzhdy7BgAJ

And a gist with the stack trace showing the segfault:
https://gist.github.com/zarvox/2a9045d59ca7cd6c62d03190ac10bfe0

My code setting up the URLRouter:
https://github.com/qznc/prema/blob/sandstorm/source/app.d#L15

Any ideas how to dig deeper deeper?

It looks like either a GC issue, or some kind of memory corruption. I've looked through the code and there is nothing that should cause this in the high level code in router.d. One thing you could try would be to use the latest vibe.d alpha version and see if that changes anything (it contains some changes in the route generation code).

Apart from that, I don't have any concrete ideas. Is it possible to interactively debug within the sandbox? I'd try to step through the code to see where/why the null pointer occurs first. BTW, it wasn't obvious to me from the data if the source or the destination pointer is the culprit.