News:

Use the "Forum Search"
It may help you to find anything in the forum ;).

[BUG] The game crashes as soon as rotate the map and advance the time

Started by RESTRICTED ACCOUNT, September 30, 2020, 01:42:55 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

RESTRICTED ACCOUNT

Reproduction method:
(1) Open demo.sve.
(2) Rotate the map.
(3) Fast forward.

Rotating it twice will almost certainly cause a crash.

ceeac

For me, the crash occurs every time when rotating the map.
Backtace:

=================================================================
==59760==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000009 (pc 0x000000547c65 bp 0x7ffd265471b0 sp 0x7ffd26547190 T0)
==59760==The signal is caused by a READ memory access.
==59760==Hint: address points to the zero page.
    #0 0x547c65 in planquadrat_t::get_haltlist_count() const /home/ceeac/Projects/code/simutrans-ex/bauer/../descriptor/../display/../simplan.h:247:37
    #1 0x11bb063 in haltestelle_t::get_destination_halts_of_ware(ware_t&, vector_tpl<quickstone_tpl<haltestelle_t> >&) const /home/ceeac/Projects/code/simutrans-ex/simhalt.cc:2044:38
    #2 0x11b50e4 in haltestelle_t::find_route(ware_t&, unsigned int) const /home/ceeac/Projects/code/simutrans-ex/simhalt.cc:2254:2
    #3 0x11a9b20 in haltestelle_t::reroute_goods(unsigned char) /home/ceeac/Projects/code/simutrans-ex/simhalt.cc:1542:7
    #4 0x11854c7 in haltestelle_t::step() /home/ceeac/Projects/code/simutrans-ex/simhalt.cc:1270:3
    #5 0x1184ec2 in haltestelle_t::step_all() /home/ceeac/Projects/code/simutrans-ex/simhalt.cc:95:15
    #6 0x13770ad in karte_t::step() /home/ceeac/Projects/code/simutrans-ex/simworld.cc:5887:2
    #7 0x13b2b79 in karte_t::interactive(unsigned int) /home/ceeac/Projects/code/simutrans-ex/simworld.cc:10975:6
    #8 0x1229092 in simu_main(int, char**) /home/ceeac/Projects/code/simutrans-ex/simmain.cc:1396:9
    #9 0x13d6a7b in sysmain(int, char**) /home/ceeac/Projects/code/simutrans-ex/sys/simsys.cc:830:9
    #10 0x15722b1 in main /home/ceeac/Projects/code/simutrans-ex/sys/simsys_s2.cc:793:9
    #11 0x7f94eeb230b2 in __libc_start_main /build/glibc-ZN95T4/glibc-2.31/csu/../csu/libc-start.c:308:16
    #12 0x4329ed in _start (/media/ceeac/Projects/code/simutrans-ex/build/default/simutrans-extended+0x4329ed)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/ceeac/Projects/code/simutrans-ex/bauer/../descriptor/../display/../simplan.h:247:37 in planquadrat_t::get_haltlist_count() const
==59760==ABORTING


According to my investigations the target position of a good (ware_t::get_zielpos()) is either not rotated or rotated twice in some cases, resulting in an invalid target position. However, I have not yet found the actual source of the error.

jamespetts

Thank you for your report and for narrowing down the cause of this. I believe that I have now fixed this; I should be grateful if you could re-test with the next nightly build.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

RESTRICTED ACCOUNT

Thank you for fixing it.
Posting was delayed, but I think this bug has been fixed.