the latest devel version 2010-07-24 crashes when loading demo.sve of pak128.britain.
FATAL ERROR: loadsave_t::rdwr_str()
string longer (511) than allowed size (2)
Program received signal SIGABRT, Aborted.
0x00007ffff6c1ea75 in raise () from /lib/libc.so.6
(gdb) bt
#0 0x00007ffff6c1ea75 in raise () from /lib/libc.so.6
#1 0x00007ffff6c225c0 in abort () from /lib/libc.so.6
#2 0x000000000063febe in log_t::fatal (this=0xa7d390,
who=0x678ddb "loadsave_t::rdwr_str()",
format=0x678ed8 "string longer (%i) than allowed size (%i)")
at utils/log.cc:242
#3 0x0000000000467648 in loadsave_t::rdwr_str (this=0x7fffffffbbb0,
s=0x7fffffffb1f0 "~", size=2) at dataobj/loadsave.cc:732
#4 0x000000000048704e in leitung_t::rdwr (this=0x7fffea880730,
file=0x7fffffffbbb0) at dings/leitung2.cc:447
#5 0x000000000048720d in pumpe_t (this=0x7fffea880730, welt=0x7fffea58d480,
file=0x7fffffffbbb0) at dings/leitung2.cc:476
#6 0x0000000000456893 in dingliste_t::rdwr (this=0x7fffea873490,
welt=0x7fffea58d480, file=0x7fffffffbbb0, current_pos=...)
at dataobj/dingliste.cc:762
#7 0x0000000000446318 in grund_t::rdwr (this=0x7fffea873488,
file=0x7fffffffbbb0) at boden/grund.cc:367
#8 0x00000000005f7279 in boden_t (this=0x7fffea873488, welt=0x7fffea58d480,
file=0x7fffffffbbb0, pos=...) at boden/boden.h:27
#9 0x00000000005f5b6b in planquadrat_t::rdwr (this=0x7fffea5d9f18,
welt=0x7fffea58d480, file=0x7fffffffbbb0, pos=...) at simplan.cc:249
#10 0x000000000062ee0e in karte_t::laden (this=0x7fffea58d480,
file=0x7fffffffbbb0) at simworld.cc:4549
#11 0x000000000062de04 in karte_t::laden (this=0x7fffea58d480,
filename=0x7fffe8882ad8 "/home/gschenk/simuexp/pak128.britain-ex/demo.sve")
at simworld.cc:4346
#12 0x00000000005e8592 in simu_main (argc=1, argv=0x7fffffffe2d8)
at simmain.cc:867
#13 0x000000000066e916 in main (argc=1, argv=0x7fffffffe2d8) at simsys_s.cc:749
without demo.sve it still crashes: <== resolved
Program received signal SIGSEGV, Segmentation fault.
0x000000000042d29c in karte_t::ist_in_gittergrenzen (this=0x0, x=1, y=1)
at bauer/../simworld.h:813
813 return (x|y|(cached_groesse_gitter_x-x)|(cached_groesse_gitter_y-y))>=0;
(gdb) bt
#0 0x000000000042d29c in karte_t::ist_in_gittergrenzen (this=0x0, x=1, y=1)
at bauer/../simworld.h:813
#1 0x000000000042d374 in karte_t::lookup_hgt (this=0x0, k=...)
at bauer/../simworld.h:1057
#2 0x000000000059fb76 in stadt_t::random_place (wl=0x42662f0,
sizes_list=0x4134ad0, old_x=0, old_y=0) at simcity.cc:4295
#3 0x000000000061d3d9 in karte_t::distribute_groundobjs_cities (
this=0x42662f0, sets=0x42636b0, old_x=0, old_y=0) at simworld.cc:857
#4 0x0000000000620ee6 in karte_t::enlarge_map (this=0x42662f0,
sets=0x42636b0, h_field=0x0) at simworld.cc:1558
#5 0x000000000061f5b9 in karte_t::init (this=0x42662f0, sets=0x7fffffffc730,
h_field=0x0) at simworld.cc:1270
#6 0x00000000005e8724 in simu_main (argc=1, argv=0x7fffffffe2d8)
at simmain.cc:888
#7 0x000000000066e916 in main (argc=1, argv=0x7fffffffe2d8) at simsys_s.cc:749
tested on linux 64 with gcc 4.4.3
there were several changes in loadsave calls in the merge from standard. e.g.:
-senke_t::senke_t(karte_t *welt, loadsave_t *file) : leitung_t(welt , file)
577
+senke_t::senke_t(karte_t *welt, loadsave_t *file) : leitung_t( welt, koord3d::invalid, NULL )
maybe they're to blame for the first crash?