投稿者 トピック: [nightly] 画面を拡大するとクラッシュする  (参照数 4102 回)

z9999+

  • 管理人
  • 急行
  • *
  • 投稿: 381
[nightly, Windows]
問題:
画面を拡大するとクラッシュする。

再現方法:
1. pak64フォルダにbuilding.university-a.pakを入れる。
2. ランドマークツールで、university-aを建設する。
3. ゲーム画面を拡大する。

結果:
クラッシュする

Problem:
Zoom-in causes to crash.

1. Download building.university-a.pak and add it in pak64 folder.
2. Build university-a with curiosity builder tool.
3. Zoom-in map.

Result:
Crash.

コード: [選択]
sim.exe caused an Access Violation at location 7c951689 in module ntdll.dll Reading from location 2d6b2d6b.

Registers:
eax=088382a0 ebx=03b00000 ecx=2d6b2d6b edx=2d6b004e esi=08838298 edi=08853000
eip=7c951689 esp=0023e098 ebp=0023e0a4 iopl=0         nv up ei pl zr na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000246

Call stack:
7C951689  ntdll.dll:7C951689  RtlInitializeCriticalSection
7C95A3F5  ntdll.dll:7C95A3F5  RtlReAllocateHeap
7C951937  ntdll.dll:7C951937  RtlInitializeCriticalSection
77BDC3C9  msvcrt.dll:77BDC3C9  free
77BDC3E7  msvcrt.dll:77BDC3E7  free
77BDC42E  msvcrt.dll:77BDC42E  malloc
0057EA07  sim4095d.exe:0057EA07  xmalloc(unsigned)  simmem.cc:156
...
#endif

> void* const p = malloc(size);
#endif
if (!p) {
...

005E3EE2  sim4095d.exe:005E3EE2  recode_normal_img(unsigned)  simgraph16.cc:1121
...

if (images[n].data == NULL) {
> images[n].data = MALLOCN(PIXVAL, images[n].len);
}
// now do normal recode
...

005EA567  sim4095d.exe:005EA567  display_img_aux(unsigned, short, short, signed char, int, int)  simgraph16.cc:2401
...
if (images[n].recode_flags&FLAG_REZOOM) {
rezoom_img(n);
> recode_normal_img(n);
} else if (images[n].recode_flags&FLAG_NORMAL_RECODE) {
recode_normal_img(n);
...

0056260D  sim4095d.exe:0056260D  ding_t::display(int, int, bool) const  simdings.cc:251
00606362  sim4095d.exe:00606362  local_display_dinge_bg(ding_t const*, short, short, bool)  dingliste.cc:1076
...
const bool display_ding = !ding->is_moving();
if (display_ding) {
> ding->display(xpos, ypos, reset_dirty );
}
return display_ding;
...

0043EF34  sim4095d.exe:0043EF34  dingliste_t::display_dinge_bg(short, short, unsigned char, bool) const  dingliste.cc:1096
...

for(uint8 n=start_offset; n<top; n++) {
> if (!local_display_dinge_bg(obj.some[n], xpos, ypos, reset_dirty)) {
return n;
}
...

00432451  sim4095d.exe:00432451  grund_t::display_dinge_bg(short, short, bool, bool, bool) const  grund.cc:1138
...
// display background images of everything but vehicles
const uint8 start_offset=draw_ways ? 0 : offsets[flags/has_way1];
> return dinge.display_dinge_bg( xpos, ypos, start_offset, is_global );
}
else { // must be karten_boden
...

004313B3  sim4095d.exe:004313B3  grund_t::display_dinge_all(short, short, short, bool) const  grund.cc:991
...
// display background
activate_ribi_clip(ribi_t::nordwest & ribi);
> const uint8 offset_vh = display_dinge_bg(xpos, ypos, is_global, true, visible);
if (visible) {
// display our vehicles
...

005885E6  sim4095d.exe:005885E6  planquadrat_t::display_dinge(short, short, short, bool, signed char, signed char) const  simplan.cc:387
0058B5FB  sim4095d.exe:0058B5FB  karte_ansicht_t::display(bool)  simview.cc:198
00577411  sim4095d.exe:00577411  intr_refresh_display(bool)  simintr.cc:75
005B7333  sim4095d.exe:005B7333  karte_t::sync_step(long, bool, bool)  simworld.cc:2637
...
DBG_DEBUG4("karte_t::sync_step", "display stuff");
// display new frame with water animation
> intr_refresh_display( false );
update_frame_sleep_time(delta_t);
}
...

00577528  sim4095d.exe:00577528  interrupt_check(char const*)  simintr.cc:102
005C446B  sim4095d.exe:005C446B  karte_t::interactive(unsigned)  simworld.cc:5591
...
dr_sleep( 9 );
}
> INT_CHECK( "karte_t::interactive()" );
}
DBG_DEBUG4("karte_t::interactive", "end of sleep");
...

0057E60F  sim4095d.exe:0057E60F  simu_main(int, char**)  simmain.cc:1152
...

// run the loop
> welt->interactive(quit_month);

new_world = true;
...

005F0EF7  sim4095d.exe:005F0EF7  WinMain  simsys_w16.cc:805
...
}

> simu_main(argc, argv);
timeEndPeriod(1);

...

005F1CCA  sim4095d.exe:005F1CCA  dr_play_sample(int, int)  win32_sound.cc:103
...
last_sample_nr = sample_number;
}
> }

...

00401247  sim4095d.exe:00401247
004012B8  sim4095d.exe:004012B8
7C817077  kernel32.dll:7C817077  RegisterWaitForInputIdle