Skip to content

Instantly share code, notes, and snippets.

@zarvox
Created May 17, 2016 21:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zarvox/2a9045d59ca7cd6c62d03190ac10bfe0 to your computer and use it in GitHub Desktop.
Save zarvox/2a9045d59ca7cd6c62d03190ac10bfe0 to your computer and use it in GitHub Desktop.
debugging prema
vagrant@localhost:~$ sudo nsenter --target $(pidof sandstorm-http-bridge) --mount --net
-bash: /root/.bash_profile: Input/output error
# cd /opt/app/
# export LD_LIBRARY_PATH=/opt/app/sqlite3
# gdb -batch -ex "run" -ex "bt full" -ex "quit" ./prema
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Failed to listen on 141.3.44.16:8000
Listening for requests on http://127.0.0.1:8000
Vibe was run as root, and no user/group has been specified for privilege lowering. Running with full permissions.
Program received signal SIGSEGV, Segmentation fault.
__memcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:33
33 ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S: No such file or directory.
#0 __memcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:33
No locals.
#1 0x00000000009a4a71 in _d_arraysetlengthiT ()
No symbol table info available.
#2 0x000000000087a931 in vibe.http.router.__T9MatchTreeTS4vibe4http6router5RouteZ.MatchTree.rebuildGraph() (this=0x7ffff4b58be8, n=415) at ../../home/vagrant/.dub/packages/vibe-d-0.7.26/source/vibe/http/router.d:736
nmidx = 321
__pitmp10176 = 321
__arraylength10177 = 0x7ffff7ef0e98
nn = {terminalsStart = 0, terminalsEnd = 0, edges = {0 <repeats 138 times>, 7, 0, 7, 0, 4105537776, 32767, 4105537792, 32767, 10435079, 0, 0, 0, 1910, 0, 1908, 0, 14491872, 0, 4105538008, 32767, 4159911936, 32767, 0, 0, 14346944, 0, 4105537792, 32767, 10527581, 0, 4105538008, 32767, 10, 0, 0, 0, 14346944, 0, 4105537888, 32767, 10452115, 0, 4105538224, 32767, 1908, 0, 10, 0, 0, 0, 0, 0, 0, 0, 14350720, 0, 4105537936, 32767, 4105537952, 32767, 4105537960, 32767, 4105537968, 32767, 10425758, 0, 4105538224, 32767, 0, 0, 4159911936, 32767, 14350720, 0, 14145920, 0, 4105538008, 32767, 10, 0, 1910, 0, 4105538080, 32767, 10088267, 0, 0, 0, 4105538224, 32767, 4159911936, 32767, 2048, 0, 10, 0, 4081641857, 32767, 4081641857, 32767, 1, 0, 4081641880, 32767, 4105538120, 32767, 10, 32767, 14145920, 0, 4105538176, 32767, 10463645, 0, 14146048, 0, 10462893, 0}}
__r10178 = {length = 71, ptr = 0x0}
__key10179 = 2048
t = {index = 2, var = {length = 0, ptr = 0xd7ee40 <TypeInfo_k.__init()> ""}}
var = 0
__dollar = 140737298926256
__aaval10181 = @0xa: <error reading variable>
__r10182 = {length = 10, ptr = 0x100}
__key10183 = 14145920
e = {ch = 0 '\000', to = 10103461}
#3 0x000000000087a802 in vibe.http.router.__T9MatchTreeTS4vibe4http6router5RouteZ.MatchTree.rebuildGraph() (this=...) at ../../home/vagrant/.dub/packages/vibe-d-0.7.26/source/vibe/http/router.d:755
builder = {m_nodes = {length = 477, ptr = 0x7ffff5b67010}}
__r10175 = {length = 71, ptr = 0x7ffff5b5a010}
__key10174 = 71
t = @0x7ffff5b5b5f0: {pattern = {length = 10, ptr = 0xa0fe5a <_TMP5> "/u/:userID"}, data = {method = <incomplete type>, pattern = {length = 10, ptr = 0xa0fe5a <_TMP5> "/u/:userID"}, cb = {ctxptr = 0x7a7830 <app.show_user()>, funcptr = 0x8d9614 <std.functional.__T13DelegateFakerTPFC4vibe4http6server17HTTPServerRequestC4vibe4http6server18HTTPServerResponseZvZ.DelegateFaker.doIt()>}}, varNames = {length = 1, ptr = 0x7ffff7f1d540}, varMap = {ptr = 0x0}}
i = 70
nodemap = {length = 477, ptr = 0x7ffff7f33800}
#4 0x0000000000879a39 in vibe.http.router.__T9MatchTreeTS4vibe4http6router5RouteZ.MatchTree.match() (this=..., del=..., text=...) at ../../home/vagrant/.dub/packages/vibe-d-0.7.26/source/vibe/http/router.d:584
No locals.
#5 0x0000000000878c3e in vibe.http.router.URLRouter.handleRequest() (this=0x7ffff7ef0e80, res=0xe03290, req=0xe01270) at ../../home/vagrant/.dub/packages/vibe-d-0.7.26/source/vibe/http/router.d:263
method = <incomplete type>
path = {length = 1, ptr = 0x7ffff7ef4814 "/ HTTP/1.1"}
__dollar = 1
done = false
#6 0x0000000000911136 in vibe.http.server.handleRequest() (keep_alive=@0x7ffff4b59bd0: false, settings=@0x7ffff4b59bc8: 0x7ffff7ee7100, listen_info=..., tcp_connection=0xdfc5a0, http_stream=0xdfc5a0) at ../../home/vagrant/.dub/packages/vibe-d-0.7.26/source/vibe/http/server.d:1716
reqtime = {_stdTime = 635991157348465759, _timezone = {original = 0xd814a0 <internal>, stripped = 0xd814a0 <internal>}}
request_allocator = 0x7ffff4b58ec0
req = {m_object = 0xe01270, m_magic = 518477847}
timeout_http_input_stream = {m_object = 0x0, m_magic = 518477847}
limited_http_input_stream = {m_object = 0xe03b70, m_magic = 518477847}
chunked_input_stream = {m_object = 0x0, m_magic = 518477847}
peer_address_string = {length = 9, ptr = 0xdfc620 "127.0.0.1"}
__dollar = 0
__dollar = 0
request_task = {ctxptr = 0x7ffff7ef0e90, funcptr = 0x879084 <_TMP14174>}
context = {requestHandler = {ctxptr = 0x7ffff7ef0e90, funcptr = 0x879084 <_TMP14174>}, settings = 0x7ffff7ee7100, loggers = {length = 0, ptr = 0x0}, id = 2}
__r10870 = {length = 1, ptr = 0x7ffff7eea100}
__key10871 = 0
ctx = {requestHandler = {ctxptr = 0x7ffff7ef0e90, funcptr = 0x879084 <_TMP14174>}, settings = 0x7ffff7ee7100, loggers = {length = 0, ptr = 0x0}, id = 2}
found = true
__r10872 = {length = 2, ptr = 0x7ffff7eea0c0}
__key10873 = 2
addr = {length = 9, ptr = 0xa0fe30 "127.0.0.1"}
res = {m_object = 0xe03290, m_magic = 518477847}
parsed = true
reqReader = 0xdfc5a0
reqhost = {length = 51, ptr = 0x7ffff7ef4b56 "37195e442379b466488d0df4aaa25e47.local.sandstorm.io:6080"}
reqport = 6080
reqhostparts = {_input = {length = 0, ptr = 0x7ffff7ef4b8e ""}, _separator = {length = 1, ptr = 0xa3fde8 <_TMP14572> ":"}, _frontLength = 18446744073709551615, _backLength = 18446744073709551615}
__r10912 = {length = 1, ptr = 0x7ffff7eea100}
__key10913 = 1
ctx = {requestHandler = {ctxptr = 0x7ffff7ef0e90, funcptr = 0x879084 <_TMP14174>}, settings = 0x7ffff7ee7100, loggers = {length = 0, ptr = 0x0}, id = 2}
found = false
__r10914 = {length = 0, ptr = 0x0}
__key10915 = 0
addr = {length = 0, ptr = 0x0}
pae = 0x0
__dop10916 = @0x0: <error reading variable>
__dop10917 = @0x0: <error reading variable>
pcl = 0x0
v = {length = 0, ptr = 0x0}
contentLength = 18446744073709551600
pt = 0x0
__copytmp10921 = {m_object = 0x0, m_magic = 0}
pv = 0x0
url = {m_schema = {length = 0, ptr = 0x0}, m_pathString = {length = 1, ptr = 0x7ffff7ef4814 "/ HTTP/1.1"}, m_host = {length = 0, ptr = 0x0}, m_port = 0, m_username = {length = 0, ptr = 0x0}, m_password = {length = 0, ptr = 0x0}, m_queryString = {length = 0, ptr = 0x0}, m_anchor = {length = 0, ptr = 0x0}}
pv = 0xe01510
pv = 0x0
__r10927 = {length = 0, ptr = 0x0}
__key10928 = 9045864
v = {length = 111, ptr = 0x7ffff7eebe80 "P\344", <incomplete sequence \332>}
ptype = 0x0
bodyStr = {length = 0, ptr = 0x0}
__dop10929 = @0xe032b8: {m_fields = {{keyCheckSum = 1476, key = {length = 6, ptr = 0xa3ffb5 <_TMP14635> "Server"}, value = {length = 13, ptr = 0xa2adfe "vibe.d/0.7.26"}}, {keyCheckSum = 74, key = {length = 4, ptr = 0xa3ffbc <_TMP14637> "Date"}, value = {length = 29, ptr = 0x7ffff7ef5110 "Tue, 17 May 2016 21:02:14 GMT"}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x0}} <repeats 30 times>}, m_fieldCount = 2, m_extendedFields = {length = 0, ptr = 0x0}}
__dop10930 = @0xe032b8: {m_fields = {{keyCheckSum = 1476, key = {length = 6, ptr = 0xa3ffb5 <_TMP14635> "Server"}, value = {length = 13, ptr = 0xa2adfe "vibe.d/0.7.26"}}, {keyCheckSum = 74, key = {length = 4, ptr = 0xa3ffbc <_TMP14637> "Date"}, value = {length = 29, ptr = 0x7ffff7ef5110 "Tue, 17 May 2016 21:02:14 GMT"}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x0}} <repeats 30 times>}, m_fieldCount = 2, m_extendedFields = {length = 0, ptr = 0x0}}
__dop10931 = @0x7ffff7eecc00: {m_fields = {{keyCheckSum = 13904144, key = {length = 0, ptr = 0x2 <error: Cannot access memory at address 0x2>}, value = {length = 4159622144, ptr = 0x81b654 <vibe.core.core.CoreTask.run()> "UH\213\354H\201\354\340\001"}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x1 <error: Cannot access memory at address 0x1>}, value = {length = 4159640000, ptr = 0x1000000 <error: Cannot access memory at address 0x1000000>}}, {keyCheckSum = 4088766464, key = {length = 4159598592, ptr = 0x7ffff7eeb680 "0", <incomplete sequence \324>}, value = {length = 2, ptr = 0x1 <error: Cannot access memory at address 0x1>}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x0}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x0}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x0}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x0}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x0}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x0}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x0}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x0}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x0}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x9d919c <std.variant.__T8VariantNVmi32Z.VariantN.__T7handlerHTvZ.handler()> "UH\213\354H\203\354 H\211]\340H\211}\370L\213\307H\211\323H\203\373\r\017\207\213"}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x9d919c <std.variant.__T8VariantNVmi32Z.VariantN.__T7handlerHTvZ.handler()> "UH\213\354H\203\354 H\211]\340H\211}\370L\213\307H\211\323H\203\373\r\017\207\213"}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x9d919c <std.variant.__T8VariantNVmi32Z.VariantN.__T7handlerHTvZ.handler()> "UH\213\354H\203\354 H\211]\340H\211}\370L\213\307H\211\323H\203\373\r\017\207\213"}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x9d919c <std.variant.__T8VariantNVmi32Z.VariantN.__T7handlerHTvZ.handler()> "UH\213\354H\203\354 H\211]\340H\211}\370L\213\307H\211\323H\203\373\r\017\207\213"}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x9d919c <std.variant.__T8VariantNVmi32Z.VariantN.__T7handlerHTvZ.handler()> "UH\213\354H\203\354 H\211]\340H\211}\370L\213\307H\211\323H\203\373\r\017\207\213"}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x9d919c <std.variant.__T8VariantNVmi32Z.VariantN.__T7handlerHTvZ.handler()> "UH\213\354H\203\354 H\211]\340H\211}\370L\213\307H\211\323H\203\373\r\017\207\213"}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x9d919c <std.variant.__T8VariantNVmi32Z.VariantN.__T7handlerHTvZ.handler()> "UH\213\354H\203\354 H\211]\340H\211}\370L\213\307H\211\323H\203\373\r\017\207\213"}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x9d919c <std.variant.__T8VariantNVmi32Z.VariantN.__T7handlerHTvZ.handler()> "UH\213\354H\203\354 H\211]\340H\211}\370L\213\307H\211\323H\203\373\r\017\207\213"}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x0}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x0}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x0}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x0}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x0}}, {keyCheckSum = 0, key = {length = 0, ptr = 0xd39f50 <TypeInfo_S3std7variant18__T8VariantNVmi32Z8VariantN.__init()> "\300\226", <incomplete sequence \327>}, value = {length = 0, ptr = 0x0}}, {keyCheckSum = 2277356929, key = {length = 4159608192, ptr = 0x0}, value = {length = 0, ptr = 0x0}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 2797032581, ptr = 0x7ffff7ee9120 "\t"}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x0}}, {keyCheckSum = 0, key = {length = 598126985, ptr = 0x7ffff7ee9680 "\b"}, value = {length = 0, ptr = 0x0}}, {keyCheckSum = 0, key = {length = 0, ptr = 0x0}, value = {length = 0, ptr = 0x8008af172e12348d <error: Cannot access memory at address 0x8008af172e12348d>}}, {keyCheckSum = 4159606944, key = {length = 0, ptr = 0x0}, value = {length = 3917762063, ptr = 0x7ffff7ee9160 "\020"}}}, m_fieldCount = 0, m_extendedFields = {length = 0, ptr = 0x0}}
dbg_msg = {length = 14665800, ptr = 0x7ffff7eebe80 "P\344", <incomplete sequence \332>}
__EAX = 0xffff80000a2d17e3
__EDX = 667680
__handler = -135345152
__exception_object = 0x1
dbg_msg = {length = 4160654648, ptr = 0x7ffff7ee9920 "0", <incomplete sequence \326>}
status = <incomplete type>
dbg_msg = {length = 14664704, ptr = 0x7ffff7ee82d8 ""}
nullWriter = {Scoped_store = {void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void <repeats 13 times>}}
__flag = 14664704
__EAX = 0xffff80000a2d17e3
__exception_object = 0xdfc5b8
__r10995 = {length = 14664832, ptr = 0x7ffff7bd8208 <_event_debug_mode_on>}
__key10996 = 0
log = 0x0
__flag = -135358160
__EAX = 0xffff80000a2d17e3
__exception_object = 0xdfc590
__flag = -189424864
__EAX = 0xffff80000a2d17e3
__exception_object = 0x827e54 <vibe.core.drivers.libevent2_tcp.Libevent2TCPConnection.waitForData()+856>
__flag = 14652080
__EAX = 0xffff80000a2d17e3
__exception_object = 0xdfbfa8
__flag = 2
__EAX = 0xffff80000a2d17e3
__exception_object = 0x7ffff4b59b10
__flag = 1
__EAX = 0xffff80000a2d17e3
__exception_object = 0xdfc590
__flag = 14665104
__EAX = 0xffff80000a2d17e3
__exception_object = 0xdfc2e8
__flag = 14665136
__EAX = 0xffff80000a2d17e3
__exception_object = 0xdfc848
#7 0x000000000090f9ce in vibe.http.server.handleHTTPConnection() (listen_info=..., connection=0xdfc5a0) at ../../home/vagrant/.dub/packages/vibe-d-0.7.26/source/vibe/http/server.d:1487
http_stream = 0xdfc5a0
tls_stream = {m_object = 0x0, m_magic = 518477847}
settings = 0x7ffff7ee7100
keep_alive = false
__flag = 32767
__EAX = 0xffff80000a2d17e3
__exception_object = 0xdfbfa8
#8 0x000000000090f416 in vibe.http.server.listenHTTPPlain() (this=0x7ffff7eea180, conn=0xdfc5a0) at ../../home/vagrant/.dub/packages/vibe-d-0.7.26/source/vibe/http/server.d:1380
No locals.
#9 0x00000000008e51fe in vibe.core.drivers.libevent2_tcp.ClientTask.execute() (this=...) at ../../home/vagrant/.dub/packages/vibe-d-0.7.26/source/vibe/core/drivers/libevent2_tcp.d:546
eventloop = 0xddcab8
drivercore = 0x7ffff7eeb890
buf_event = 0xdfbfa8
client_ctx = 0xdfc400
conn = 0x7ffff7eecc00
__EAX = 0xffff80000a2d17e3
__EDX = 667680
__handler = -189424336
__exception_object = 0x8b5bbd <std.algorithm.mutation.__T8moveImplTS4vibe4core4core27__T16makeTaskFuncInfoTDFZvZ16makeTaskFuncInfoFKDFZvZ5TARGSZ.moveImpl()+41>
conn = {m_object = 0xdfc590, m_magic = 518477847}
__EAX = 0xffff80000a2d17e3
__EDX = 667680
__handler = -189424072
__exception_object = 0x7ffff4b59d70
__flag = 9132913
__EAX = 0xffff80000a2d17e3
__exception_object = 0x7ffff4b59d90
#10 0x000000000081d81e in vibe.core.core.__T16makeTaskFuncInfoTDFZvZ.makeTaskFuncInfo() (tfi=0x7ffff4b59e20) at ../../home/vagrant/.dub/packages/vibe-d-0.7.26/source/vibe/core/core.d-mixin-498:498
c = {ctxptr = 0xdf92b0, funcptr = 0x8e4d6c <vibe.core.drivers.libevent2_tcp.ClientTask.execute()>}
args = {<No data fields>}
#11 0x000000000081b776 in vibe.core.core.CoreTask.run() (this=0x7ffff7eecc00) at ../../home/vagrant/.dub/packages/vibe-d-0.7.26/source/vibe/core/core.d:1005
task = {func = 0x0, callable = {void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void}, args = {void <repeats 128 times>}}
handle = {m_fiber = 0x7ffff7eecc00, m_taskCounter = 2}
__flag = 10
__EAX = 0xffff80000a2d17e3
__exception_object = 0x0
__EAX = 0xffff80000a2d17e3
__EDX = 667680
__handler = 0
__exception_object = 0x0
__r5498 = {length = 0, ptr = 0x0}
__key5499 = 0
t = {m_fiber = 0x0, m_taskCounter = 0}
__EAX = 0xffff80000a2d17e3
__EDX = 667680
__handler = 0
__exception_object = 0x0
#12 0x00000000009ef5aa in core.thread.Fiber.run() ()
No symbol table info available.
#13 0x00000000009ef32c in fiber_entryPoint ()
No symbol table info available.
#14 0x0000000000000000 in ?? ()
No symbol table info available.
A debugging session is active.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment