Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash/assertion failure when removing airport when hangar window open #8809

Closed
JGRennison opened this issue Mar 6, 2021 · 0 comments
Closed

Comments

@JGRennison
Copy link
Contributor

Version of OpenTTD

f536fd5, since #8717 was merged

Expected result

No crash/assertion failure when removing airport when hangar window open

Actual result

Crash/assertion failure when removing airport when hangar window open

Steps to reproduce

Remove airport when hangar window open

Further info

0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
1 0x00007ffff726d859 in __GI_abort () at abort.c:79
2 0x00007ffff726d729 in __assert_fail_base (fmt=0x7ffff7403588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x5555563f8fbb "IsTileType(t, MP_STATION)", file=0x5555563f8f90 "/home/jgr/openttd/trunk4/src/station_map.h",
line=30, function=) at assert.c:92
3 0x00007ffff727ef36 in __GI___assert_fail (assertion=0x5555563f8fbb "IsTileType(t, MP_STATION)", file=0x5555563f8f90 "/home/jgr/openttd/trunk4/src/station_map.h", line=30,
function=0x5555563f8f68 "StationID GetStationIndex(TileIndex)") at assert.c:101
4 0x0000555555d441fa in GetStationIndex (t=6585) at /home/jgr/openttd/trunk4/src/station_map.h:30
5 0x0000555555d472cb in DepotWindow::GetDepotIndex (this=0x55555901cb70) at /home/jgr/openttd/trunk4/src/depot_gui.cpp:1083
6 0x0000555555d445fe in DepotWindow::~DepotWindow (this=0x55555901cb70, __in_chrg=) at /home/jgr/openttd/trunk4/src/depot_gui.cpp:297
7 0x0000555555d446da in DepotWindow::~DepotWindow (this=0x55555901cb70, __in_chrg=) at /home/jgr/openttd/trunk4/src/depot_gui.cpp:299
8 0x00005555560a8e9d in DeleteWindowById (cls=WC_VEHICLE_DEPOT, number=6585, force=true) at /home/jgr/openttd/trunk4/src/window.cpp:1170
9 0x0000555555fa0c7e in RemoveAirport (tile=6582, flags=DC_EXEC) at /home/jgr/openttd/trunk4/src/station_cmd.cpp:2427
10 0x0000555555fa7fc6 in ClearTile_Station (tile=6711, flags=DC_EXEC) at /home/jgr/openttd/trunk4/src/station_cmd.cpp:4316
11 0x0000555555e1eacf in CmdLandscapeClear (tile=6711, flags=DC_EXEC, p1=0, p2=0, text=0x0) at /home/jgr/openttd/trunk4/src/landscape.cpp:722
12 0x0000555555d14193 in DoCommand (tile=6711, p1=0, p2=0, flags=DC_EXEC, cmd=4, text=0x0) at /home/jgr/openttd/trunk4/src/command.cpp:506
13 0x0000555555e1ef0f in CmdClearArea (tile=6711, flags=DC_EXEC, p1=6711, p2=0, text=0x0) at /home/jgr/openttd/trunk4/src/landscape.cpp:774
14 0x0000555555d14dbc in DoCommandPInternal (tile=6711, p1=6711, p2=0, cmd=234356812, callback=0x555555e23236 <CcPlaySound_EXPLOSION(CommandCost const&, unsigned int, unsigned int, unsigned int, unsigned int)>, text=0x0, my_cmd=true,
estimate_only=false) at /home/jgr/openttd/trunk4/src/command.cpp:725
15 0x0000555555d1450a in DoCommandP (tile=6711, p1=6711, p2=0, cmd=234356812, callback=0x555555e23236 <CcPlaySound_EXPLOSION(CommandCost const&, unsigned int, unsigned int, unsigned int, unsigned int)>, text=0x0, my_cmd=true)
at /home/jgr/openttd/trunk4/src/command.cpp:589
16 0x0000555555feff2c in GUIPlaceProcDragXY (proc=DDSP_DEMOLISH_AREA, start_tile=6711, end_tile=6711) at /home/jgr/openttd/trunk4/src/terraform_gui.cpp:117
17 0x0000555555ff23e7 in TerraformToolbarWindow::OnPlaceMouseUp (this=0x555559057f10, select_method=VPM_X_AND_Y, select_proc=DDSP_DEMOLISH_AREA, pt=..., start_tile=6711, end_tile=6711)
at /home/jgr/openttd/trunk4/src/terraform_gui.cpp:272
18 0x0000555556088282 in VpHandlePlaceSizingDrag () at /home/jgr/openttd/trunk4/src/viewport.cpp:3346
19 0x00005555560ad4c3 in MouseLoop (click=MC_NONE, mousewheel=0) at /home/jgr/openttd/trunk4/src/window.cpp:2894
20 0x00005555560adc7e in HandleMouseEvents () at /home/jgr/openttd/trunk4/src/window.cpp:3059
21 0x0000555555ccaf45 in VideoDriver_SDL_Base::PollEvent (this=0x555558474a70) at /home/jgr/openttd/trunk4/src/video/sdl2_v.cpp:443
22 0x0000555555cd27a4 in VideoDriver::Tick (this=0x555558474a70) at /home/jgr/openttd/trunk4/src/video/video_driver.cpp:53
23 0x0000555555ccb5b7 in VideoDriver_SDL_Base::LoopOnce (this=0x555558474a70) at /home/jgr/openttd/trunk4/src/video/sdl2_v.cpp:639
24 0x0000555555ccb887 in VideoDriver_SDL_Base::MainLoop (this=0x555558474a70) at /home/jgr/openttd/trunk4/src/video/sdl2_v.cpp:691
25 0x0000555555ee07fc in openttd_main (argc=2, argv=0x7fffffffdb48) at /home/jgr/openttd/trunk4/src/openttd.cpp:851
26 0x0000555555c161b9 in main (argc=2, argv=0x7fffffffdb48) at /home/jgr/openttd/trunk4/src/os/unix/unix.cpp:265

Note that RemoveAirport calls DeleteWindowById(WC_VEHICLE_DEPOT, ...) which calls ~DepotWindow::DepotWindow which calls DepotWindow::GetDepotIndex() which requires that the tile is a valid station/hangar tile, after having previously DoClearSquare such that the tile is now clear.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant