*** tpb has joined #freeorion | 00:00 | |
*** artienne has joined #freeorion | 03:04 | |
* artienne looks around | 03:04 | |
artienne | hey guys, just wondering if i could ask a question about a technical issue regarding getting freeorion to work (properly) | 03:05 |
---|---|---|
artienne | and yes, while i can read the topic, i'm not gonna register yet another account on yet another forum for a game that i'm just trying to get working to see if i enjoy | 03:10 |
*** Ci-Dev___ has joined #freeorion | 03:46 | |
*** Ci-Dev__ has quit IRC | 03:49 | |
O01eg | artienne, You could ask it here. And maybe someone'll answer it. | 03:58 |
artienne | O01eg: sounds fair :) | 04:13 |
artienne | so, system background - slackware 14.2 x64, kernel 4.4 series stable, dependencies for building freeorion met, clang/llvm used to build freeorion | 04:15 |
artienne | build seems successful (i'm no expert, but i didn't really see anything that stood out as errors) | 04:16 |
artienne | problem is that when i start the game, if i load a singleplayer game with any number of AI players, the game drops back to the main menu with a 'disconnected from server' message | 04:17 |
artienne | the logs only seem to state that 'connection disconnected by EOF from server' | 04:17 |
artienne | if i start a game the same way, with 0 AI players, the game works fine (and i win immediately - yay me) | 04:18 |
O01eg | What in ~/.local/share/freeorion/freeoriond.log and AI logs? | 04:18 |
artienne | honestly, didn't check the AI logs, but the freeoriond log just ends after 'SaveLoad.cpp:188 : Reserving Capacity:: 536870912' | 04:20 |
O01eg | Did you get in system log about segfaults? | 04:21 |
artienne | nope, no mention of segfaults that i've seen, but i've not grepped the logs for the term | 04:21 |
artienne | just fgrep'd for segfault, nothing returned | 04:22 |
artienne | in the freeorion*.log, that is | 04:23 |
artienne | lemme check the ai logs | 04:23 |
artienne | just created a fresh log (AI_1.log), no mention of segfault in in | 04:26 |
O01eg | I don't mean the game's logs. Linux also writes about segfaults into system log. | 04:28 |
artienne | if i turn off all autosaving, i can start the game with any number of AI, but the second i try to save it bombs back to the main menu | 04:28 |
artienne | well, i'll check them too | 04:28 |
O01eg | Looks like you gets segfault on saving. | 04:29 |
artienne | ahhah - /var/log/messages has a bunch of segfaults, all relating to libfreeorioncommon.so[7fdbc631c000+8b9000] | 04:30 |
O01eg | Do you have an addr2line installed? | 04:31 |
artienne | i do seem to have addr2line, yes | 04:32 |
O01eg | could you launch `addr2line -e path/to/libfreeorioncommon.so 0x7fdbc631c000` ? | 04:33 |
artienne | will do.. | 04:34 |
artienne | output is '??:0' | 04:36 |
artienne | oh, i should point out that i built the most recent stable build (0.4.8?), downloaded from github in tar.gz format | 04:38 |
artienne | though i had a similar issue with 0.4.7.1 with the same symptoms - i didn't check for segfaults on that one though :/ | 04:39 |
O01eg | do you have a ip value in syslog message about segfault? | 04:43 |
artienne | i sure do - it's 'ip 00007fdbc64dea57' | 04:44 |
O01eg | addr2line -e path/to/libfreeorioncommon.so 0x6f65a9 ? | 04:46 |
artienne | same as before, '??:0' | 04:47 |
O01eg | What about without 0x `addr2line -e path/to/libfreeorioncommon.so 6f65a9` ? | 04:47 |
artienne | same again | 04:48 |
O01eg | Do you have a debug symbols stripped? | 04:48 |
artienne | i have no idea, sorry - any way i can tell? | 04:49 |
O01eg | `file path/to/libfreeorioncommon.so` should show this | 04:50 |
artienne | yeah, it does end with 'stripped' | 04:51 |
O01eg | Could you rebuild it without stripping? | 04:51 |
artienne | i can certainly try :) | 04:51 |
O01eg | It's better to use RelWithDebInfo in cmake instead of Release | 04:52 |
artienne | would that automatically ensure it's not stripping the debug symbols? (i'm not particularly savvy with compiling stuff) | 04:56 |
artienne | i'm looking at ccmake . and have set the build_type flag to RelWithDebInfo | 04:58 |
artienne | just wanna make sure i'm doing it right so i'm not wasting our time here :) | 04:58 |
O01eg | RelWithDebInfo should leaves symbols untouched | 05:01 |
artienne | sweet - building starting now then :) | 05:01 |
O01eg | Do you build it by youself or use some package manager? | 05:02 |
artienne | first time i built it, 0.4.7.1, was through a build script available from slackbuilds.org. I tried after that to build directly from source (0.4.8) but found the hard way that doing so without specifying clang be used instead of gcc that it creates a binary that immediately segfaults when running freeorion - after that i tried modifying the build script for the older version to run on the 0.4.8 | 05:06 |
artienne | builds, which is, ultimately, where we're at now | 05:06 |
artienne | i vaguely remember one of the builds during the whole process involved me exporting C and CXX variables to point to clang, but still had issues | 05:08 |
artienne | i've spent a good few days, on and off, picking away at this, in between digging around online for any similar problems - it seems freeorion just works for everyone else :P | 05:09 |
artienne | and we've just made it to 50% in the build process | 05:10 |
artienne | ahh bugger.. i just realised this is probably gonna build it with gcc :/ | 05:11 |
artienne | well, it's nearly two thirds done, i may as well let it finish.. | 05:13 |
O01eg | Do you have boost built with gcc and freeorion built with clang? | 05:19 |
artienne | honestly, i don't know how boost was built - my guess would be gcc, but i don't know how to find out | 05:21 |
artienne | it's installed with the full slackware 14.2 install, i think - i'm sure i've not downloaded and built it myself, at the very least | 05:23 |
artienne | hmm.. build process seems to have frozen .. | 05:24 |
artienne | bother.. i'll have to kill it and restart the build.. | 05:29 |
Sector | killall -9 artienne | 05:31 |
O01eg | artienne, I think it's a cause of segfault you have boost built with gcc and freeorion built with clang. They don't have ideal compatibility in C++ABI | 05:34 |
artienne | ahh.. so, the best (only?) solution would be to build boost with clang and then build freeorion with that version of boost | 05:38 |
artienne | which is likely to cause it's own set of issues | 05:39 |
O01eg | It will break other programs depends on boost. What if you try to build freeorion with gcc? | 05:39 |
artienne | well, i'll give it another go with gcc - in all honesty, i can't remember which version of freeorion i tried to build with gcc last time | 05:40 |
artienne | one more build attempt isn't gonna hurt :) | 05:40 |
artienne | ok, attempting to run the gcc built 0.4.8 in a terminal immediately spits out Segmentation fault and spits me back to the command line, and /var/log/message reports freeorion[30387]: segfault at ffffffffffffffe8 ip 000000000062e58c sp 00007ffff21aa040 | 05:56 |
artienne | error 5 in freeorion[400000+638000] | 05:56 |
artienne | $ addr2line -e /media/odin/data/build/freeorion-0.4.8/src-tarball/build/freeorion 0x400000 | 06:01 |
artienne | ??:0 | 06:01 |
artienne | $ addr2line -e /media/odin/data/build/freeorion-0.4.8/src-tarball/build/freeorion 0x62e58c | 06:01 |
artienne | /usr/include/c++/5.5.0/bits/functional_hash.h:131 | 06:01 |
O01eg | It's strange | 06:01 |
O01eg | Could you run from gdb? | 06:01 |
artienne | i can certainly try | 06:01 |
artienne | btw, i'm also a complete gdb noob :) however, the output is: | 06:05 |
artienne | std::hash<std::string>::operator() ( | 06:05 |
artienne | this=0x7ffff4737560 <(anonymous namespace)::StaticTagHandler()::tag_handler>, __s=...) at | 06:05 |
artienne | /usr/include/c++/5.5.0/bits/basic_string.h:5590 | 06:05 |
artienne | 5590 { return std::_Hash_impl::hash(__s.data(), __s.length()); | 06:05 |
artienne | } | 06:05 |
artienne | that's just gdb ./freeorion, followed by run, and that's the output after complaining about sigsegv | 06:08 |
artienne | that's all greek to me.. | 06:09 |
O01eg | s could be null | 06:10 |
O01eg | What outputs on `p s` ? | 06:10 |
artienne | in gdb? | 06:11 |
artienne | (gdb) p s | 06:12 |
artienne | No symbol "s" in current context. | 06:12 |
artienne | hey guys, i hate to do this, because i feel like i might actually be providing something useful here, but i've gotta run off for about an hour or two in a few minutes | 06:13 |
artienne | i'm happy to stay connected here though | 06:14 |
artienne | i don't have to bail just yet, but i can only hang around for about 20 minutes or so | 06:16 |
artienne | in fact, i might just get a fresh build going while i'm gone, just in case i did something stupid with the current build settings with ccmake | 06:25 |
artienne | well, that's going with minimal messing around with ccmake, just setting the RelWithDebInfo and making | 06:29 |
artienne | alright, that's about my time up just now - as i said, i'll be back in about an hour, maybe two, and hopefully we can continue where we left off | 06:33 |
artienne | thanks for all the help so far O01eg :D | 06:34 |
*** adrian_broher has quit IRC | 07:25 | |
*** adrian_broher has joined #freeorion | 07:38 | |
*** kornbluth.freenode.net sets mode: +o adrian_broher | 07:38 | |
*** adrian_broher has quit IRC | 08:19 | |
artienne | ok, so, i just tested the fresh build in gdb and got the same output as the previous attempt | 08:20 |
artienne | oh, and i'm back (just in case you couldn't tell :P) | 08:21 |
* artienne keeps busy by cleaning up old build attempts.. | 08:26 | |
*** adrian_broher has joined #freeorion | 08:32 | |
*** kornbluth.freenode.net sets mode: +o adrian_broher | 08:32 | |
artienne | .. and, as an aside, it's fun to see that the ol' netsplits still happen | 08:32 |
*** adrian_broher has quit IRC | 08:57 | |
*** adrian_broher has joined #freeorion | 09:10 | |
*** kornbluth.freenode.net sets mode: +o adrian_broher | 09:10 | |
artienne | hmm.. well, that's interesting - i've just tried to recompile with ccache disabled, and the build process seems to have stopped at the same point it did last time, which just so happens to be shortly after the 'build target libfreeorioncommon' section | 09:28 |
artienne | currently sitting on Building CXX object CMakeFiles/freeorionparseobj.dir/parse/VisibilityValueRefParser.cpp.o | 09:29 |
artienne | ok, interupted that and starting again, no ccache and single core | 09:40 |
artienne | ok, looks like the same deal | 10:41 |
artienne | build 'succeeded', in that it appears to complete, but running immediately causes a segfault | 10:42 |
artienne | gdb -- ./freeorion, followed by run gives the same output as last time, ie: | 10:45 |
artienne | Program received signal SIGSEGV, Segmentation fault. | 10:45 |
artienne | std::hash<std::string>::operator() ( | 10:45 |
artienne | this=0x7ffff4737560 <(anonymous namespace)::StaticTagHandler()::tag_handler>, __s=...) at | 10:45 |
artienne | /usr/include/c++/5.5.0/bits/basic_string.h:55905590 { return std::_Hash_impl::hash(__s.data(), __s.length()); | 10:45 |
artienne | } | 10:45 |
artienne | (gdb) p s | 10:45 |
artienne | No symbol "s" in current context. | 10:45 |
artienne | and the addr2line output is the same as before as well | 10:51 |
*** artienne has quit IRC | 13:15 | |
*** JLP has quit IRC | 14:24 | |
*** JLP has joined #freeorion | 15:51 | |
*** JLP has joined #freeorion | 15:51 | |
rah | the variable is __s rather than s | 20:19 |
rah | was.. | 20:19 |
*** O01eg has quit IRC | 21:15 | |
*** O01eg has joined #freeorion | 21:25 |
Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!