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

Invention list in scenario editor crashes upon removing previously-enabled ride/stall entries #7331

Closed
ReikaKalseki opened this issue Mar 22, 2018 · 14 comments
Labels
bug Something went wrong. crash Game exits suddenly.

Comments

@ReikaKalseki
Copy link

ReikaKalseki commented Mar 22, 2018

OS: Win7
Version: 0.1.2

I set up an invention list, then decided to go back and remove a few stalls and ride types I found to be superfluous. Upon going back to the invention list, the game immediately crashes, with Windows washing out the screen and giving a "openrct2.exe has stopped responding" popup (the latter of which can be seen in the below image). This only happens for rides and stalls; removing paths and scenery did not cause a crash.
https://i.imgur.com/DieIFOH.jpg

  • Reproducible in RCT2 (vanilla)? Cannot check; no longer have disk
  • Specific to multiplayer? No

Steps to reproduce:

  1. Create a basic scenario with some rides enabled
  2. Set up an invention list
  3. Go back and disable a few rides
  4. Return to the invention list
  5. Crash
@Gymnasiast
Copy link
Member

You haven't specified the commit/build.
Are you on release ("stable") or develop?

@ReikaKalseki
Copy link
Author

ReikaKalseki commented Mar 22, 2018

Stable, as far as I know; I never went out of my way to use some experimental version.

The main menu says build: 8069a04, whatever that means for your question.

@AaronVanGeffen
Copy link
Member

That means you're on develop, an old build (18 days) at that. The invention list has been overhauled just yesterday. Could you try a recent build?

@ReikaKalseki
Copy link
Author

ReikaKalseki commented Mar 22, 2018

Is there an auto-update system (ie within the program, like a browser 'check for updates'), or do I need to redownload and reinstall?

@AaronVanGeffen
Copy link
Member

There is an unofficial launcher that does exactly that.

@Gymnasiast
Copy link
Member

I managed to reproduce it on 61ddbd9.

@Gymnasiast Gymnasiast added bug Something went wrong. crash Game exits suddenly. labels Mar 22, 2018
@ReikaKalseki
Copy link
Author

ReikaKalseki commented Mar 22, 2018

The launcher broke horribly for me, but I updated with a manual install of the latest on the "releases" page (0e7c0f7), and the crash persists.

Also, the invention list (I checked right before actually attempting the crash) did not look any different; was this overhaul entirely on the backend?

@Gymnasiast
Copy link
Member

It does not look different because you used the release build and the change that @AaronVanGeffen spoke of was made after that release. It's also mostly a front-end change, but in C that does not always say much.

@ReikaKalseki
Copy link
Author

Is there a place to get that build (without having to do something insane like compile it myself)?

@janisozaur
Copy link
Member

Still present in 61ddbd9

if (!(ride_entry->flags & RIDE_ENTRY_FLAG_SEPARATE_RIDE))

>>> bt full
#0  0x0000555555784a22 in research_rides_setup () at ../src/openrct2-ui/windows/EditorInventionsList.cpp:215
        ride_base_type = 4 '\004'
        object_index = 8 '\b'
        ride_entry = 0x0
        master_found = false
        research = 0x5555562702f2 <gResearchItems+50>
#1  0x0000555555784ccb in research_always_researched_setup () at ../src/openrct2-ui/windows/EditorInventionsList.cpp:311
No locals.
#2  0x000055555578506c in window_editor_inventions_list_open () at ../src/openrct2-ui/windows/EditorInventionsList.cpp:442
        w = 0x0
#3  0x0000555555757108 in WindowManager::OpenWindow (this=0x55555683f9f0, wc=43 '+') at ../src/openrct2-ui/WindowManager.cpp:57
No locals.
#4  0x000055555580f312 in context_open_window (wc=43 '+') at ../src/openrct2/Context.cpp:1030
        windowManager = 0x55555683f9f0
#5  0x0000555555783ea9 in window_editor_bottom_toolbar_jump_forward_to_invention_list_set_up () at ../src/openrct2-ui/windows/EditorBottomToolbar.cpp:256
No locals.
#6  0x000055555578410a in window_editor_bottom_toolbar_mouseup (w=0x55555624ef40 <g_window_list+2496>, widgetIndex=3) at ../src/openrct2-ui/windows/EditorBottomToolbar.cpp:322
No locals.
#7  0x0000555555881f78 in window_event_mouse_up_call (w=0x55555624ef40 <g_window_list+2496>, widgetIndex=3) at ../src/openrct2/interface/Window.cpp:1924
No locals.
#8  0x000055555577a2c7 in input_state_widget_pressed (x=1374, y=813, state=2, widgetIndex=3, w=0x55555624ef40 <g_window_list+2496>, widget=0x5555561417a0 <window_editor_bottom_toolbar_widgets+96>) at ../src/openrct2-ui/input/MouseInput.cpp:1357
        cursor_w_class = 2 '\002'
        cursor_w_number = 0
        cursor_widgetIndex = 3
        cursor_w = 0x55555624ef40 <g_window_list+2496>
#9  0x00005555557779ea in game_handle_input_mouse (x=1374, y=813, state=2) at ../src/openrct2-ui/input/MouseInput.cpp:340
        w = 0x55555624ef40 <g_window_list+2496>
        widget = 0x5555561417a0 <window_editor_bottom_toolbar_widgets+96>
        widgetIndex = 3
#10 0x000055555577727c in game_handle_input () at ../src/openrct2-ui/input/MouseInput.cpp:126
        x = 1374
        y = 813
        state = 2
#11 0x0000555555757bff in WindowManager::HandleInput (this=0x55555683f9f0) at ../src/openrct2-ui/WindowManager.cpp:440
No locals.
#12 0x000055555580f5bc in context_handle_input () at ../src/openrct2/Context.cpp:1078
        windowManager = 0x55555683f9f0
#13 0x0000555555819658 in game_update () at ../src/openrct2/Game.cpp:430
        numUpdates = 1
#14 0x0000555555811da6 in OpenRCT2::Context::Update (this=0x555556bdce20) at ../src/openrct2/Context.cpp:782
        currentUpdateTick = 27641811
#15 0x0000555555811c43 in OpenRCT2::Context::RunVariableFrame (this=0x555556bdce20) at ../src/openrct2/Context.cpp:739
        currentTick = 27641811
        draw = true
        elapsed = 17
#16 0x0000555555811a68 in OpenRCT2::Context::RunFrame (this=0x555556bdce20) at ../src/openrct2/Context.cpp:676
        useVariableFrame = true
#17 0x00005555558119f1 in OpenRCT2::Context::RunGameLoop (this=0x555556bdce20) at ../src/openrct2/Context.cpp:651
No locals.
#18 0x000055555581180d in OpenRCT2::Context::Launch (this=0x555556bdce20) at ../src/openrct2/Context.cpp:627
No locals.
#19 0x00005555558105f1 in OpenRCT2::Context::RunOpenRCT2 (this=0x555556bdce20, argc=1, argv=0x7fffffffcc38) at ../src/openrct2/Context.cpp:172
No locals.
#20 0x000055555574de15 in main (argc=1, argv=0x7fffffffcc38) at ../src/openrct2-ui/Ui.cpp:60
        env = 0x5555567fecc0
        audioContext = 0x5555568087b0
        uiContext = 0x55555683db90
        context = 0x555556bdce20
        runGame = 1

@Gymnasiast
Copy link
Member

@ReikaKalseki There's no need to get that, really. The bug in both in release and develop, and I can reproduce it, so it's now up to us (or someone else who can program) to solve it.

@ReikaKalseki
Copy link
Author

ReikaKalseki commented Mar 22, 2018

or someone else who can program

I only know Java, Lua, C#, and C (from most to least skill), so I am not much help here. :P

I see a mention above of "separate ride" (presumably vs car type on one ride); I can say that not all the crash-triggering things are sub-elements of an overarching type.

@mtesseracttech
Copy link

@janisozaur So it looks like ride_entry is a nullptr at the moment it's accessed.

@Gymnasiast
Copy link
Member

@mtesseracttech Yes, which in turn is caused by the research entry not being removed properly when deselecting it in the object selection window.

