Openapoc: [Kecelakaan] pada misi berbintik alien (Kesalahan segmentasi)

Dibuat pada 9 Mar 2019  ·  5Komentar  ·  Sumber: OpenApoc/OpenApoc

Kecelakaan selama misi dalam mode waktu nyata

daftar gdb
`Utas 1 "utama" menerima sinyal SIGSEGV, Kesalahan segmentasi.
OpenApoc::BattleHazard::update (ini=0x60000000d, status=..., ticks=1)
di /home/atrosha/OpenApoc/game/state/battle/battlehazard.cpp:490
490 jika (centangUntilVisible > 0)
(gdb) tumpukan info

0 OpenApoc::BattleHazard::update (ini=0x60000000d, status=..., ticks=1)

at /home/atrosha/OpenApoc/game/state/battle/battlehazard.cpp:490

1 0x00000000007378f1 di OpenApoc::Battle::update (ini=,

state=..., ticks=1)
at /home/atrosha/OpenApoc/game/state/battle/battle.cpp:1675

2 0x00000000008aa757 di OpenApoc::GameState::update (ini=0x5989410, ticks=1)

at /home/atrosha/OpenApoc/game/state/gamestate.cpp:959

3 0x000000000052bf2d di OpenApoc::BattleView::update (ini=)

at /home/atrosha/OpenApoc/game/ui/tileview/battleview.cpp:1443

4 0x00000000004569b8 di OpenApoc::Framework::run (ini=0xfd14d0,

initialStage=...) at /home/atrosha/OpenApoc/framework/framework.cpp:584

5 0x000000000043a1d4 di utama (argc=, argv=)

at /home/atrosha/OpenApoc/game/main.cpp:26`
!BUG! HIGH PRIORITY !BUG! low priority

Komentar yang paling membantu

536 mungkin memperbaiki ini tetapi akan sulit untuk diuji karena bug ini terjadi sekali dalam bulan biru. Kami harus menutup masalah ini setelah kami menggabungkan permintaan tarik dan membuka kembali jika bug tetap ada.

Semua 5 komentar

Hmm, sepertinya BattleHazard::update() dipanggil pada objek sampah -0x60000000d tidak terlihat waras untuk heap pointer....

Saya pikir ini disebabkan oleh iterator yang tidak valid: BattleHazard::update mungkin berakhir memanggil BattleHazard::expand , yang pada gilirannya dapat memanggil die() di BattleHazard terdekat. Jika hazard yang dimusnahkan menjadi yang berikutnya dalam iterasi, maka iterator yang digunakan di Battle::update menjadi tidak valid (lihat https://en.cppreference.com/w/cpp/container/set/erase)

Ini adalah satu-satunya penjelasan yang dapat saya pikirkan

529 menyebabkan game lebih sering crash pada misi tersebut. Tapi tidak ada yang bereaksi terhadapnya. ehhh...

Juga, saya menyelesaikan misi itu dalam mode waktu nyata tanpa kesalahan nanti.

Sangat aneh.

536 mungkin memperbaiki ini tetapi akan sulit untuk diuji karena bug ini terjadi sekali dalam bulan biru. Kami harus menutup masalah ini setelah kami menggabungkan permintaan tarik dan membuka kembali jika bug tetap ada.

Respon bagus dan cepat. Bisakah saya menyebutkan Anda di video saya berikutnya?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat