View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0006003 | Spring engine | General | public | 2018-06-11 22:14 | 2018-06-27 18:31 |
| Reporter | Doo | Assigned To | |||
| Priority | normal | Severity | minor | Reproducibility | N/A |
| Status | closed | Resolution | not fixable | ||
| Product Version | 104.0 +git | ||||
| Summary | 0006003: Crash on game load when using AdjustHeightMap() func on whole map at Initialize with spring 104.0.1 - 557 and BA:tes 9716-f3f174 | ||||
| Description | Game crashed for multiple players when using the map_waterlevel modoption of BA test 9716-f3f174a Game crashed on load screen, "Access violation" error msg. Didn't crash when map_waterlevel = 0 (no heightmap change on Initialize()). | ||||
| Tags | No tags attached. | ||||
| Attached Files | |||||
| Checked infolog.txt for Errors | |||||
|
|
I should add that it was tested twice with the modoption and resulted in a crash (on two different maps) And 3 times without the modoption on 2 different maps, including the ones that previously crashed, without a single crash |
|
|
I locally hacked the BA waterlevel gadget in 10.08 such that it always runs (replaced "if Spring.GetModOptions()..." by "if true" etc) but could not trigger a crash on Tau10 or any other map, stacktrace from infolog2 is also inconclusive. Is there anything special about 9716-f3f174a? |
|
|
Three things changed for this gadget since 10.08: - Map_waterlevel = the amount of height change instead of a % of maxHeight value. But the way it works is the same (get value, Adjust whole map with value) - Gadget uses Spring.SetMapRenderingParams({ voidWater = false}) when map_waterlevel ~= 0 - Feature erasure happens on GamePreload() rather than Initialize() and the layer of the gadget is higher so that it also takes into account features placed by Lua. I labelled it as an AdjustHeightMap issue but that was a mistake from me, it could actually be feature erasure or voidWater = false causing these crashes. It happened more recently on Obsidian, a player couldn't join the game because he was crashing on loadscreen. All other players had loaded fine and were ingame. Is there a chance using Spring.SetMapRenderingParams({ voidWater = false}) to force voidWater off when flooded can be unsafe and needs to be done in unsynced rather than synced gadget? |
|
|
"Spring.SetMapRenderingParams({ voidWater = false})" Based on the stacktrace which references GroundDrawer and reported GPU ("Intel(R) HD Graphics 4000") this call is responsible, but 9716-f3f174a with the same "if true" hack as 10.08 works fine for me. A driver update may or may not help, calling SetMapRenderingParams from unsynced should not make a difference. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2018-06-11 22:14 | Doo | New Issue | |
| 2018-06-11 22:14 | Doo | File Added: infolog.txt | |
| 2018-06-11 22:14 | Doo | File Added: infolog-2.txt | |
| 2018-06-11 22:18 | Doo | Note Added: 0019210 | |
| 2018-06-12 19:28 | Kloot | Note Added: 0019212 | |
| 2018-06-12 19:29 | Kloot | Status | new => feedback |
| 2018-06-13 10:50 | Doo | Note Added: 0019213 | |
| 2018-06-13 10:50 | Doo | Status | feedback => new |
| 2018-06-13 13:37 | Kloot | Note Added: 0019214 | |
| 2018-06-13 13:38 | Kloot | Status | new => feedback |
| 2018-06-27 18:31 | Kloot | Status | feedback => closed |
| 2018-06-27 18:31 | Kloot | Resolution | open => not fixable |