janisozaur added a commit that referenced this issue Jun 10, 2018
- Feature: [#1417] Allow saving track designs for flat rides.
- Feature: [#1675] Auto-rotate shops to face footpaths.
- Feature: [#3473] Add button in ride window's maintainance tab to refurbish the ride.
- Feature: [#6510] Ability to select edges or a row of tiles by holding down Ctrl using the land tool.
- Feature: [#7187] Option for early scenario completion.
- Feature: [#7266] Make headless instances use an interactive terminal with access to the in-game console API.
- Feature: [#7267] Leverage more historical data in Finances window.
- Feature: [#7316] Cheat to allow freezing all staff
- Feature: [#7332] Keyboard shortcuts for view path issues and cutaway view.
- Feature: [#7348] Add large half loops to the Vertical Drop Roller Coaster.
- Feature: [#7459] Allow opening and closing of parks that use no money.
- Feature: [#7579] New horizontal +/- spinner widgets to make adjusting values easier.
- Fix: [#2053] When clearance checks are disabled, a track piece ghost can remove non-ghost track pieces.
- Fix: [#2611] Some objects show (undefined string) instead of a description in Korean.
- Fix: [#3596] Saving parks, landscapes and tracks with a period in the filenames don't get their extension.
- Fix: [#5210] Default system dialog not accessible from saving landscape window.
- Fix: [#6134] Scenarios incorrectly categorised when using Polish version of RCT2.
- Fix: [#6141] CSS50.dat is never loaded.
- Fix: [#6647] Changelog window causes FPS drop.
- Fix: [#6938] Banner do not correctly capitalise non-ASCII characters.
- Fix: [#7176] Mechanics sometimes fall down from rides.
- Fix: [#7303] Visual glitch with virtual floor near map edges.
- Fix: [#7313] Loading an invalid path with openrct2 produces results different than expected.
- Fix: [#7327] Abstract scenery and stations don't get fully See-Through when hiding them (original bug).
- Fix: [#7331] Invention list in scenario editor crashes upon removing previously-enabled ride/stall entries.
- Fix: [#7341] Staff may auto-spawn on guests walking outside of paths.
- Fix: [#7354] Cut-away view does not draw tile elements that have been moved down on the list.
- Fix: [#7358] Peeps and staff entering rides still have the slope speed penalty set.
- Fix: [#7382] Opening the mini-map reverts the size of the land tool to 1x1, regardless of what was selected before.
- Fix: [#7402] Edges of neigbouring footpaths stay connected after removing a path that's underneath a ride entrance.
- Fix: [#7405] Rides can be covered by placing scenery underneath them.
- Fix: [#7418] Staff walk off paths with a connection but no adjacent path.
- Fix: [#7434] Diagonal ride segments cannot be deleted if they are isolated.
- Fix: [#7436] Only the first 32 vehicles of a train can be painted.
- Fix: [#7480] Graphs skip values of 0.
- Fix: [#7505] Game crashes when trying to make path over map edge while having clearance checks disabled.
- Fix: [#7528] In park entrance pricing tab, switching tabs happens on mouse-down instead of mouse-up
- Fix: [#7544] Starting a headless server with no arguments causes the game to freeze.
- Fix: [#7571] Hovering a ride design over scenery or tracks will give tons of money.
- Improved: [#2989] Multiplayer window now changes title when tab changes.
- Improved: [#5339] Change eyedropper icon to actual eyedropper and change cursor to crosshair.
- Improved: [#5832] Resize tile inspector automatically when selecting a tile element.
- Improved: [#6221] The scenario editor's invention list is now resizeable.
- Improved: [#7069] The arbitrary ride type selection dropdown is now sorted orthographically, and has its spinners removed.
- Improved: [#7302] Raising land near the map edge makes the affected area smaller instead of showing an 'off edge map' error.
- Improved: [#7435] Object indexing now supports multi-threading.
- Improved: [#7510] Add horizontal clipping to cut-away view options.
- Improved: [#7531] "Save track design" dropdown now stays open.
- Improved: [#7548] Ctrl-clicking with the tile inspector open now directly selects an element and its tile.
- Improved: [#7555] Allow setting the Twitch API URL, allowing custom API servers.
- Improved: [#7567] Improve the performance of loading parks and the title sequence.
- Improved: [#7577] Allow fine-tuning the virtual floor style.
- Improved: [#7608] The vehicle selection dropdown is now sorted orthographically.
- Improved: [#7613] Resizing the staff window now resizes the name and action columns too.
- Improved: [#7627] Allow scrolling up and down on spinners to change their values.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something went wrong. crash Game exits suddenly.
Projects
None yet
Development

No branches or pull requests

5 participants