News:

Simutrans Tools
Know our tools that can help you to create add-ons, install and customize Simutrans.

r2032 - Un-removable track tunnle remains when AI bankrupt

Started by z9999, September 25, 2008, 11:31:42 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

z9999

simutrans v100.0 and r2032

When AI bankrupts, track tunnle remains.
This tunnle doesn't show any information with inspection tool.
And when I tried to remove this tunnel, simutrans crashed.

Quote
simutrans-.exe caused an Access Violation at location 00549c9e in module simutrans-.exe Reading from location 00000000.

Registers:
eax=00000000 ebx=051593e0 ecx=00000000 edx=0000001a esi=006d0074 edi=00730070
eip=00549c9e esp=0023f064 ebp=0023f298 iopl=0         nv up ei pl nz na pe nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000202

Call stack:
00549C9E  simutrans-.exe:00549C9E  wkz_remover_t::wkz_remover_intern(spieler_t*, karte_t*, koord, char const*&)  simwerkz.cc:373
   ...
   if(gr->ist_tunnel()  &&  gr->ist_karten_boden()) {
   DBG_MESSAGE("wkz_remover()",  "removing tunnel  from %d,%d,%d",gr->gib_pos().x, gr->gib_pos().y, gr->gib_pos().z);
>   msg = tunnelbauer_t::remove(welt, sp, gr->gib_pos(), gr->gib_weg_nr(0)->gib_waytype());
   return msg == NULL;
   }
   ...

0057023C  simutrans-.exe:0057023C  karte_t::interactive()  simworld.cc:4060
   ...
   
   if (!swallowed) {
>   interactive_event(ev);
   }
   
   ...

00595E23  simutrans-.exe:00595E23  WinMain  simsys_w16.cc:756
00401247  simutrans-.exe:00401247
00401298  simutrans-.exe:00401298
7C817067  kernel32.dll:7C817067  RegisterWaitForInputIdle

prissi

I could remove tunnel as public player. It was owned by nobody though.

z9999

Crash for me.
Can someone confirm this problem with the attached savegame ?

DirrrtyDirk

Tried with 2040 - crashed (also when trying as public player).
  
***** PAK128 Dev Team - semi-retired*****

prissi

Hmm, in your testgames the way was removed, in my not. Very strange. I will correct htis.

z9999

Thank you.
And bridges have problems, too.
They are public and they don't cause crash, but have "ribi 0" and be removed partly.


prissi


z9999

Thank you, solved in r2045.

But sometimes error happened when ai bunkrupts.
I don' know this is related to this fix or not, but didn't happen before.

last 4 lines of simu.log
Quote
Message: grund_t::weg_entfernen():   this 05E3F734
Message: grund_t::weg_entfernen():   weg 05F0A328
Message: grund_t::weg_entfernen():   this 05E3F86C
Message: grund_t::weg_entfernen():   weg 05F0A300


Registers:
eax=05ee2000 ebx=05ee1ff8 ecx=00000004 edx=05c679bc esi=ffffffff edi=00730070
eip=0052dd48 esp=0023ec80 ebp=0023f038 iopl=0         nv up ei pl nz ac po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000216

Call stack:
0052DD48  simutrans-.exe:0052DD48  planquadrat_t::boden_entfernen(grund_t*)  simplan.cc:151
...
// found
while(i<ground_size) {
> data.some[i] = data.some[i+1];
i++;
}
...

00569338  simutrans-.exe:00569338  karte_t::neuer_monat()  simworld.cc:2086
...
for(int i=0; i<MAX_PLAYER_COUNT; i++) {
if(spieler[i] != NULL) {
> spieler[i]->neuer_monat();
}
}
...

0059A013  simutrans-.exe:0059A013  WinMain  simsys_w16.cc:756
...
GetWindowRect(GetDesktopWindow(), &MaxSize);

> simu_main(argc, argv);

#ifdef MULTI_THREAD
...

00401247  simutrans-.exe:00401247
00401298  simutrans-.exe:00401298
7C817067  kernel32.dll:7C817067  RegisterWaitForInputIdle