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

Game Crash when Mirroring Saved Ride Design #8535

Closed
rpstester opened this issue Dec 27, 2018 · 5 comments
Closed

Game Crash when Mirroring Saved Ride Design #8535

rpstester opened this issue Dec 27, 2018 · 5 comments
Labels
bug Something went wrong. crash Game exits suddenly.

Comments

@rpstester
Copy link
Contributor

OS: Windows 10
Version: 0.2.1
Commit/Build: 8d9fcb7

The last thing I clicked was the mirror button when trying to place a saved car ride in Diamond Heights. I started DH from the beginning (original scenario from RCT1). I had played other scenarios on this game session.

I have logged an issue and attached a dump file as you requested. I have also attached the last auto-save before the game crashed.

Steps to reproduce:
Unknown

Dump file
0a88cad3-e9a7-44ba-a91f-47664bf7394e(8d9fcb7_x86-64).zip

Save game:
autosave_2018-12-26_19-27-05.zip

@rpstester
Copy link
Contributor Author

rpstester commented Dec 27, 2018

In any save or scenario so far, selecting the same car ride, and clicking on mirror crashes the game. So there is a way to reproduce it.

@rpstester
Copy link
Contributor Author

I can mirror other saved car rides just fine. It looks like this file is from Time Twister.

@Gymnasiast
Copy link
Member

Could you also upload the track design in question?

@rpstester
Copy link
Contributor Author

Pegasus.zip
Here you go.

@janisozaur
Copy link
Member

Reproduces fine with the attached sv6 and track (but not on another scenario)
Crashes via unhandled exception from

void* Object::GetLegacyData()
{
throw std::runtime_error("Not supported.");
}

#6  0x0000555558cf3ae6 in Object::GetLegacyData (this=0x611000048ac0) at ../src/openrct2/object/Object.cpp:42
No locals.
#7  0x0000555558cfa997 in object_entry_get_chunk (objectType=5, index=59) at ../src/openrct2/object/ObjectList.cpp:181
        objectIndex = 727
        result = 0x0
        objectMgr = @0x604000021250: {
          _vptr.IObjectManager = 0x55555a7a6c88 <vtable for ObjectManager+16>
        }
        obj = 0x611000048ac0
#8  0x00005555590961f4 in track_design_mirror_scenery (td6=0x6110002dcfc0) at ../src/openrct2/ride/TrackDesign.cpp:496
        entry_type = 5 '\005'
        entry_index = 59 ';'
        scenery_entry = 0x60f00003da10
        scenery = 0x62b000118bee
#9  0x0000555559098eb0 in track_design_mirror (td6=0x6110002dcfc0) at ../src/openrct2/ride/TrackDesign.cpp:660
No locals.
#10 0x00005555588d6f2d in window_track_place_mouseup (w=0x61a00030ba80, widgetIndex=4) at ../src/openrct2-ui/windows/TrackDesignPlace.cpp:218
        intent = {
          _Class = 128 '\200', 
          _Data = std::map with 5397383859 elements<error reading variable: Cannot access memory at address 0xbebebebebebebece>
        }
#11 0x0000555558b9b2ba in window_event_mouse_up_call (w=0x61a00030ba80, widgetIndex=4) at ../src/openrct2/interface/Window.cpp:1438
No locals.
#12 0x000055555854a7d0 in input_state_widget_pressed (x=190, y=103, state=2, widgetIndex=4, w=0x61a00030ba80, widget=0x55555b2b2ec0 <window_track_place_widgets+128>) at ../src/openrct2-ui/input/MouseInput.cpp:1367
        cursor_w_class = 34 '"'
        cursor_w_number = 0
        cursor_widgetIndex = 4
        cursor_w = 0x61a00030ba80
#13 0x000055555853d169 in game_handle_input_mouse (x=190, y=103, state=2) at ../src/openrct2-ui/input/MouseInput.cpp:336
        w = 0x61a00030ba80
        widget = 0x55555b2b2ec0 <window_track_place_widgets+128>
        widgetIndex = 4
#14 0x000055555853a4e5 in game_handle_input () at ../src/openrct2-ui/input/MouseInput.cpp:120
        x = 190
        y = 103
        state = 2
