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 when inquire owner information of a busstation-tile of a AI-player #4523

Closed
DorpsGek opened this issue Feb 20, 2011 · 3 comments
Closed
Labels
flyspray This issue is imported from FlySpray (https://bugs.openttd.org/)

Comments

@DorpsGek
Copy link
Member

Bert_Buiten opened the ticket and wrote:

Crash when inquire owner information of a busstation-tile of a AI-player at Pinfingbridge West owned by AdmiralAI Transport

Attachments

Reported version: trunk
Operating system: All


This issue was imported from FlySpray: https://bugs.openttd.org/task/4523
@DorpsGek
Copy link
Member Author

Terkhen wrote:

KERNELBASE.dll!RaiseException() + 0x3d Bytes
openttd.exe!raise(int signum) Línea 597 C
openttd.exe!abort() Línea 78 C
openttd.exe!error(const char * s, ...) Línea 124 C++
openttd.exe!CheckOwnership(Owner owner, unsigned int tile) Línea 306 + 0x29 Bytes C++
openttd.exe!CanRemoveRoadWithStop(unsigned int tile, DoCommandFlag flags) Línea 3462 + 0x2a Bytes C++
openttd.exe!ClearTile_Station(unsigned int tile, DoCommandFlag flags) Línea 3495 + 0x15 Bytes C++
openttd.exe!CmdLandscapeClear(unsigned int tile, DoCommandFlag flags, unsigned int p1, unsigned int p2, const char * text) Línea 638 + 0x4f Bytes C++
openttd.exe!DoCommand(unsigned int tile, unsigned int p1, unsigned int p2, DoCommandFlag flags, unsigned int cmd, const char * text) Línea 422 C++
openttd.exe!LandInfoWindow::OnInit() Línea 202 C++
openttd.exe!Window::ReInit(int rx, int ry) Línea 583 C++
openttd.exe!DeleteNewGRFInspectWindow(GrfSpecFeature feature, unsigned int index) Línea 524 C++
openttd.exe!ClearTownHouse(Town * t, unsigned int tile) Línea 2287 C++
openttd.exe!TileLoop_Town(unsigned int tile) Línea 530 C++
openttd.exe!RunTileLoop() Línea 728 C++
openttd.exe!StateGameLoop() Línea 1210 C++
openttd.exe!GameLoop() Línea 1299 C++
openttd.exe!VideoDriver_Win32::MainLoop() Línea 893 C++
openttd.exe!ttd_main(int argc, char * * argv) Línea 761 C++
openttd.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * lpCmdLine, int nCmdShow) Línea 432 C++
openttd.exe!__tmainCRTStartup() Línea 263 + 0x21 Bytes C
kernel32.dll!BaseThreadInitThunk() + 0xd Bytes
ntdll.dll!RtlUserThreadStart() + 0x21 Bytes


This comment was imported from FlySpray: https://bugs.openttd.org/task/4523#comment9699

@DorpsGek
Copy link
Member Author

frosch wrote:

The crash itself was fixed in r22117.

However, the real problem is that DeleteNewGRFInspectWindow() is called from a command, and that it calls GUI code which executes a nested DoCommand().
The nested DoCommand() is executed for the wrong company (not _local_company) and results in wrong information in the GUI, and the nested command may also affect the execution of the real command.

Maybe there are similar problems with other ReInit() or OnInvalidateData() calls, which are often done from commands and may use _current_company as well. (e.g. when calling NewGRF callbacks, or doing testruns of other commands)


This comment was imported from FlySpray: https://bugs.openttd.org/task/4523#comment9710

@DorpsGek
Copy link
Member Author

frosch closed the ticket.

Reason for closing: Fixed

in r22135


This comment was imported from FlySpray: https://bugs.openttd.org/task/4523

@DorpsGek DorpsGek added Core flyspray This issue is imported from FlySpray (https://bugs.openttd.org/) labels Apr 7, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
flyspray This issue is imported from FlySpray (https://bugs.openttd.org/)
Projects
None yet
Development

No branches or pull requests

1 participant