View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0004996 | Spring engine | Lua | public | 2015-11-14 02:19 | 2015-11-18 12:52 |
| Reporter | woutershep | Assigned To | abma | ||
| Priority | normal | Severity | crash | Reproducibility | always |
| Status | closed | Resolution | unable to reproduce | ||
| Product Version | 100.0 | ||||
| Target Version | 101.0 | ||||
| Summary | 0004996: Crash while loading LuaUI. | ||||
| Description | I was trying to package this software for the linux distribution Exherbo, a from source distribution sorta like gentoo. Whilst i managed to compile it and get all the things installed in the right places actually playing a game doesn't seem to work. The game starts properly into the main screen, but when pressing Test the Game it loads properly all the way up until Loading LuaUI and then it crashes. Ive tried to debug it myself but it seems to be outside of my ability to fully track down. There seems to be some weirdness with exceptions going on that i don't know how to track further in gdb. Sometimes it segfaults, sometimes it aborts, sometimes it reports on throwing a lua_longjmp*. I've compiled and debugged various spring builds with different -O values but i haven't noted down what i saw with which. But its always in LuaVFS::Include. | ||||
| Steps To Reproduce | Start spring. Press Test the Game. | ||||
| Additional Information | I think its important to note that exherbo uses a different filesystem layout than most and that this might be related. I had to give quite a lot arguments to cmake to make spring install everything into the right place and so that spring could properly find it itself. """ -DCMAKE_INSTALL_PREFIX=/usr -DBINDIR=$(exhost --target)/bin -DLIBDIR=$(exhost --target)/lib -DDATADIR=share/${PN} -DAI_LIBS_DIR=$(exhost --target)/lib/${PN} -DAI_DATA_DIR=share/${PN} -DPRD_BINDIR=/usr/$(exhost --target)/bin -DPRD_LIBDIR=/usr/$(exhost --target)/lib -DAPPLICATIONS_DIR=/usr/share/applications -DDOCDIR=/usr/share/doc/${PNVR} -DMANDIR=/usr/share/man -DMIME_DIR=/usr/share/mime -DPIXMAPS_DIR=/usr/share/pixmaps """ Where $(exhost --target) is something like x86_64-pc-linux-gnu. and ${PN} is spring. The following is a short synopsis of my attempt to debug: I strace'd it with -e trace=file which clearly showed that the crash was directly after checking for L10N/commands_fr.lua, which is done by cont/LuaUI/layout.lua. A backtrace (there is one at the end of the attachment) showed the problem was within the lua VFS stuff too. So with that in mind i zoned in on that specific part stepping over the lines, it can be seen in the attachment the code gets up to lua_error(L) (which is expected the way i understand it) and combined with this peice of information: """As you know, compiling Lua as C++ basically changes longjmp() in LUAI_THROW to throw; and setjmp() in LUAI_TRY to try {} catch() {}. This change is crucial as longjmp/setjmp basically do not call any destructors in C++ objects.""" in mind it can then be seen that it then unwinds the stack, destructing the three strings in the process. Just before it explodes with the SIGABRT. | ||||
| Tags | No tags attached. | ||||
| Attached Files | |||||
| Checked infolog.txt for Errors | |||||
|
|
I doubt you need to make spring a distro package, lobby clients download pre-built spring engines which i believe only need the non-standard libs SDL2 and OpenAL from distro. You find the current (100.0) pre-built engine here: http://springrts.com/dl/buildbot/default/master/100.0/ Instead try to package SpringLobby: https://github.com/springlobby/springlobby Since it is for a Linux distro you may want try flobby which also support the Zero-K game server: https://github.com/cleanrock/flobby |
|
|
does it work with LoadingMT = 0 ? you have manually set LoadingMT = 1, why? |
|
|
sorry, can't reproduce. without more info i don't see what could be fixed. if you can provide the info, please reopen this bug report |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2015-11-14 02:19 | woutershep | New Issue | |
| 2015-11-14 02:19 | woutershep | File Added: spring.gdb.txt | |
| 2015-11-15 08:08 | cleanrock | Note Added: 0015329 | |
| 2015-11-15 08:09 | cleanrock | Note Edited: 0015329 | |
| 2015-11-16 02:58 | abma | Note Added: 0015330 | |
| 2015-11-16 02:58 | abma | Assigned To | => abma |
| 2015-11-16 02:58 | abma | Status | new => feedback |
| 2015-11-16 02:59 | abma | Note Edited: 0015330 | |
| 2015-11-16 02:59 | abma | Target Version | => 101.0 |
| 2015-11-18 12:52 | abma | Note Added: 0015337 | |
| 2015-11-18 12:52 | abma | Status | feedback => closed |
| 2015-11-18 12:52 | abma | Resolution | open => unable to reproduce |