Wednesday, 2018-10-03

*** tpb has joined #freeorion00:00
*** artienne has joined #freeorion03:04
* artienne looks around03:04
artiennehey guys, just wondering if i could ask a question about a technical issue regarding getting freeorion to work (properly)03:05
artienneand 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 enjoy03:10
*** Ci-Dev___ has joined #freeorion03:46
*** Ci-Dev__ has quit IRC03:49
O01egartienne, You could ask it here. And maybe someone'll answer it.03:58
artienneO01eg: sounds fair :)04:13
artienneso, system background - slackware 14.2 x64, kernel 4.4 series stable, dependencies for building freeorion met, clang/llvm used to build freeorion04:15
artiennebuild seems successful (i'm no expert, but i didn't really see anything that stood out as errors)04:16
artienneproblem 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' message04:17
artiennethe logs only seem to state that 'connection disconnected by EOF from server'04:17
artienneif i start a game the same way, with 0 AI players, the game works fine (and i win immediately - yay me)04:18
O01egWhat in ~/.local/share/freeorion/freeoriond.log and AI logs?04:18
artiennehonestly, didn't check the AI logs, but the freeoriond log just ends after 'SaveLoad.cpp:188 : Reserving Capacity:: 536870912'04:20
O01egDid you get in system log about segfaults?04:21
artiennenope, no mention of segfaults that i've seen, but i've not grepped the logs for the term04:21
artiennejust fgrep'd for segfault, nothing returned04:22
artiennein the freeorion*.log, that is04:23
artiennelemme check the ai logs04:23
artiennejust created a fresh log (AI_1.log), no mention of segfault in in04:26
O01egI don't mean the game's logs. Linux also writes about segfaults into system log.04:28
artienneif 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 menu04:28
artiennewell, i'll check them too04:28
O01egLooks like you gets segfault on saving.04:29
artienneahhah - /var/log/messages has a bunch of segfaults, all relating to libfreeorioncommon.so[7fdbc631c000+8b9000]04:30
O01egDo you have an addr2line installed?04:31
artiennei do seem to have addr2line, yes04:32
O01egcould you launch `addr2line -e path/to/libfreeorioncommon.so 0x7fdbc631c000` ?04:33
artiennewill do..04:34
artienneoutput is '??:0'04:36
artienneoh, i should point out that i built the most recent stable build (0.4.8?), downloaded from github in tar.gz format04:38
artiennethough 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
O01egdo you have a ip value in syslog message about segfault?04:43
artiennei sure do - it's 'ip 00007fdbc64dea57'04:44
O01egaddr2line -e path/to/libfreeorioncommon.so 0x6f65a9 ?04:46
artiennesame as before, '??:0'04:47
O01egWhat about without 0x `addr2line -e path/to/libfreeorioncommon.so 6f65a9` ?04:47
artiennesame again04:48
O01egDo you have a debug symbols stripped?04:48
artiennei have no idea, sorry - any way i can tell?04:49
O01eg`file path/to/libfreeorioncommon.so` should show this04:50
artienneyeah, it does end with 'stripped'04:51
O01egCould you rebuild it without stripping?04:51
artiennei can certainly try :)04:51
O01egIt's better to use RelWithDebInfo in cmake instead of Release04:52
artiennewould that automatically ensure it's not stripping the debug symbols? (i'm not particularly savvy with compiling stuff)04:56
artiennei'm looking at ccmake . and have set the build_type flag to RelWithDebInfo04:58
artiennejust wanna make sure i'm doing it right so i'm not wasting our time here :)04:58
O01egRelWithDebInfo should leaves symbols untouched05:01
artiennesweet - building starting now then :)05:01
O01egDo you build it by youself or use some package manager?05:02
artiennefirst 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.805:06
artiennebuilds, which is, ultimately, where we're at now05:06
artiennei vaguely remember one of the builds during the whole process involved me exporting C and CXX variables to point to clang, but still had issues05:08
artiennei'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 :P05:09
artienneand we've just made it to 50% in the build process05:10
artienneahh bugger.. i just realised this is probably gonna build it with gcc :/05:11
artiennewell, it's nearly two thirds done, i may as well let it finish..05:13
O01egDo you have boost built with gcc and freeorion built with clang?05:19
artiennehonestly, i don't know how boost was built - my guess would be gcc, but i don't know how to find out05:21
artienneit'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 least05:23
artiennehmm.. build process seems to have frozen ..05:24
artiennebother.. i'll have to kill it and restart the build..05:29
Sectorkillall -9 artienne05:31
O01egartienne, 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++ABI05:34
artienneahh.. so, the best (only?) solution would be to build boost with clang and then build freeorion with that version of boost05:38
artiennewhich is likely to cause it's own set of issues05:39
O01egIt will break other programs depends on boost. What if you try to build freeorion with gcc?05:39
artiennewell, 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 time05:40
artienneone more build attempt isn't gonna hurt :)05:40
artienneok, 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 00007ffff21aa04005:56
artienneerror 5 in freeorion[400000+638000]05:56
artienne$ addr2line -e /media/odin/data/build/freeorion-0.4.8/src-tarball/build/freeorion 0x40000006:01
artienne??:006:01
artienne$ addr2line -e /media/odin/data/build/freeorion-0.4.8/src-tarball/build/freeorion 0x62e58c06:01
artienne/usr/include/c++/5.5.0/bits/functional_hash.h:13106:01
O01egIt's strange06:01
O01egCould you run from gdb?06:01
artiennei can certainly try06:01
artiennebtw, i'm also a complete gdb noob :) however, the output is:06:05
artiennestd::hash<std::string>::operator() (06:05
artienne    this=0x7ffff4737560 <(anonymous namespace)::StaticTagHandler()::tag_handler>, __s=...) at06:05
artienne/usr/include/c++/5.5.0/bits/basic_string.h:559006:05
artienne5590          { return std::_Hash_impl::hash(__s.data(), __s.length());06:05
artienne}06:05
artiennethat's just gdb ./freeorion, followed by run, and that's the output after complaining about sigsegv06:08
artiennethat's all greek to me..06:09
O01egs could be null06:10
O01egWhat outputs on `p s` ?06:10
artiennein gdb?06:11
artienne(gdb) p s06:12
artienneNo symbol "s" in current context.06:12
artiennehey 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 minutes06:13
artiennei'm happy to stay connected here though06:14
artiennei don't have to bail just yet, but i can only hang around for about 20 minutes or so06:16
artiennein 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 ccmake06:25
artiennewell, that's going with minimal messing around with ccmake, just setting the RelWithDebInfo and making06:29
artiennealright, 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 off06:33
artiennethanks for all the help so far O01eg :D06:34
*** adrian_broher has quit IRC07:25
*** adrian_broher has joined #freeorion07:38
*** kornbluth.freenode.net sets mode: +o adrian_broher07:38
*** adrian_broher has quit IRC08:19
artienneok, so, i just tested the fresh build in gdb and got the same output as the previous attempt08:20
artienneoh, 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 #freeorion08:32
*** kornbluth.freenode.net sets mode: +o adrian_broher08:32
artienne.. and, as an aside, it's fun to see that the ol' netsplits still happen08:32
*** adrian_broher has quit IRC08:57
*** adrian_broher has joined #freeorion09:10
*** kornbluth.freenode.net sets mode: +o adrian_broher09:10
artiennehmm.. 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' section09:28
artiennecurrently sitting on Building CXX object CMakeFiles/freeorionparseobj.dir/parse/VisibilityValueRefParser.cpp.o09:29
artienneok, interupted that and starting again, no ccache and single core09:40
artienneok, looks like the same deal10:41
artiennebuild 'succeeded', in that it appears to complete, but running immediately causes a segfault10:42
artiennegdb -- ./freeorion, followed by run gives the same output as last time, ie:10:45
artienneProgram received signal SIGSEGV, Segmentation fault.10:45
artiennestd::hash<std::string>::operator() (10:45
artienne    this=0x7ffff4737560 <(anonymous namespace)::StaticTagHandler()::tag_handler>, __s=...) at10: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 s10:45
artienneNo symbol "s" in current context.10:45
artienneand the addr2line output is the same as before as well10:51
*** artienne has quit IRC13:15
*** JLP has quit IRC14:24
*** JLP has joined #freeorion15:51
*** JLP has joined #freeorion15:51
rahthe variable is __s rather than s20:19
rahwas..20:19
*** O01eg has quit IRC21:15
*** O01eg has joined #freeorion21:25

Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!