Openapoc: [تحطم] في مهمة فضائية مرقطة (خطأ تجزئة)

تم إنشاؤها على ٩ مارس ٢٠١٩  ·  5تعليقات  ·  مصدر: OpenApoc/OpenApoc

تحطم أثناء المهمة في وضع الوقت الحقيقي

قائمة gdb
استقبل "الخيط 1" إشارة SIGSEGV ، خطأ الانقسام.
OpenApoc :: BattleHazard :: update (this = 0x60000000d، state = ...، ticks = 1)
في /home/atrosha/OpenApoc/game/state/battle/battlehazard.cpp:490
490 if (ticksUntilVisible> 0)
(gdb) معلومات المكدس

0 OpenApoc :: BattleHazard :: update (هذا = 0x60000000d، state = ...، ticks = 1)

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

1 0x00000000007378f1 في OpenApoc :: Battle :: update (this =و

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

2 0x00000000008aa757 في OpenApoc :: GameState :: تحديث (هذا = 0x5989410 ، علامات التجزئة = 1)

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

3 0x000000000052bf2d في OpenApoc :: BattleView :: update (this =)

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

4 0x00000000004569b8 في OpenApoc :: Framework :: run (هذا = 0xfd14d0 ،

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

5 0x000000000043a1d4 بشكل رئيسي (argc =، argv =)

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

التعليق الأكثر فائدة

536 قد يصلح هذا ولكن سيكون من الصعب اختباره لأن هذا الخطأ يحدث مرة واحدة في القمر الأزرق. يجب أن نغلق هذه المشكلة بمجرد دمج طلب السحب وإعادة الفتح في حالة استمرار الخطأ.

ال 5 كومينتر

حسنًا ، يبدو أن BattleHazard :: update () يتم استدعاؤه على كائن غير هام -0x60000000d لا يبدو عاقلًا بالنسبة لمؤشر كومة ....

أعتقد أن هذا ناتج عن مكرر غير صالح: BattleHazard::update قد ينتهي به الأمر باستدعاء BattleHazard::expand ، والذي بدوره يمكنه استدعاء die() على BattleHazard قريبة. إذا كان الخطر المدمر هو التالي في التكرار ، فإن المكرر المستخدم في Battle::update يصبح غير صالح (راجع https://en.cppreference.com/w/cpp/container/set/erase)

هذا هو التفسير الوحيد الذي يمكنني التفكير فيه

529 يتسبب في تعطل اللعبة في كثير من الأحيان في تلك المهمة. لكن لا أحد يتفاعل معها. ايه ...

أيضًا ، لقد أنهيت هذه المهمة في وضع الوقت الفعلي دون أي أخطاء لاحقًا.

غريب جدا.

536 قد يصلح هذا ولكن سيكون من الصعب اختباره لأن هذا الخطأ يحدث مرة واحدة في القمر الأزرق. يجب أن نغلق هذه المشكلة بمجرد دمج طلب السحب وإعادة الفتح في حالة استمرار الخطأ.

استجابة لطيفة وسريعة. هل يمكنني أن أذكرك في الفيديو التالي الخاص بي؟

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات