News:

Do you need help?
Simutrans Wiki Manual can help you to play and extend Simutrans. In 9 languages.

[r7248] Terraformed powerlines causes crash on delete

Started by Spacethingy, June 11, 2014, 09:39:17 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Spacethingy

Hi guys!


While playing with powerlines I got a CTD, here's a reproducing method (using terraform tools). Note the weird point where the tile's slope can be rotated with the powerline still on top; this happens with other ways too.







Now delete one half of the network. CTD occurs on deleting last powerline tile of the half.

I got this in the terminal, don't know if it helps!


*** Error in `/home/agough/simutrans/sim-gcc3': double free or corruption (!prev): 0x0a6db7b8 ***
======= Backtrace: =========
/lib/i386-linux-gnu/libc.so.6(+0x767c2)[0xb73387c2]
/lib/i386-linux-gnu/libc.so.6(+0x77510)[0xb7339510]
/usr/lib/i386-linux-gnu/libstdc++.so.6(_ZdlPv+0x1f)[0xb751fa3f]
/home/agough/simutrans/sim-gcc3[0x80d7226]
/home/agough/simutrans/sim-gcc3[0x832d3c3]
/home/agough/simutrans/sim-gcc3[0x832e1c9]
/home/agough/simutrans/sim-gcc3[0x830efd5]
/home/agough/simutrans/sim-gcc3[0x830f6a4]
/home/agough/simutrans/sim-gcc3[0x830f740]
/home/agough/simutrans/sim-gcc3[0x83682c7]
/home/agough/simutrans/sim-gcc3[0x8319b93]
/home/agough/simutrans/sim-gcc3[0x8329ea2]
/home/agough/simutrans/sim-gcc3[0x838daf6]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0xb72db905]
/home/agough/simutrans/sim-gcc3[0x804bb81]
======= Memory map: ========
08048000-083da000 r-xp 00000000 08:03 1050378    /home/agough/simutrans/sim-gcc3
083da000-08439000 r--p 00392000 08:03 1050378    /home/agough/simutrans/sim-gcc3
08439000-0843d000 rw-p 003f1000 08:03 1050378    /home/agough/simutrans/sim-gcc3
0843d000-084f8000 rw-p 00000000 00:00 0
09050000-0a799000 rw-p 00000000 00:00 0          [heap]
abf6b000-ac319000 rw-s 00000000 00:04 8749062    /SYSV00000000 (deleted)
ac319000-ac31a000 ---p 00000000 00:00 0
ac31a000-acb1a000 rw-p 00000000 00:00 0          [stack:2559]
acb1a000-acb1b000 ---p 00000000 00:00 0
acb1b000-ad31b000 rw-p 00000000 00:00 0          [stack:2558]
ad31b000-ad31c000 ---p 00000000 00:00 0
ad31c000-af200000 rw-p 00000000 00:00 0          [stack:2557]
af200000-af239000 rw-p 00000000 00:00 0
af239000-af300000 ---p 00000000 00:00 0
af371000-af372000 ---p 00000000 00:00 0
af372000-afb72000 rw-p 00000000 00:00 0          [stack:2556]
afb72000-afb73000 ---p 00000000 00:00 0
afb73000-b0373000 rw-p 00000000 00:00 0          [stack:2555]
b0373000-b0374000 ---p 00000000 00:00 0
b0374000-b0b74000 rw-p 00000000 00:00 0          [stack:2554]
b0b74000-b0c4c000 rw-p 00000000 00:00 0
b0d00000-b0d81000 rw-p 00000000 00:00 0
b0d81000-b0e00000 ---p 00000000 00:00 0
b0ec1000-b0efe000 rw-p 00000000 00:00 0
b0efe000-b0eff000 ---p 00000000 00:00 0
b0eff000-b16ff000 rw-p 00000000 00:00 0          [stack:2553]
b16ff000-b5700000 rw-s 00000000 00:13 91606      /run/shm/pulse-shm-3090824002
b5700000-b5744000 rw-p 00000000 00:00 0
b5744000-b5800000 ---p 00000000 00:00 0
b5808000-b5894000 rw-p 00000000 00:00 0
b58ff000-b5ad6000 rw-p 00000000 00:00 0
b5ad6000-b5ad7000 ---p 00000000 00:00 0
b5ad7000-b62d7000 rw-p 00000000 00:00 0          [stack:2551]
b62d7000-b632e000 rw-p 00000000 00:00 0
b634d000-b63d0000 rw-p 00000000 00:00 0
b63d0000-b63d9000 r-xp 00000000 08:03 267044     /usr/lib/i386-linux-gnu/libXrender.so.1.3.0
b63d9000-b63da000 r--p 00008000 08:03 267044     /usr/lib/i386-linux-gnu/libXrender.so.1.3.0
b63da000-b63db000 rw-p 00009000 08:03 267044     /usr/lib/i386-linux-gnu/libXrender.so.1.3.0
b63eb000-b63f2000 r--s 00000000 08:03 268308     /usr/lib/i386-linux-gnu/gconv/gconv-modules.cache
b63f2000-b6523000 r--p 001ca000 08:03 269097     /usr/lib/locale/locale-archive
b6523000-b6723000 r--p 00000000 08:03 269097     /usr/lib/locale/locale-archive
b6723000-b6727000 rw-p 00000000 00:00 0
b6727000-b673a000 r-xp 00000000 08:03 525496     /lib/i386-linux-gnu/libresolv-2.17.so
b673a000-b673b000 r--p 00013000 08:03 525496     /lib/i386-linux-gnu/libresolv-2.17.so
b673b000-b673c000 rw-p 00014000 08:03 525496     /lib/i386-linux-gnu/libresolv-2.17.so
b673c000-b673f000 rw-p 00000000 00:00 0
b673f000-b6754000 r-xp 00000000 08:03 525445     /lib/i386-linux-gnu/libnsl-2.17.so
b6754000-b6755000 r--p 00014000 08:03 525445     /lib/i386-linux-gnu/libnsl-2.17.so
b6755000-b6756000 rw-p 00015000 08:03 525445     /lib/i386-linux-gnu/libnsl-2.17.so
b6756000-b6758000 rw-p 00000000 00:00 0
b6758000-b68be000 r-xp 00000000 08:03 267783     /usr/lib/i386-linux-gnu/libvorbisenc.so.2.0.8
b68be000-b68cf000 r--p 00165000 08:03 267783     /usr/lib/i386-linux-gnu/libvorbisenc.so.2.0.8
b68cf000-b68d0000 rw-p 00176000 08:03 267783     /usr/lib/i386-linux-gnu/libvorbisenc.so.2.0.8
b68d0000-b690f000 r-xp 00000000 08:03 525473     /lib/i386-linux-gnu/libpcre.so.3.13.1
b690f000-b6910000 r--p 0003f000 08:03 525473     /lib/i386-linux-gnu/libpcre.so.3.13.1
b6910000-b6911000 rw-p 00040000 08:03 525473     /lib/i386-linux-gnu/libpcre.so.3.13.1
b6911000-b6916000 r-xp 00000000 08:03 267020     /usr/lib/i386-linux-gnu/libXdmcp.so.6.0.0
b6916000-b6917000 r--p 00004000 08:03 267020     /usr/lib/i386-linux-gnu/libXdmcp.so.6.0.0
b6917000-b6918000 rw-p 00005000 08:03 267020     /usr/lib/i386-linux-gnu/libXdmcp.so.6.0.0
b6918000-b691a000 r-xp 00000000 08:03 267009     /usr/lib/i386-linux-gnu/libXau.so.6.0.0
b691a000-b691b000 r--p 00001000 08:03 267009     /usr/lib/i386-linux-gnu/libXau.so.6.0.0
b691b000-b691c000 rw-p 00002000 08:03 267009     /usr/lib/i386-linux-gnu/libXau.so.6.0.0
b691c000-b691d000 rw-p 00000000 00:00 0
b691d000-b6922000 r-xp 00000000 08:03 267079     /usr/lib/i386-linux-gnu/libasyncns.so.0.3.1
b6922000-b6923000 r--p 00004000 08:03 267079     /usr/lib/i386-linux-gnu/libasyncns.so.0.3.1
b6923000-b6924000 rw-p 00005000 08:03 267079     /usr/lib/i386-linux-gnu/libasyncns.so.0.3.1
b6924000-b692c000 r-xp 00000000 08:03 525528     /lib/i386-linux-gnu/libwrap.so.0.7.6
b692c000-b692d000 r--p 00007000 08:03 525528     /lib/i386-linux-gnu/libwrap.so.0.7.6
b692d000-b692e000 rw-p 00008000 08:03 525528     /lib/i386-linux-gnu/libwrap.so.0.7.6
b692e000-b6935000 r-xp 00000000 08:03 267595     /usr/lib/i386-linux-gnu/libogg.so.0.8.1
b6935000-b6936000 r--p 00006000 08:03 267595     /usr/lib/i386-linux-gnu/libogg.so.0.8.1
b6936000-b6937000 rw-p 00007000 08:03 267595     /usr/lib/i386-linux-gnu/libogg.so.0.8.1
b6937000-b6960000 r-xp 00000000 08:03 267781     /usr/lib/i386-linux-gnu/libvorbis.so.0.4.5
b6960000-b6961000 ---p 00029000 08:03 267781     /usr/lib/i386-linux-gnu/libvorbis.so.0.4.5
b6961000-b6962000 r--p 00029000 08:03 267781     /usr/lib/i386-linux-gnu/libvorbis.so.0.4.5
b6962000-b6963000 rw-p 0002a000 08:03 267781     /usr/lib/i386-linux-gnu/libvorbis.so.0.4.5
b6963000-b6998000 r-xp 00000000 08:03 525495     /lib/i386-linux-gnu/libreadline.so.6.2
b6998000-b6999000 r--p 00035000 08:03 525495     /lib/i386-linux-gnu/libreadline.so.6.2
b6999000-b699c000 rw-p 00036000 08:03 525495     /lib/i386-linux-gnu/libreadline.so.6.2
b699c000-b699e000 rw-p 00000000 00:00 0
b699e000-b6a09000 r-xp 00000000 08:03 267701     /usr/lib/i386-linux-gnu/libsndfile.so.1.0.25
b6a09000-b6a0a000 ---p 0006b000 08:03 267701     /usr/lib/i386-linux-gnu/libsndfile.so.1.0.25
b6a0a000-b6a0b000 r--p 0006b000 08:03 267701     /usr/lib/i386-linux-gnu/libsndfile.so.1.0.25
b6a0b000-b6a0c000 rw-p 0006c000 08:03 267701     /usr/lib/i386-linux-gnu/libsndfile.so.1.0.25
b6a0c000-b6a10000 rw-p 00000000 00:00 0
b6a10000-b6a5f000 r-xp 00000000 08:03 267509     /usr/lib/i386-linux-gnu/libjack.so.0.1.0
b6a5f000-b6a61000 r--p 0004e000 08:03 267509     /usr/lib/i386-linux-gnu/libjack.so.0.1.0
b6a61000-b6a62000 rw-p 00050000 08:03 267509     /usr/lib/i386-linux-gnu/libjack.so.0.1.0
b6a62000-b6b64000 r-xp 00000000 08:03 525515     /lib/i386-linux-gnu/libglib-2.0.so.0.3800.1
b6b64000-b6b65000 r--p 00101000 08:03 525515     /lib/i386-linux-gnu/libglib-2.0.so.0.3800.1
b6b65000-b6b66000 rw-p 00102000 08:03 525515     /lib/i386-linux-gnu/libglib-2.0.so.0.3800.1
b6b66000-b6b84000 r-xp 00000000 08:03 525514     /lib/i386-linux-gnu/libtinfo.so.5.9
b6b84000-b6b85000 ---p 0001e000 08:03 525514     /lib/i386-linux-gnu/libtinfo.so.5.9
b6b85000-b6b87000 r--p 0001e000 08:03 525514     /lib/i386-linux-gnu/libtinfo.so.5.9
b6b87000-b6b88000 rw-p 00020000 08:03 525514     /lib/i386-linux-gnu/libtinfo.so.5.9
b6b88000-b6bbd000 r-xp 00000000 08:03 525434     /lib/i386-linux-gnu/libncursesw.so.5.9
b6bbd000-b6bbe000 r--p 00034000 08:03 525434     /lib/i386-linux-gnu/libncursesw.so.5.9
b6bbe000-b6bbf000 rw-p 00035000 08:03 525434     /lib/i386-linux-gnu/libncursesw.so.5.9
b6bbf000-b6bc0000 rw-p 00000000 00:00 0
b6bc0000-b6ca4000 r-xp 00000000 08:03 525503     /lib/i386-linux-gnu/libslang.so.2.2.4
b6ca4000-b6ca6000 r--p 000e3000 08:03 525503     /lib/i386-linux-gnu/libslang.so.2.2.4
b6ca6000-b6cb4000 rw-p 000e5000 08:03 525503     /lib/i386-linux-gnu/libslang.so.2.2.4
b6cb4000-b6cef000 rw-p 00000000 00:00 0
b6cef000-b6d0e000 r-xp 00000000 08:03 267825     /usr/lib/i386-linux-gnu/libxcb.so.1.1.0
b6d0e000-b6d0f000 r--p 0001f000 08:03 267825     /usr/lib/i386-linux-gnu/libxcb.so.1.1.0
b6d0f000-b6d10000 rw-p 00020000 08:03 267825     /usr/lib/i386-linux-gnu/libxcb.so.1.1.0
b6d10000-b6d59000 r-xp 00000000 08:03 525387     /lib/i386-linux-gnu/libdbus-1.so.3.7.4
b6d59000-b6d5a000 r--p 00048000 08:03 525387     /lib/i386-linux-gnu/libdbus-1.so.3.7.4
b6d5a000-b6d5b000 rw-p 00049000 08:03 525387     /lib/i386-linux-gnu/libdbus-1.so.3.7.4
b6d5b000-b6d64000 r-xp 00000000 08:03 525415     /lib/i386-linux-gnu/libjson-c.so.2.0.1
b6d64000-b6d65000 r--p 00008000 08:03 525415     /lib/i386-linux-gnu/libjson-c.so.2.0.1
b6d65000-b6d66000 rw-p 00009000 08:03 525415     /lib/i386-linux-gnu/libjson-c.so.2.0.1
b6d66000-b6dd3000 r-xp 00000000 08:03 268700     /usr/lib/i386-linux-gnu/pulseaudio/libpulsecommon-4.0.so
b6dd3000-b6dd4000 r--p 0006c000 08:03 268700     /usr/lib/i386-linux-gnu/pulseaudio/libpulsecommon-4.0.so
b6dd4000-b6dd5000 rw-p 0006d000 08:03 268700     /usr/lib/i386-linux-gnu/pulseaudio/libpulsecommon-4.0.so
b6dd5000-b6dd6000 rw-p 00000000 00:00 0
b6dd6000-b6ddd000 r-xp 00000000 08:03 525498     /lib/i386-linux-gnu/librt-2.17.so
b6ddd000-b6dde000 r--p 00006000 08:03 525498     /lib/i386-linux-gnu/librt-2.17.so
b6dde000-b6ddf000 rw-p 00007000 08:03 525498     /lib/i386-linux-gnu/librt-2.17.so
b6ddf000-b6df5000 r-xp 00000000 08:03 270209     /usr/lib/i386-linux-gnu/libmad.so.0.2.1
b6df5000-b6df6000 r--p 00015000 08:03 270209     /usr/lib/i386-linux-gnu/libmad.so.0.2.1
b6df6000-b6df7000 rw-p 00016000 08:03 270209     /usr/lib/i386-linux-gnu/libmad.so.0.2.1
b6df7000-b6e29000 r-xp 00000000 08:03 266986     /usr/lib/i386-linux-gnu/libFLAC.so.8.3.0
b6e29000-b6e2a000 r--p 00031000 08:03 266986     /usr/lib/i386-linux-gnu/libFLAC.so.8.3.0
b6e2a000-b6e2b000 rw-p 00032000 08:03 266986     /usr/lib/i386-linux-gnu/libFLAC.so.8.3.0
b6e2b000-b6e33000 r-xp 00000000 08:03 267785     /usr/lib/i386-linux-gnu/libvorbisfile.so.3.3.4
b6e33000-b6e34000 r--p 00007000 08:03 267785     /usr/lib/i386-linux-gnu/libvorbisfile.so.3.3.4
b6e34000-b6e35000 rw-p 00008000 08:03 267785     /usr/lib/i386-linux-gnu/libvorbisfile.so.3.3.4
b6e35000-b6e99000 r-xp 00000000 08:03 267250     /usr/lib/i386-linux-gnu/libfluidsynth.so.1.5.2
b6e99000-b6e9a000 r--p 00063000 08:03 267250     /usr/lib/i386-linux-gnu/libfluidsynth.so.1.5.2
b6e9a000-b6e9b000 rw-p 00064000 08:03 267250     /usr/lib/i386-linux-gnu/libfluidsynth.so.1.5.2
b6e9b000-b6f0b000 rw-p 00000000 00:00 0
b6f0b000-b6f57000 r-xp 00000000 08:03 293572     /usr/lib/i386-linux-gnu/libmikmod.so.2.0.4
b6f57000-b6f58000 r--p 0004b000 08:03 293572     /usr/lib/i386-linux-gnu/libmikmod.so.2.0.4
b6f58000-b6f59000 rw-p 0004c000 08:03 293572     /usr/lib/i386-linux-gnu/libmikmod.so.2.0.4
b6f59000-b6f5e000 rw-p 00000000 00:00 0
b6f5e000-b7024000 r-xp 00000000 08:03 267119     /usr/lib/i386-linux-gnu/libcaca.so.0.99.18
b7024000-b7025000 r--p 000c5000 08:03 267119     /usr/lib/i386-linux-gnu/libcaca.so.0.99.18
b7025000-b7026000 rw-p 000c6000 08:03 267119     /usr/lib/i386-linux-gnu/libcaca.so.0.99.18
b7026000-b702a000 rw-p 00000000 00:00 0
b702a000-b703b000 r-xp 00000000 08:03 267022     /usr/lib/i386-linux-gnu/libXext.so.6.4.0
b703b000-b703c000 r--p 00010000 08:03 267022     /usr/lib/i386-linux-gnu/libXext.so.6.4.0
b703c000-b703d000 rw-p 00011000 08:03 267022     /usr/lib/i386-linux-gnu/libXext.so.6.4.0
b703d000-b716d000 r-xp 00000000 08:03 267005     /usr/lib/i386-linux-gnu/libX11.so.6.3.0
b716d000-b716e000 ---p 00130000 08:03 267005     /usr/lib/i386-linux-gnu/libX11.so.6.3.0
b716e000-b716f000 r--p 00130000 08:03 267005     /usr/lib/i386-linux-gnu/libX11.so.6.3.0
b716f000-b7171000 rw-p 00131000 08:03 267005     /usr/lib/i386-linux-gnu/libX11.so.6.3.0
b7171000-b7172000 rw-p 00000000 00:00 0
b7172000-b71bf000 r-xp 00000000 08:03 267657     /usr/lib/i386-linux-gnu/libpulse.so.0.16.2
b71bf000-b71c0000 r--p 0004c000 08:03 267657     /usr/lib/i386-linux-gnu/libpulse.so.0.16.2
b71c0000-b71c1000 rw-p 0004d000 08:03 267657     /usr/lib/i386-linux-gnu/libpulse.so.0.16.2
b71c1000-b71c2000 rw-p 00000000 00:00 0
b71c2000-b71c5000 r-xp 00000000 08:03 267655     /usr/lib/i386-linux-gnu/libpulse-simple.so.0.0.4
b71c5000-b71c6000 r--p 00002000 08:03 267655     /usr/lib/i386-linux-gnu/libpulse-simple.so.0.0.4
b71c6000-b71c7000 rw-p 00003000 08:03 267655     /usr/lib/i386-linux-gnu/libpulse-simple.so.0.0.4
b71c7000-b71ca000 r-xp 00000000 08:03 525390     /lib/i386-linux-gnu/libdl-2.17.so
b71ca000-b71cb000 r--p 00002000 08:03 525390     /lib/i386-linux-gnu/libdl-2.17.so
b71cb000-b71cc000 rw-p 00003000 08:03 525390     /lib/i386-linux-gnu/libdl-2.17.so
b71cc000-b72bd000 r-xp 00000000 08:03 267071     /usr/lib/i386-linux-gnu/libasound.so.2.0.0
b72bd000-b72c1000 r--p 000f0000 08:03 267071     /usr/lib/i386-linux-gnu/libasound.so.2.0.0
b72c1000-b72c2000 rw-p 000f4000 08:03 267071     /usr/lib/i386-linux-gnu/libasound.so.2.0.0
b72c2000-b7470000 r-xp 00000000 08:03 525375     /lib/i386-linux-gnu/libc-2.17.so
b7470000-b7472000 r--p 001ae000 08:03 525375     /lib/i386-linux-gnu/libc-2.17.so
b7472000-b7473000 rw-p 001b0000 08:03 525375     /lib/i386-linux-gnu/libc-2.17.so
b7473000-b7476000 rw-p 00000000 00:00 0
b7476000-b7491000 r-xp 00000000 08:03 524365     /lib/i386-linux-gnu/libgcc_s.so.1
b7491000-b7492000 r--p 0001a000 08:03 524365     /lib/i386-linux-gnu/libgcc_s.so.1
b7492000-b7493000 rw-p 0001b000 08:03 524365     /lib/i386-linux-gnu/libgcc_s.so.1
b7493000-b7494000 rw-p 00000000 00:00 0
b7494000-b74d5000 r-xp 00000000 08:03 525426     /lib/i386-linux-gnu/libm-2.17.so
b74d5000-b74d6000 r--p 00040000 08:03 525426     /lib/i386-linux-gnu/libm-2.17.so
b74d6000-b74d7000 rw-p 00041000 08:03 525426     /lib/i386-linux-gnu/libm-2.17.so
b74d7000-b75b4000 r-xp 00000000 08:03 267670     /usr/lib/i386-linux-gnu/libstdc++.so.6.0.18
b75b4000-b75b8000 r--p 000dc000 08:03 267670     /usr/lib/i386-linux-gnu/libstdc++.so.6.0.18
b75b8000-b75b9000 rw-p 000e0000 08:03 267670     /usr/lib/i386-linux-gnu/libstdc++.so.6.0.18
b75b9000-b75c0000 rw-p 00000000 00:00 0
b75c0000-b75e3000 r-xp 00000000 08:03 294424     /usr/lib/i386-linux-gnu/libSDL_mixer-1.2.so.0.12.0
b75e3000-b75e4000 r--p 00022000 08:03 294424     /usr/lib/i386-linux-gnu/libSDL_mixer-1.2.so.0.12.0
b75e4000-b75ec000 rw-p 00023000 08:03 294424     /usr/lib/i386-linux-gnu/libSDL_mixer-1.2.so.0.12.0
b75ec000-b7610000 rw-p 00000000 00:00 0
b7610000-b767b000 r-xp 00000000 08:03 266999     /usr/lib/i386-linux-gnu/libSDL-1.2.so.0.11.4
b767b000-b767c000 ---p 0006b000 08:03 266999     /usr/lib/i386-linux-gnu/libSDL-1.2.so.0.11.4
b767c000-b767d000 r--p 0006b000 08:03 266999     /usr/lib/i386-linux-gnu/libSDL-1.2.so.0.11.4
b767d000-b767e000 rw-p 0006c000 08:03 266999     /usr/lib/i386-linux-gnu/libSDL-1.2.so.0.11.4
b767e000-b76a8000 rw-p 00000000 00:00 0
b76a8000-b76c0000 r-xp 00000000 08:03 525530     /lib/i386-linux-gnu/libz.so.1.2.8Aborted (core dumped)


Cheers!
Life is like a Simutrans transformer:

You only get one of them, and you can't have it on a slope.

Ters

Quote from: Spacethingy on June 11, 2014, 09:39:17 PM
I got this in the terminal, don't know if it helps!

Since Simutrans has been built with the symbols stripped out, that doesn't say much, except perhaps the first line. But the series of images looks like it should be enough (not that I have the time to look at it at the moment, unfortunately). If only all bug reports were as good (I'm not just thinking Simutrans here).

Ters

I have not been able to reproduce the crash, but that might be because msvcrt is more tolerant of double-free bugs than glibc. There might be some nuance of "delete one half of the network" (especially given that there are two networks, as explained below).

As for the slope-flipping, it only works if the way has no connection at the lower edge. The power lines just almost look connected. Using the query tool reveals that the upper line, including the slope, belongs to a different net than the line at the bottom. However, the connection at the upper end of the slope should also prohibit such a flip, so it's still a bug.

kierongreen

Can reproduce this:

*** Error in `/home/kieron/simutrans-dev/sim': corrupted double-linked list: 0x089eda00 ***