#15 0x000055555845a9ab in WindowManager::HandleInput (this=0x602000001d10) at ../src/openrct2-ui/WindowManager.cpp:460
No locals.
#16 0x0000555558906d57 in context_handle_input () at ../src/openrct2/Context.cpp:1249
        windowManager = 0x602000001d10
#17 0x0000555558963e15 in OpenRCT2::GameState::Update (this=0x602000170710) at ../src/openrct2/GameState.cpp:191
        numUpdates = 1
        realtimeTicksElapsed = <error reading variable realtimeTicksElapsed (Cannot access memory at address 0xffffffffffffff00)>
        didRunSingleFrame = false
#18 0x0000555558920afd in OpenRCT2::Context::Update (this=0x611000011fc0) at ../src/openrct2/Context.cpp:951
        currentUpdateTime = 9189611
#19 0x000055555891f5ed in OpenRCT2::Context::RunVariableFrame (this=0x611000011fc0) at ../src/openrct2/Context.cpp:899
        currentTick = 9189611
        draw = true
        elapsed = 27
#20 0x000055555891c67d in OpenRCT2::Context::RunFrame (this=0x611000011fc0) at ../src/openrct2/Context.cpp:833
        useVariableFrame = true
#21 0x000055555891bee7 in OpenRCT2::Context::RunGameLoop (this=0x611000011fc0) at ../src/openrct2/Context.cpp:808
No locals.
#22 0x000055555891b1e7 in OpenRCT2::Context::Launch (this=0x611000011fc0) at ../src/openrct2/Context.cpp:780
No locals.
#23 0x00005555589102db in OpenRCT2::Context::RunOpenRCT2 (this=0x611000011fc0, argc=2, argv=0x7fffffffda28) at ../src/openrct2/Context.cpp:220
No locals.
#24 0x0000555558407257 in main (argc=2, argv=0x7fffffffda28) at ../src/openrct2-ui/Ui.cpp:60
        env = std::shared_ptr<OpenRCT2::IPlatformEnvironment> (use count 8, weak count 0) = {
          get() = 0x611000000400
        }
        audioContext = std::shared_ptr<OpenRCT2::Audio::IAudioContext> (use count 2, weak count 0) = {
          get() = 0x602000000ff0
        }
        uiContext = std::shared_ptr<OpenRCT2::Ui::IUiContext> (use count 4, weak count 0) = {
          get() = 0x62900000a200
        }
        context = std::unique_ptr<OpenRCT2::IContext> = {
          get() = 0x611000011fc0
        }
        runGame = 1

@Gymnasiast Gymnasiast added bug Something went wrong. crash Game exits suddenly. labels Jan 24, 2019
duncanspumpkin added a commit to duncanspumpkin/OpenRCT2 that referenced this issue Apr 2, 2019
…ath object.

When you try to mirror a track design that has a path object type that isn't loaded it will try to pass an uninitialised variable as the index of the path object. This will cause a bad pointer to be generated. Fix was to auto set it to zero and to be super careful reset it again to zero in the case when its not available
duncanspumpkin added a commit to duncanspumpkin/OpenRCT2 that referenced this issue Apr 4, 2019
…ath object.