Program received signal SIGSEGV, Segmentation fault.
0xb7c498f5 in _int_malloc (av=av@entry=0xb7d7c420 <main_arena>, bytes=bytes@entry=36) at malloc.c:3646
3646    malloc.c: No such file or directory.
(gdb) bt
#0  0xb7c498f5 in _int_malloc (av=av@entry=0xb7d7c420 <main_arena>, bytes=bytes@entry=36) at malloc.c:3646
#1  0xb7c4b391 in __GI___libc_malloc (bytes=36) at malloc.c:2858
#2  0xb76c9dec in ?? () from /usr/lib/i386-linux-gnu/libxcb.so.1
#3  0xb76ca4b8 in ?? () from /usr/lib/i386-linux-gnu/libxcb.so.1
#4  0xb79822b2 in ?? () from /usr/lib/i386-linux-gnu/libX11.so.6
#5  0xb7982434 in ?? () from /usr/lib/i386-linux-gnu/libX11.so.6
#6  0xb798279f in _XEventsQueued () from /usr/lib/i386-linux-gnu/libX11.so.6
#7  0xb7982a74 in _XFlush () from /usr/lib/i386-linux-gnu/libX11.so.6
#8  0xb7963d2b in XFlush () from /usr/lib/i386-linux-gnu/libX11.so.6
#9  0xb7f0f8f4 in ?? () from /usr/lib/i386-linux-gnu/libSDL-1.2.so.0
#10 0xb7f110cb in ?? () from /usr/lib/i386-linux-gnu/libSDL-1.2.so.0
#11 0xb7ee4f35 in SDL_PumpEvents () from /usr/lib/i386-linux-gnu/libSDL-1.2.so.0
#12 0xb7ee4f74 in SDL_PollEvent () from /usr/lib/i386-linux-gnu/libSDL-1.2.so.0
#13 0x08314f1b in internal_GetEvents (wait=false) at simsys_s.cc:472
#14 0x08315497 in GetEventsNoWait () at simsys_s.cc:656
#15 0x08283b24 in display_poll_event (ev=0xbfffd990) at simevent.cc:243
#16 0x081a3f83 in win_poll_event (ev=0xbfffd990) at gui/simwin.cc:1428
#17 0x082a0b63 in interaction_t::check_events (this=0x91e15b0) at siminteraction.cc:394
#18 0x082f35ac in karte_t::interactive (this=0x883e9c0, quit_month=2147483647) at simworld.cc:6789
#19 0x082a99a1 in simu_main (argc=1, argv=0xbffff5e4) at simmain.cc:1273
#20 0x082b7559 in sysmain (argc=1, argv=0xbffff5e4) at simsys.cc:700
#21 0x08315503 in main (argc=1, argv=0xbffff5e4) at simsys_s.cc:703


The error is likely to be in allowing the slope to be rotated in the first place I think - this means that two unconnected sections of powerline retain the same id, so simutrans deletes them twice.

kierongreen

Fixed in commit 7265 - powerlines didn't join properly when the slope tools were used as a hinge. This can be seen graphically in the second picture above. This caused a variety of problems including ability to change the slope again in ways which were odd, and finally the crash to desktop.

Fix was as follows:

Index: simwerkz.cc
===================================================================
--- simwerkz.cc (revision 7264)
+++ simwerkz.cc (working copy)
@@ -1277,6 +1277,14 @@
}
}

+ // if there is a powerline here we need to treat it as newly built as it may connect to neighbours
+ leitung_t *lt = gr1->get_leitung();
+ if(  lt  ) {
+ // remove maintenance for existing powerline
+ spieler_t::add_maintenance(lt->get_besitzer(), -lt->get_besch()->get_wartung(), powerline_wt);
+ lt->laden_abschliessen();
+ }
+
if(  gr1->ist_karten_boden()  ) {
if(  new_slope!=hang_t::flach  ) {
// no lakes on slopes ...