When you try to mirror a track design that has a path object type that isn't loaded it will try to pass an uninitialised variable as the index of the path object. This will cause a bad pointer to be generated. Fix was to auto set it to zero and to be super careful reset it again to zero in the case when its not available
Gymnasiast added a commit that referenced this issue May 15, 2019
AaronVanGeffen added a commit that referenced this issue Jul 10, 2019
- Feature: [#485] Rides can now be simulated with ghost trains during construction.
- Feature: [#1260] Option for making giant screenshots have a transparent background.
- Feature: [#2339] Find local servers automatically when fetching servers.
- Feature: [#7296] Allow assigning a keyboard shortcut for the scenery picker.
- Feature: [#8029] Add the Hungarian Forint (HUF) to the list of available currencies.
- Feature: [#8481] Multi-threaded rendering.
- Feature: [#8558] Guest debugging tab.
- Feature: [#8659] Banner and sign texts are now shown in tooltips.
- Feature: [#8687] New multiplayer toolbar icon showing network status with reconnect option.
- Feature: [#8791] Improved tile element flag manipulation in Tile Inspector.
- Feature: [#8919] Allow setting ride price from console.
- Feature: [#8963] Add missing Czech letters to sprite font, use sprite font for Czech.
- Feature: [#9154] Change map toolbar icon with current viewport rotation.
- Change: [#7877] Files are now sorted in logical rather than dictionary order.
- Change: [#8427] Ghost elements now show up as white on the mini-map.
- Change: [#8688] Move common actions from debug menu into cheats menu.
- Change: [#9428] Increase maximum height of the Hypercoaster to RCT1 limits.
- Fix: [#2294] Clients crashing the server with invalid object selection.
- Fix: [#4568, #5896] Incorrect fences removed when building a tracked ride through
- Fix: [#5103] OpenGL: ride track preview not rendered.
- Fix: [#5889] Giant screenshot does not work while using OpenGL renderer.
- Fix: [#5579] Network desync immediately after connecting.
- Fix: [#5893] Looking at guest window tabs other than the main tab eventually causes assertion.
- Fix: [#5905] Urban Park merry-go-round has entrance and exit swapped (original bug).
- Fix: [#6006] Objects higher than 6 metres are considered trees (original bug).
- Fix: [#7039] Map window not rendering properly when using OpenGL.
- Fix: [#7045] Theme window's colour pickers not drawn properly on OpenGL.
- Fix: [#7323] Tunnel entrances not rendering in 'highlight path issues' mode if they have benches inside.
- Fix: [#7729] Money Input Prompt breaks on certain values.
- Fix: [#7884] Unfinished preserved rides can be demolished with quick demolish.
- Fix: [#7913] RCT1/RCT2 title sequence timing is off.
- Fix: [#7700, #8079, #8969] Crash when unloading buggy custom rides.
- Fix: [#7829] Rotated information kiosk can cause 'unreachable' messages.
- Fix: [#7878] Scroll shortcut keys ignore SHIFT/CTRL/ALT modifiers.
- Fix: [#8219] Faulty folder recreation in "save" folder.
- Fix: [#8480, #8535] Crash when mirroring track design.
- Fix: [#8507] Incorrect change in vehicle rolling direction.
- Fix: [#8537] Imported RCT1 rides/shops are all numbered 1.
- Fix: [#8553] Scenery removal tool removes fences and paths while paused.
- Fix: [#8598] Taking screenshots fails with some park names.
- Fix: [#8602] Wall piece collision detection deviates from vanilla
- Fix: [#8649] Setting date does not work in multiplayer.
- Fix: [#8873] Potential crash when placing footpaths.
- Fix: [#8882] Submarine Ride does not count as indoors (original bug).
- Fix: [#8900] Peep tracking is not synchronized.
- Fix: [#8909] Potential crash when invoking game actions as server.
- Fix: [#8947] Detection of AVX2 support.
- Fix: [#8988] Character sprite lookup noticeably slows down drawing.
- Fix: [#9000] Show correct error message if not enough money available.
- Fix: [#9067] Land/water tools show prices when money is disabled.
- Fix: [#9124] Disconnected clients can crash the server.
- Fix: [#9132] System file browser cannot open SV4 files.
- Fix: [#9152] Spectators can modify ride colours.
- Fix: [#9202] Artefacts show when changing ride type as client or using in-game console.
- Fix: [#9240] Crash when passing directory instead of save file.
- Fix: [#9245] Headless servers apply Discord Rich Presence.
- Fix: [#9293] Issue with the native load/save dialog.
- Fix: [#9322] Peep crashing the game trying to find a ride to look at.
- Fix: [#9324] Crash trying to remove invalid footpath scenery.
- Fix: [#9402] Ad campaigns disappear when you save and load the game.
- Fix: [#9411] Ad campaigns end too soon.
- Fix: [#9476] Running `simulate` command on park yields `Completed: (null)`.
- Fix: [#9520] Time Twister object artdec29 conversion problem.
- Fix: Guests eating popcorn are drawn as if they're eating pizza.
- Fix: The arbitrary ride type and vehicle dropdown lists are ordered case-sensitively.
- Improved: [#6116] Expose colour scheme for track elements in the tile inspector.
- Improved: Allow the use of numpad enter key for console and chat.
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

3 participants