Incidencia #47653

city.c: assertion 'pcity != ((void *)0)' failed

Abrir Fecha: 2023-03-23 09:00 Última actualización: 2023-06-17 16:56

Informador:
Propietario:
Tipo:
Estado:
Cerrado
Componente:
Prioridad:
5 - Medium
Gravedad:
5 - Medium
Resolución:
Fixed
Fichero:
5

Details

Crash to desktop that can be recreated with the attached modpack in v3.0.4 and also v3.0.6: 1) Load the attached savegame 2) Select the explorer that is inside the city Nerik, and move it to the nearest enemy city named Carnuntum 3) Select the option to Investigate city (available for explorers in this ruleset)

Game crashes with the error:

1: in city_map_radius_sq_get() [city.c::134]: assertion 'pcity != ((void *)0)' failed.
2: Backtrace:
2:     0: ./client/freeciv-qt(backtrace_print+0x3b) [0x55bc9c6d597b]
2:     1: ./client/freeciv-qt(vdo_log+0xad) [0x55bc9c6db6fd]
2:     2: ./client/freeciv-qt(do_log+0xb6) [0x55bc9c6db7e6]
2:     3: ./client/freeciv-qt(fc_assert_fail+0xbc) [0x55bc9c6dba2c]
2:     4: ./client/freeciv-qt(+0x274acf) [0x55bc9c5c2acf]
2:     5: ./client/freeciv-qt(is_req_active+0x2467) [0x55bc9c6b40e7]
2:     6: ./client/freeciv-qt(are_reqs_active+0x8d) [0x55bc9c6b499d]
2:     7: ./client/freeciv-qt(get_target_bonus_effects+0xf6) [0x55bc9c5cc1b6]
2:     8: ./client/freeciv-qt(get_tile_output_bonus+0x32) [0x55bc9c5cc472]
2:     9: ./client/freeciv-qt(city_tile_output+0x130) [0x55bc9c5c4b50]
2:    10: ./client/freeciv-qt(fill_sprite_array+0x3a2a) [0x55bc9c48095a]
2:    11: ./client/freeciv-qt(put_one_element+0x64) [0x55bc9c44c184]
2:    12: ./client/freeciv-qt(city_dialog_redraw_map+0x464) [0x55bc9c574114]
2:    13: ./client/freeciv-qt(_ZN8city_map10set_pixmapEP4cityf+0x6a) [0x55bc9c49ef4a]
2:    14: ./client/freeciv-qt(_ZN11city_dialog7refreshEv+0x44) [0x55bc9c4ab2b4]
2:    15: ./client/freeciv-qt(_ZN11city_dialog8setup_uiEP4city+0x94) [0x55bc9c4ab3e4]
2:    16: ./client/freeciv-qt(_Z26qtg_real_city_dialog_popupP4city+0x52) [0x55bc9c4ab492]
2:    17: ./client/freeciv-qt(+0x1393eb) [0x55bc9c4873eb]
2:    18: ./client/freeciv-qt(+0x139572) [0x55bc9c487572]
2:    19: ./client/freeciv-qt(_ZN7mr_idle6idlingEv+0x37) [0x55bc9c5082b7]
2:    20: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN11QMetaObject8activateEP7QObjectiiPPv+0x928) [0x7f89b4dda328]
2:    21: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN6QTimer7timeoutENS_14QPrivateSignalE+0x3e) [0x7f89b4de73ee]
2:    22: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN7QObject5eventEP6QEvent+0x1d5) [0x7f89b4ddabc5]
2:    23: /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x86) [0x7f89b45f7a66]
2:    24: /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x330) [0x7f89b46010f0]
2:    25: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x18a) [0x7f89b4dae80a]
2:    26: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN14QTimerInfoList14activateTimersEv+0x3d0) [0x7f89b4e05780]
2:    27: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0x2de06c) [0x7f89b4e0606c]
2:    28: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x27d) [0x7f89b106117d]
2:    29: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x52400) [0x7f89b1061400]
2:    30: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x33) [0x7f89b10614a3]
2:    31: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x65) [0x7f89b4e06435]
2:    32: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x12b) [0x7f89b4dad3ab]
2:    33: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN16QCoreApplication4execEv+0x96) [0x7f89b4db5116]
2:    34: ./client/freeciv-qt(_ZN9fc_client7fc_mainEP12QApplication+0x1c1) [0x55bc9c4d47c1]
2:    35: ./client/freeciv-qt(_Z11qtg_ui_mainiPPc+0x1c3) [0x55bc9c4220e3]
2:    36: ./client/freeciv-qt(client_main+0xdb4) [0x55bc9c424cf4]
2:    37: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f89b3f4e083]
2:    38: ./client/freeciv-qt(_start+0x2e) [0x55bc9c4211ae]
1: Please report this message at https://osdn.net/projects/freeciv/ticket/
2: Backtrace:
2:     0: ./client/freeciv-qt(backtrace_print+0x3b) [0x55bc9c6d597b]
2:     1: ./client/freeciv-qt(vdo_log+0xad) [0x55bc9c6db6fd]
2:     2: ./client/freeciv-qt(do_log+0xb6) [0x55bc9c6db7e6]
2:     3: ./client/freeciv-qt(fc_assert_fail+0x159) [0x55bc9c6dbac9]
2:     4: ./client/freeciv-qt(+0x274acf) [0x55bc9c5c2acf]
2:     5: ./client/freeciv-qt(is_req_active+0x2467) [0x55bc9c6b40e7]
2:     6: ./client/freeciv-qt(are_reqs_active+0x8d) [0x55bc9c6b499d]
2:     7: ./client/freeciv-qt(get_target_bonus_effects+0xf6) [0x55bc9c5cc1b6]
2:     8: ./client/freeciv-qt(get_tile_output_bonus+0x32) [0x55bc9c5cc472]
2:     9: ./client/freeciv-qt(city_tile_output+0x130) [0x55bc9c5c4b50]
2:    10: ./client/freeciv-qt(fill_sprite_array+0x3a2a) [0x55bc9c48095a]
2:    11: ./client/freeciv-qt(put_one_element+0x64) [0x55bc9c44c184]
2:    12: ./client/freeciv-qt(city_dialog_redraw_map+0x464) [0x55bc9c574114]
2:    13: ./client/freeciv-qt(_ZN8city_map10set_pixmapEP4cityf+0x6a) [0x55bc9c49ef4a]
2:    14: ./client/freeciv-qt(_ZN11city_dialog7refreshEv+0x44) [0x55bc9c4ab2b4]
2:    15: ./client/freeciv-qt(_ZN11city_dialog8setup_uiEP4city+0x94) [0x55bc9c4ab3e4]
2:    16: ./client/freeciv-qt(_Z26qtg_real_city_dialog_popupP4city+0x52) [0x55bc9c4ab492]
2:    17: ./client/freeciv-qt(+0x1393eb) [0x55bc9c4873eb]
2:    18: ./client/freeciv-qt(+0x139572) [0x55bc9c487572]
2:    19: ./client/freeciv-qt(_ZN7mr_idle6idlingEv+0x37) [0x55bc9c5082b7]
2:    20: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN11QMetaObject8activateEP7QObjectiiPPv+0x928) [0x7f89b4dda328]
2:    21: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN6QTimer7timeoutENS_14QPrivateSignalE+0x3e) [0x7f89b4de73ee]
2:    22: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN7QObject5eventEP6QEvent+0x1d5) [0x7f89b4ddabc5]
2:    23: /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x86) [0x7f89b45f7a66]
2:    24: /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x330) [0x7f89b46010f0]
2:    25: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x18a) [0x7f89b4dae80a]
2:    26: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN14QTimerInfoList14activateTimersEv+0x3d0) [0x7f89b4e05780]
2:    27: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0x2de06c) [0x7f89b4e0606c]
2:    28: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x27d) [0x7f89b106117d]
2:    29: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x52400) [0x7f89b1061400]
2:    30: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x33) [0x7f89b10614a3]
2:    31: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x65) [0x7f89b4e06435]
2:    32: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x12b) [0x7f89b4dad3ab]
2:    33: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN16QCoreApplication4execEv+0x96) [0x7f89b4db5116]
2:    34: ./client/freeciv-qt(_ZN9fc_client7fc_mainEP12QApplication+0x1c1) [0x55bc9c4d47c1]
2:    35: ./client/freeciv-qt(_Z11qtg_ui_mainiPPc+0x1c3) [0x55bc9c4220e3]
2:    36: ./client/freeciv-qt(client_main+0xdb4) [0x55bc9c424cf4]
2:    37: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f89b3f4e083]
2:    38: ./client/freeciv-qt(_start+0x2e) [0x55bc9c4211ae]
1: in city_map_radius_sq_get() [city.c::134]: assertion 'pcity != ((void *)0)' failed.
2: Backtrace:
2:     0: ./client/freeciv-qt(backtrace_print+0x3b) [0x55bc9c6d597b]
2:     1: ./client/freeciv-qt(vdo_log+0xad) [0x55bc9c6db6fd]
2:     2: ./client/freeciv-qt(do_log+0xb6) [0x55bc9c6db7e6]
2:     3: ./client/freeciv-qt(fc_assert_fail+0xbc) [0x55bc9c6dba2c]
2:     4: ./client/freeciv-qt(+0x274acf) [0x55bc9c5c2acf]
2:     5: ./client/freeciv-qt(is_req_active+0x2498) [0x55bc9c6b4118]
2:     6: ./client/freeciv-qt(are_reqs_active+0x8d) [0x55bc9c6b499d]
2:     7: ./client/freeciv-qt(get_target_bonus_effects+0xf6) [0x55bc9c5cc1b6]
2:     8: ./client/freeciv-qt(get_tile_output_bonus+0x32) [0x55bc9c5cc472]
2:     9: ./client/freeciv-qt(city_tile_output+0x130) [0x55bc9c5c4b50]
2:    10: ./client/freeciv-qt(fill_sprite_array+0x3a2a) [0x55bc9c48095a]
2:    11: ./client/freeciv-qt(put_one_element+0x64) [0x55bc9c44c184]
2:    12: ./client/freeciv-qt(city_dialog_redraw_map+0x464) [0x55bc9c574114]
2:    13: ./client/freeciv-qt(_ZN8city_map10set_pixmapEP4cityf+0x6a) [0x55bc9c49ef4a]
2:    14: ./client/freeciv-qt(_ZN11city_dialog7refreshEv+0x44) [0x55bc9c4ab2b4]
2:    15: ./client/freeciv-qt(_ZN11city_dialog8setup_uiEP4city+0x94) [0x55bc9c4ab3e4]
2:    16: ./client/freeciv-qt(_Z26qtg_real_city_dialog_popupP4city+0x52) [0x55bc9c4ab492]
2:    17: ./client/freeciv-qt(+0x1393eb) [0x55bc9c4873eb]
2:    18: ./client/freeciv-qt(+0x139572) [0x55bc9c487572]
2:    19: ./client/freeciv-qt(_ZN7mr_idle6idlingEv+0x37) [0x55bc9c5082b7]
2:    20: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN11QMetaObject8activateEP7QObjectiiPPv+0x928) [0x7f89b4dda328]
2:    21: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN6QTimer7timeoutENS_14QPrivateSignalE+0x3e) [0x7f89b4de73ee]
2:    22: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN7QObject5eventEP6QEvent+0x1d5) [0x7f89b4ddabc5]
2:    23: /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x86) [0x7f89b45f7a66]
2:    24: /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x330) [0x7f89b46010f0]
2:    25: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x18a) [0x7f89b4dae80a]
2:    26: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN14QTimerInfoList14activateTimersEv+0x3d0) [0x7f89b4e05780]
2:    27: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0x2de06c) [0x7f89b4e0606c]
2:    28: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x27d) [0x7f89b106117d]
2:    29: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x52400) [0x7f89b1061400]
2:    30: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x33) [0x7f89b10614a3]
2:    31: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x65) [0x7f89b4e06435]
2:    32: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x12b) [0x7f89b4dad3ab]
2:    33: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN16QCoreApplication4execEv+0x96) [0x7f89b4db5116]
2:    34: ./client/freeciv-qt(_ZN9fc_client7fc_mainEP12QApplication+0x1c1) [0x55bc9c4d47c1]
2:    35: ./client/freeciv-qt(_Z11qtg_ui_mainiPPc+0x1c3) [0x55bc9c4220e3]
2:    36: ./client/freeciv-qt(client_main+0xdb4) [0x55bc9c424cf4]
2:    37: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f89b3f4e083]
2:    38: ./client/freeciv-qt(_start+0x2e) [0x55bc9c4211ae]
1: Please report this message at https://osdn.net/projects/freeciv/ticket/
2: Backtrace:
2:     0: ./client/freeciv-qt(backtrace_print+0x3b) [0x55bc9c6d597b]
2:     1: ./client/freeciv-qt(vdo_log+0xad) [0x55bc9c6db6fd]
2:     2: ./client/freeciv-qt(do_log+0xb6) [0x55bc9c6db7e6]
2:     3: ./client/freeciv-qt(fc_assert_fail+0x159) [0x55bc9c6dbac9]
2:     4: ./client/freeciv-qt(+0x274acf) [0x55bc9c5c2acf]
2:     5: ./client/freeciv-qt(is_req_active+0x2498) [0x55bc9c6b4118]
2:     6: ./client/freeciv-qt(are_reqs_active+0x8d) [0x55bc9c6b499d]
2:     7: ./client/freeciv-qt(get_target_bonus_effects+0xf6) [0x55bc9c5cc1b6]
2:     8: ./client/freeciv-qt(get_tile_output_bonus+0x32) [0x55bc9c5cc472]
2:     9: ./client/freeciv-qt(city_tile_output+0x130) [0x55bc9c5c4b50]
2:    10: ./client/freeciv-qt(fill_sprite_array+0x3a2a) [0x55bc9c48095a]
2:    11: ./client/freeciv-qt(put_one_element+0x64) [0x55bc9c44c184]
2:    12: ./client/freeciv-qt(city_dialog_redraw_map+0x464) [0x55bc9c574114]
2:    13: ./client/freeciv-qt(_ZN8city_map10set_pixmapEP4cityf+0x6a) [0x55bc9c49ef4a]
2:    14: ./client/freeciv-qt(_ZN11city_dialog7refreshEv+0x44) [0x55bc9c4ab2b4]
2:    15: ./client/freeciv-qt(_ZN11city_dialog8setup_uiEP4city+0x94) [0x55bc9c4ab3e4]
2:    16: ./client/freeciv-qt(_Z26qtg_real_city_dialog_popupP4city+0x52) [0x55bc9c4ab492]
2:    17: ./client/freeciv-qt(+0x1393eb) [0x55bc9c4873eb]
2:    18: ./client/freeciv-qt(+0x139572) [0x55bc9c487572]
2:    19: ./client/freeciv-qt(_ZN7mr_idle6idlingEv+0x37) [0x55bc9c5082b7]
2:    20: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN11QMetaObject8activateEP7QObjectiiPPv+0x928) [0x7f89b4dda328]
2:    21: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN6QTimer7timeoutENS_14QPrivateSignalE+0x3e) [0x7f89b4de73ee]
2:    22: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN7QObject5eventEP6QEvent+0x1d5) [0x7f89b4ddabc5]
2:    23: /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x86) [0x7f89b45f7a66]
2:    24: /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x330) [0x7f89b46010f0]
2:    25: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x18a) [0x7f89b4dae80a]
2:    26: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN14QTimerInfoList14activateTimersEv+0x3d0) [0x7f89b4e05780]
2:    27: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0x2de06c) [0x7f89b4e0606c]
2:    28: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x27d) [0x7f89b106117d]
2:    29: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x52400) [0x7f89b1061400]
2:    30: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x33) [0x7f89b10614a3]
2:    31: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x65) [0x7f89b4e06435]
2:    32: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x12b) [0x7f89b4dad3ab]
2:    33: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN16QCoreApplication4execEv+0x96) [0x7f89b4db5116]
2:    34: ./client/freeciv-qt(_ZN9fc_client7fc_mainEP12QApplication+0x1c1) [0x55bc9c4d47c1]
2:    35: ./client/freeciv-qt(_Z11qtg_ui_mainiPPc+0x1c3) [0x55bc9c4220e3]
2:    36: ./client/freeciv-qt(client_main+0xdb4) [0x55bc9c424cf4]
2:    37: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f89b3f4e083]
2:    38: ./client/freeciv-qt(_start+0x2e) [0x55bc9c4211ae]
1: in city_map_radius_sq_get() [city.c::134]: assertion 'pcity != ((void *)0)' failed.
2: Backtrace:
2:     0: ./client/freeciv-qt(backtrace_print+0x3b) [0x55bc9c6d597b]
2:     1: ./client/freeciv-qt(vdo_log+0xad) [0x55bc9c6db6fd]
2:     2: ./client/freeciv-qt(do_log+0xb6) [0x55bc9c6db7e6]
2:     3: ./client/freeciv-qt(fc_assert_fail+0xbc) [0x55bc9c6dba2c]
2:     4: ./client/freeciv-qt(+0x274acf) [0x55bc9c5c2acf]
2:     5: ./client/freeciv-qt(is_req_active+0x24c6) [0x55bc9c6b4146]
2:     6: ./client/freeciv-qt(are_reqs_active+0x8d) [0x55bc9c6b499d]
2:     7: ./client/freeciv-qt(get_target_bonus_effects+0xf6) [0x55bc9c5cc1b6]
2:     8: ./client/freeciv-qt(get_tile_output_bonus+0x32) [0x55bc9c5cc472]
2:     9: ./client/freeciv-qt(city_tile_output+0x130) [0x55bc9c5c4b50]
2:    10: ./client/freeciv-qt(fill_sprite_array+0x3a2a) [0x55bc9c48095a]
2:    11: ./client/freeciv-qt(put_one_element+0x64) [0x55bc9c44c184]
2:    12: ./client/freeciv-qt(city_dialog_redraw_map+0x464) [0x55bc9c574114]
2:    13: ./client/freeciv-qt(_ZN8city_map10set_pixmapEP4cityf+0x6a) [0x55bc9c49ef4a]
2:    14: ./client/freeciv-qt(_ZN11city_dialog7refreshEv+0x44) [0x55bc9c4ab2b4]
2:    15: ./client/freeciv-qt(_ZN11city_dialog8setup_uiEP4city+0x94) [0x55bc9c4ab3e4]
2:    16: ./client/freeciv-qt(_Z26qtg_real_city_dialog_popupP4city+0x52) [0x55bc9c4ab492]
2:    17: ./client/freeciv-qt(+0x1393eb) [0x55bc9c4873eb]
2:    18: ./client/freeciv-qt(+0x139572) [0x55bc9c487572]
2:    19: ./client/freeciv-qt(_ZN7mr_idle6idlingEv+0x37) [0x55bc9c5082b7]
2:    20: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN11QMetaObject8activateEP7QObjectiiPPv+0x928) [0x7f89b4dda328]
2:    21: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN6QTimer7timeoutENS_14QPrivateSignalE+0x3e) [0x7f89b4de73ee]
2:    22: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN7QObject5eventEP6QEvent+0x1d5) [0x7f89b4ddabc5]
2:    23: /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x86) [0x7f89b45f7a66]
2:    24: /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x330) [0x7f89b46010f0]
2:    25: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x18a) [0x7f89b4dae80a]
2:    26: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN14QTimerInfoList14activateTimersEv+0x3d0) [0x7f89b4e05780]
2:    27: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0x2de06c) [0x7f89b4e0606c]
2:    28: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x27d) [0x7f89b106117d]
2:    29: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x52400) [0x7f89b1061400]
2:    30: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x33) [0x7f89b10614a3]
2:    31: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x65) [0x7f89b4e06435]
2:    32: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x12b) [0x7f89b4dad3ab]
2:    33: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN16QCoreApplication4execEv+0x96) [0x7f89b4db5116]
2:    34: ./client/freeciv-qt(_ZN9fc_client7fc_mainEP12QApplication+0x1c1) [0x55bc9c4d47c1]
2:    35: ./client/freeciv-qt(_Z11qtg_ui_mainiPPc+0x1c3) [0x55bc9c4220e3]
2:    36: ./client/freeciv-qt(client_main+0xdb4) [0x55bc9c424cf4]
2:    37: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f89b3f4e083]
2:    38: ./client/freeciv-qt(_start+0x2e) [0x55bc9c4211ae]
1: Please report this message at https://osdn.net/projects/freeciv/ticket/
2: Backtrace:
2:     0: ./client/freeciv-qt(backtrace_print+0x3b) [0x55bc9c6d597b]
2:     1: ./client/freeciv-qt(vdo_log+0xad) [0x55bc9c6db6fd]
2:     2: ./client/freeciv-qt(do_log+0xb6) [0x55bc9c6db7e6]
2:     3: ./client/freeciv-qt(fc_assert_fail+0x159) [0x55bc9c6dbac9]
2:     4: ./client/freeciv-qt(+0x274acf) [0x55bc9c5c2acf]
2:     5: ./client/freeciv-qt(is_req_active+0x24c6) [0x55bc9c6b4146]
2:     6: ./client/freeciv-qt(are_reqs_active+0x8d) [0x55bc9c6b499d]
2:     7: ./client/freeciv-qt(get_target_bonus_effects+0xf6) [0x55bc9c5cc1b6]
2:     8: ./client/freeciv-qt(get_tile_output_bonus+0x32) [0x55bc9c5cc472]
2:     9: ./client/freeciv-qt(city_tile_output+0x130) [0x55bc9c5c4b50]
2:    10: ./client/freeciv-qt(fill_sprite_array+0x3a2a) [0x55bc9c48095a]
2:    11: ./client/freeciv-qt(put_one_element+0x64) [0x55bc9c44c184]
2:    12: ./client/freeciv-qt(city_dialog_redraw_map+0x464) [0x55bc9c574114]
2:    13: ./client/freeciv-qt(_ZN8city_map10set_pixmapEP4cityf+0x6a) [0x55bc9c49ef4a]
2:    14: ./client/freeciv-qt(_ZN11city_dialog7refreshEv+0x44) [0x55bc9c4ab2b4]
2:    15: ./client/freeciv-qt(_ZN11city_dialog8setup_uiEP4city+0x94) [0x55bc9c4ab3e4]
2:    16: ./client/freeciv-qt(_Z26qtg_real_city_dialog_popupP4city+0x52) [0x55bc9c4ab492]
2:    17: ./client/freeciv-qt(+0x1393eb) [0x55bc9c4873eb]
2:    18: ./client/freeciv-qt(+0x139572) [0x55bc9c487572]
2:    19: ./client/freeciv-qt(_ZN7mr_idle6idlingEv+0x37) [0x55bc9c5082b7]
2:    20: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN11QMetaObject8activateEP7QObjectiiPPv+0x928) [0x7f89b4dda328]
2:    21: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN6QTimer7timeoutENS_14QPrivateSignalE+0x3e) [0x7f89b4de73ee]
2:    22: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN7QObject5eventEP6QEvent+0x1d5) [0x7f89b4ddabc5]
2:    23: /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x86) [0x7f89b45f7a66]
2:    24: /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x330) [0x7f89b46010f0]
2:    25: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x18a) [0x7f89b4dae80a]
2:    26: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN14QTimerInfoList14activateTimersEv+0x3d0) [0x7f89b4e05780]
2:    27: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0x2de06c) [0x7f89b4e0606c]
2:    28: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x27d) [0x7f89b106117d]
2:    29: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x52400) [0x7f89b1061400]
2:    30: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x33) [0x7f89b10614a3]
2:    31: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x65) [0x7f89b4e06435]
2:    32: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x12b) [0x7f89b4dad3ab]
2:    33: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN16QCoreApplication4execEv+0x96) [0x7f89b4db5116]
2:    34: ./client/freeciv-qt(_ZN9fc_client7fc_mainEP12QApplication+0x1c1) [0x55bc9c4d47c1]
2:    35: ./client/freeciv-qt(_Z11qtg_ui_mainiPPc+0x1c3) [0x55bc9c4220e3]
2:    36: ./client/freeciv-qt(client_main+0xdb4) [0x55bc9c424cf4]
2:    37: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f89b3f4e083]
2:    38: ./client/freeciv-qt(_start+0x2e) [0x55bc9c4211ae]
Violación de segmento (`core' generado)

Ticket History (3/30 Histories)

2023-03-23 09:00 Updated by: bard
  • New Ticket "city.c: assertion 'pcity != ((void *)0)' failed" created
2023-03-23 09:09 Updated by: bard
Comentario

Note it is an experimental version of my modpack from when the crash first happened (4 months ago, while playing 3.0.4), that I kept stored until I have been able to report it here properly.

The crash can still be reproduced with my current version of the ruleset, playing 3.0.6. If I avoid the use of that explorer to investigate that city, similar crashes end happening while investigating other cities with other units. I think it is a server error, if it is an error in my ruleset I have been unable to find it.

(Edited, 2023-03-23 09:14 Updated by: bard)
2023-03-23 09:16 Updated by: cazfi
  • Componente Update from Server to Qt-client
Comentario

Reply To bard

I think it is a server error, if it is an error in my ruleset I have been unable to find it.

You have a backtrace as a proof that freeciv crashed - so there definitely is a freeciv bug (but it's possible that it's just ruleset sanity checking allowing to load a broken ruleset)

Just that the backtrace is not from server, but as it has all those Qt calls, I assume it to be Qt-client.

2023-03-23 09:25 Updated by: bard
Comentario

Reply To cazfi

Just that the backtrace is not from server, but as it has all those Qt calls, I assume it to be Qt-client.

Right, the backtrace is from qt client, I blamed the server because I can reproduce the crash with other clients like gtk3.22:

1: in city_map_radius_sq_get() [city.c::134]: assertion 'pcity != ((void *)0)' failed.
2: Backtrace:
2:     0: ./client/freeciv-gtk3.22(backtrace_print+0x3b) [0x5577181c83bb]
2:     1: ./client/freeciv-gtk3.22(vdo_log+0xad) [0x5577181ce13d]
2:     2: ./client/freeciv-gtk3.22(do_log+0xb6) [0x5577181ce226]
2:     3: ./client/freeciv-gtk3.22(fc_assert_fail+0xbc) [0x5577181ce46c]
2:     4: ./client/freeciv-gtk3.22(+0x1844ff) [0x5577180b54ff]
2:     5: ./client/freeciv-gtk3.22(is_req_active+0x2467) [0x5577181a6b17]
2:     6: ./client/freeciv-gtk3.22(are_reqs_active+0x8d) [0x5577181a73cd]
2:     7: ./client/freeciv-gtk3.22(get_target_bonus_effects+0xf6) [0x5577180bebe6]
2:     8: ./client/freeciv-gtk3.22(get_city_bonus+0x39) [0x5577180bed29]
2:     9: ./client/freeciv-gtk3.22(city_illness_calc+0x112) [0x5577180b9302]
2:    10: ./client/freeciv-gtk3.22(+0xdf881) [0x557718010881]
2:    11: ./client/freeciv-gtk3.22(real_city_dialog_refresh+0x179) [0x557718011ee9]
2:    12: ./client/freeciv-gtk3.22(real_city_dialog_popup+0xc49) [0x557718013269]
2:    13: ./client/freeciv-gtk3.22(+0xd03fb) [0x5577180013fb]
2:    14: ./client/freeciv-gtk3.22(+0xd0582) [0x557718001582]
2:    15: ./client/freeciv-gtk3.22(+0x67b7f) [0x557717f98b7f]
2:    16: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x14e) [0x7fc16206d04e]
2:    17: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x52400) [0x7fc16206d400]
2:    18: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_loop_run+0x83) [0x7fc16206d6f3]
2:    19: /usr/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_main+0x7d) [0x7fc16288612d]
2:    20: ./client/freeciv-gtk3.22(ui_main+0x19b8) [0x557717f9b8b8]
2:    21: ./client/freeciv-gtk3.22(client_main+0xdb4) [0x557717f9ed04]
2:    22: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7fc161e28083]
2:    23: ./client/freeciv-gtk3.22(_start+0x2e) [0x557717f9882e]
1: Please report this message at https://osdn.net/projects/freeciv/ticket/
2: Backtrace:
2:     0: ./client/freeciv-gtk3.22(backtrace_print+0x3b) [0x5577181c83bb]
2:     1: ./client/freeciv-gtk3.22(vdo_log+0xad) [0x5577181ce13d]
2:     2: ./client/freeciv-gtk3.22(do_log+0xb6) [0x5577181ce226]
2:     3: ./client/freeciv-gtk3.22(fc_assert_fail+0x159) [0x5577181ce509]
2:     4: ./client/freeciv-gtk3.22(+0x1844ff) [0x5577180b54ff]
2:     5: ./client/freeciv-gtk3.22(is_req_active+0x2467) [0x5577181a6b17]
2:     6: ./client/freeciv-gtk3.22(are_reqs_active+0x8d) [0x5577181a73cd]
2:     7: ./client/freeciv-gtk3.22(get_target_bonus_effects+0xf6) [0x5577180bebe6]
2:     8: ./client/freeciv-gtk3.22(get_city_bonus+0x39) [0x5577180bed29]
2:     9: ./client/freeciv-gtk3.22(city_illness_calc+0x112) [0x5577180b9302]
2:    10: ./client/freeciv-gtk3.22(+0xdf881) [0x557718010881]
2:    11: ./client/freeciv-gtk3.22(real_city_dialog_refresh+0x179) [0x557718011ee9]
2:    12: ./client/freeciv-gtk3.22(real_city_dialog_popup+0xc49) [0x557718013269]
2:    13: ./client/freeciv-gtk3.22(+0xd03fb) [0x5577180013fb]
2:    14: ./client/freeciv-gtk3.22(+0xd0582) [0x557718001582]
2:    15: ./client/freeciv-gtk3.22(+0x67b7f) [0x557717f98b7f]
2:    16: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x14e) [0x7fc16206d04e]
2:    17: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x52400) [0x7fc16206d400]
2:    18: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_loop_run+0x83) [0x7fc16206d6f3]
2:    19: /usr/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_main+0x7d) [0x7fc16288612d]
2:    20: ./client/freeciv-gtk3.22(ui_main+0x19b8) [0x557717f9b8b8]
2:    21: ./client/freeciv-gtk3.22(client_main+0xdb4) [0x557717f9ed04]
2:    22: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7fc161e28083]
2:    23: ./client/freeciv-gtk3.22(_start+0x2e) [0x557717f9882e]
1: in city_map_radius_sq_get() [city.c::134]: assertion 'pcity != ((void *)0)' failed.
2: Backtrace:
2:     0: ./client/freeciv-gtk3.22(backtrace_print+0x3b) [0x5577181c83bb]
2:     1: ./client/freeciv-gtk3.22(vdo_log+0xad) [0x5577181ce13d]
2:     2: ./client/freeciv-gtk3.22(do_log+0xb6) [0x5577181ce226]
2:     3: ./client/freeciv-gtk3.22(fc_assert_fail+0xbc) [0x5577181ce46c]
2:     4: ./client/freeciv-gtk3.22(+0x1844ff) [0x5577180b54ff]
2:     5: ./client/freeciv-gtk3.22(is_req_active+0x2498) [0x5577181a6b48]
2:     6: ./client/freeciv-gtk3.22(are_reqs_active+0x8d) [0x5577181a73cd]
2:     7: ./client/freeciv-gtk3.22(get_target_bonus_effects+0xf6) [0x5577180bebe6]
2:     8: ./client/freeciv-gtk3.22(get_city_bonus+0x39) [0x5577180bed29]
2:     9: ./client/freeciv-gtk3.22(city_illness_calc+0x112) [0x5577180b9302]
2:    10: ./client/freeciv-gtk3.22(+0xdf881) [0x557718010881]
2:    11: ./client/freeciv-gtk3.22(real_city_dialog_refresh+0x179) [0x557718011ee9]
2:    12: ./client/freeciv-gtk3.22(real_city_dialog_popup+0xc49) [0x557718013269]
2:    13: ./client/freeciv-gtk3.22(+0xd03fb) [0x5577180013fb]
2:    14: ./client/freeciv-gtk3.22(+0xd0582) [0x557718001582]
2:    15: ./client/freeciv-gtk3.22(+0x67b7f) [0x557717f98b7f]
2:    16: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x14e) [0x7fc16206d04e]
2:    17: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x52400) [0x7fc16206d400]
2:    18: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_loop_run+0x83) [0x7fc16206d6f3]
2:    19: /usr/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_main+0x7d) [0x7fc16288612d]
2:    20: ./client/freeciv-gtk3.22(ui_main+0x19b8) [0x557717f9b8b8]
2:    21: ./client/freeciv-gtk3.22(client_main+0xdb4) [0x557717f9ed04]
2:    22: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7fc161e28083]
2:    23: ./client/freeciv-gtk3.22(_start+0x2e) [0x557717f9882e]
1: Please report this message at https://osdn.net/projects/freeciv/ticket/
2: Backtrace:
2:     0: ./client/freeciv-gtk3.22(backtrace_print+0x3b) [0x5577181c83bb]
2:     1: ./client/freeciv-gtk3.22(vdo_log+0xad) [0x5577181ce13d]
2:     2: ./client/freeciv-gtk3.22(do_log+0xb6) [0x5577181ce226]
2:     3: ./client/freeciv-gtk3.22(fc_assert_fail+0x159) [0x5577181ce509]
2:     4: ./client/freeciv-gtk3.22(+0x1844ff) [0x5577180b54ff]
2:     5: ./client/freeciv-gtk3.22(is_req_active+0x2498) [0x5577181a6b48]
2:     6: ./client/freeciv-gtk3.22(are_reqs_active+0x8d) [0x5577181a73cd]
2:     7: ./client/freeciv-gtk3.22(get_target_bonus_effects+0xf6) [0x5577180bebe6]
2:     8: ./client/freeciv-gtk3.22(get_city_bonus+0x39) [0x5577180bed29]
2:     9: ./client/freeciv-gtk3.22(city_illness_calc+0x112) [0x5577180b9302]
2:    10: ./client/freeciv-gtk3.22(+0xdf881) [0x557718010881]
2:    11: ./client/freeciv-gtk3.22(real_city_dialog_refresh+0x179) [0x557718011ee9]
2:    12: ./client/freeciv-gtk3.22(real_city_dialog_popup+0xc49) [0x557718013269]
2:    13: ./client/freeciv-gtk3.22(+0xd03fb) [0x5577180013fb]
2:    14: ./client/freeciv-gtk3.22(+0xd0582) [0x557718001582]
2:    15: ./client/freeciv-gtk3.22(+0x67b7f) [0x557717f98b7f]
2:    16: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x14e) [0x7fc16206d04e]
2:    17: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x52400) [0x7fc16206d400]
2:    18: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_loop_run+0x83) [0x7fc16206d6f3]
2:    19: /usr/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_main+0x7d) [0x7fc16288612d]
2:    20: ./client/freeciv-gtk3.22(ui_main+0x19b8) [0x557717f9b8b8]
2:    21: ./client/freeciv-gtk3.22(client_main+0xdb4) [0x557717f9ed04]
2:    22: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7fc161e28083]
2:    23: ./client/freeciv-gtk3.22(_start+0x2e) [0x557717f9882e]
1: in city_map_radius_sq_get() [city.c::134]: assertion 'pcity != ((void *)0)' failed.
2: Backtrace:
2:     0: ./client/freeciv-gtk3.22(backtrace_print+0x3b) [0x5577181c83bb]
2:     1: ./client/freeciv-gtk3.22(vdo_log+0xad) [0x5577181ce13d]
2:     2: ./client/freeciv-gtk3.22(do_log+0xb6) [0x5577181ce226]
2:     3: ./client/freeciv-gtk3.22(fc_assert_fail+0xbc) [0x5577181ce46c]
2:     4: ./client/freeciv-gtk3.22(+0x1844ff) [0x5577180b54ff]
2:     5: ./client/freeciv-gtk3.22(is_req_active+0x24c6) [0x5577181a6b76]
2:     6: ./client/freeciv-gtk3.22(are_reqs_active+0x8d) [0x5577181a73cd]
2:     7: ./client/freeciv-gtk3.22(get_target_bonus_effects+0xf6) [0x5577180bebe6]
2:     8: ./client/freeciv-gtk3.22(get_city_bonus+0x39) [0x5577180bed29]
2:     9: ./client/freeciv-gtk3.22(city_illness_calc+0x112) [0x5577180b9302]
2:    10: ./client/freeciv-gtk3.22(+0xdf881) [0x557718010881]
2:    11: ./client/freeciv-gtk3.22(real_city_dialog_refresh+0x179) [0x557718011ee9]
2:    12: ./client/freeciv-gtk3.22(real_city_dialog_popup+0xc49) [0x557718013269]
2:    13: ./client/freeciv-gtk3.22(+0xd03fb) [0x5577180013fb]
2:    14: ./client/freeciv-gtk3.22(+0xd0582) [0x557718001582]
2:    15: ./client/freeciv-gtk3.22(+0x67b7f) [0x557717f98b7f]
2:    16: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x14e) [0x7fc16206d04e]
2:    17: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x52400) [0x7fc16206d400]
2:    18: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_loop_run+0x83) [0x7fc16206d6f3]
2:    19: /usr/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_main+0x7d) [0x7fc16288612d]
2:    20: ./client/freeciv-gtk3.22(ui_main+0x19b8) [0x557717f9b8b8]
2:    21: ./client/freeciv-gtk3.22(client_main+0xdb4) [0x557717f9ed04]
2:    22: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7fc161e28083]
2:    23: ./client/freeciv-gtk3.22(_start+0x2e) [0x557717f9882e]
1: Please report this message at https://osdn.net/projects/freeciv/ticket/
2: Backtrace:
2:     0: ./client/freeciv-gtk3.22(backtrace_print+0x3b) [0x5577181c83bb]
2:     1: ./client/freeciv-gtk3.22(vdo_log+0xad) [0x5577181ce13d]
2:     2: ./client/freeciv-gtk3.22(do_log+0xb6) [0x5577181ce226]
2:     3: ./client/freeciv-gtk3.22(fc_assert_fail+0x159) [0x5577181ce509]
2:     4: ./client/freeciv-gtk3.22(+0x1844ff) [0x5577180b54ff]
2:     5: ./client/freeciv-gtk3.22(is_req_active+0x24c6) [0x5577181a6b76]
2:     6: ./client/freeciv-gtk3.22(are_reqs_active+0x8d) [0x5577181a73cd]
2:     7: ./client/freeciv-gtk3.22(get_target_bonus_effects+0xf6) [0x5577180bebe6]
2:     8: ./client/freeciv-gtk3.22(get_city_bonus+0x39) [0x5577180bed29]
2:     9: ./client/freeciv-gtk3.22(city_illness_calc+0x112) [0x5577180b9302]
2:    10: ./client/freeciv-gtk3.22(+0xdf881) [0x557718010881]
2:    11: ./client/freeciv-gtk3.22(real_city_dialog_refresh+0x179) [0x557718011ee9]
2:    12: ./client/freeciv-gtk3.22(real_city_dialog_popup+0xc49) [0x557718013269]
2:    13: ./client/freeciv-gtk3.22(+0xd03fb) [0x5577180013fb]
2:    14: ./client/freeciv-gtk3.22(+0xd0582) [0x557718001582]
2:    15: ./client/freeciv-gtk3.22(+0x67b7f) [0x557717f98b7f]
2:    16: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x14e) [0x7fc16206d04e]
2:    17: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x52400) [0x7fc16206d400]
2:    18: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_loop_run+0x83) [0x7fc16206d6f3]
2:    19: /usr/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_main+0x7d) [0x7fc16288612d]
2:    20: ./client/freeciv-gtk3.22(ui_main+0x19b8) [0x557717f9b8b8]
2:    21: ./client/freeciv-gtk3.22(client_main+0xdb4) [0x557717f9ed04]
2:    22: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7fc161e28083]
2:    23: ./client/freeciv-gtk3.22(_start+0x2e) [0x557717f9882e]
2023-03-23 09:43 Updated by: cazfi
  • Componente Update from Qt-client to Client common
2023-03-24 03:53 Updated by: cazfi
Comentario

FYI. I think I saw some warnings about unused action enablers when launching game with this ruleset. (freeciv run with --warnings command line parameter). Ruledit can be handy on finding out which action enablers are the problematic ones.

2023-03-24 04:40 Updated by: bard
Comentario

Reply To cazfi

FYI. I think I saw some warnings about unused action enablers when launching game with this ruleset. (freeciv run with --warnings command line parameter). Ruledit can be handy on finding out which action enablers are the problematic ones.

Thank you, I do check those warnings and I take them into account, they are very handy.

In the latest version of my ruleset there are only a couple of warnings from a unit flag that is implemented but not used by any unit. But as I have not changed/fixed anything related to investigate city actions, I'm afraid the bug that caused this crash is still there, and I have not played again any Human vs AI game on v3.0. I was expecting the savegame could bring some info about the possible cause of the crash first.

I guess I'll try to play another game and see if the bug appears again. Auto-games do not seem to crash, but the AI does not investigate cities.

2023-03-24 04:47 Updated by: cazfi
Comentario

Reply To bard

the AI does not investigate cities.

Are you sure about this? Basically you are telling that #46186 (and its duplicate #47642) are not what they seem.

2023-03-24 05:57 Updated by: bard
Comentario

Reply To cazfi

Reply To bard

the AI does not investigate cities.

Are you sure about this? Basically you are telling that #46186 (and its duplicate #47642) are not what they seem.

Oh, no, not sure at all, sorry if I caused noise.

I have never seen AI doing it, and AI seems to know this info without the need to investigate, so I assumed they didn't use this action. But I have never watched debug info of the AI to be sure. Just a guess based on watching AI in auto-game tests.

2023-04-26 01:26 Updated by: bard
Comentario

Reply To bard

I guess I'll try to play another game and see if the bug appears again.

In my current game with this custom ruleset, using v3.0.7, the game keeps crashing when I try to investigate cities. I paste here the backtrace of my latest crash in case it helps:

Thread 1 "freeciv-gtk3.22" received signal SIGSEGV, Segmentation fault.
0x00005555557cc9f9 in is_extra_type_in_range (survives=<optimized out>, pextra=0x555555925090 <extras+32336>, range=<optimized out>, target_city=0x15, target_tile=0x7fffffffb420)
    at requirements.c:1756
1756        trade_partners_iterate(target_city, trade_partner) {

#0  0x00005555557cc9f9 in is_extra_type_in_range (survives=<optimized out>, pextra=0x555555925090 <extras+32336>, range=<optimized out>, target_city=0x15, target_tile=0x7fffffffb420)
    at requirements.c:1756
#1  is_req_active
    (target_player=target_player@entry=0x5555572bcc00, other_player=other_player@entry=0x0, target_city=target_city@entry=0x555557b83bd0, target_building=target_building@entry=0x0, target_tile=target_tile@entry=0x555557b66b30, target_unit=target_unit@entry=0x0, target_unittype=<optimized out>, target_output=0x0, target_specialist=0x0, target_action=0x0, req=0x555557281340, prob_type=RPT_CERTAIN) at requirements.c:2848
#2  0x00005555557cd28d in are_reqs_active
    (target_player=target_player@entry=0x5555572bcc00, other_player=other_player@entry=0x0, target_city=target_city@entry=0x555557b83bd0, target_building=target_building@entry=0x0, target_tile=target_tile@entry=0x555557b66b30, target_unit=target_unit@entry=0x0, target_unittype=0x0, target_output=0x0, target_specialist=0x0, target_action=0x0, reqs=0x5555572812d8, prob_type=RPT_CERTAIN) at requirements.c:3148
#3  0x00005555556e20c6 in get_target_bonus_effects
    (plist=plist@entry=0x0, target_player=0x5555572bcc00, other_player=other_player@entry=0x0, target_city=0x555557b83bd0, target_building=target_building@entry=0x0, target_tile=0x555557b66b30, target_unit=0x0, target_unittype=0x0, target_output=0x0, target_specialist=0x0, target_action=0x0, effect_type=EFT_HEALTH_PCT) at effects.c:685
#4  0x00005555556e2209 in get_city_bonus (pcity=<optimized out>, effect_type=effect_type@entry=EFT_HEALTH_PCT) at effects.c:752
#5  0x00005555556dc7d2 in get_city_health (pcity=<optimized out>) at city.c:2745
#6  city_illness_calc (pcity=pcity@entry=0x555557b83bd0, ill_base=ill_base@entry=0x0, ill_size=ill_size@entry=0x0, ill_trade=ill_trade@entry=0x0, ill_pollution=ill_pollution@entry=0x0)
    at city.c:2745
#7  0x0000555555633c81 in city_dialog_update_information (info_label=info_label@entry=0x5555592e3070, pdialog=<optimized out>, info_ebox=0x5555592e2ff8) at citydlg.c:1893
#8  0x00005555556352e9 in real_city_dialog_refresh (pcity=0x555557b83bd0) at citydlg.c:499
#9  0x000055555563681d in create_city_dialog (pcity=<optimized out>) at citydlg.c:1715
#10 real_city_dialog_popup (pcity=<optimized out>) at citydlg.c:563
#11 0x00005555556247fb in cities_update_callback (data=<optimized out>) at update_queue.c:608
#12 cities_update_callback (data=<optimized out>) at update_queue.c:581
#13 0x0000555555624982 in update_unqueue (data=<optimized out>) at update_queue.c:320
#14 update_unqueue (data=<optimized out>) at update_queue.c:297
#15 0x00005555555bbb7f in idle_callback_wrapper (data=0x55555751f070) at gui_main.c:2261
#16 0x00007ffff6be604e in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007ffff6be6400 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007ffff6be66f3 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007ffff73ff12d in gtk_main () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#20 0x00005555555be94c in ui_main (argc=<optimized out>, argc@entry=1, argv=<optimized out>, argv@entry=0x7fffffffdb48) at gui_main.c:1894
#21 0x00005555555c1d94 in client_main (argc=1, argv=0x7fffffffdb48, postpone_tileset=<optimized out>) at client_main.c:703
#22 0x00007ffff69a1083 in __libc_start_main (main=
    0x5555555bb7f0 <main>, argc=1, argv=0x7fffffffdb48, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdb38) at ../csu/libc-start.c:308
#23 0x00005555555bb82e in _start () at gui_main.c:1640
2023-04-26 02:25 Updated by: cazfi
Comentario

Seems like all "Traderoute" range requirements are at risk of such crash on client side (due to lack of knowledge of the city on the other end of the traderoute)

2023-04-26 08:31 Updated by: bard
Comentario

Reply To cazfi

Seems like all "Traderoute" range requirements are at risk of such crash on client side (due to lack of knowledge of the city on the other end of the traderoute)

I'm glad you found the cause. I was hesitant to release openly my ruleset knowing it could cause this crash.

2023-04-26 08:42 Updated by: cazfi
Comentario

Reply To bard

I'm glad you found the cause. I was hesitant to release openly my ruleset knowing it could cause this crash.

I was thinking this too. I'm confident that the freeciv engine bug will be fixed in 3.0.8, and likely already in 3.1.0-beta2. So your ruleset should be good for freeciv-3.1.

For freeciv-3.0 you have to choose:
- Leave out all the players with older freeciv-3.0 versions than 3.0.8. That includes anybody using freeciv provided by their linux distribution, with any distribution release made so far (and includes, e.g., Debian Bookwork that's currently in freeze, and won't take new freeciv version)
- Adjust the ruleset to avoid the case where there's a "Traderoute" range requirement evaluated by the client. (I can help you identify what was that, at least in this particular crash)

2023-04-27 00:38 Updated by: bard
Comentario

Reply To cazfi

I was thinking this too. I'm confident that the freeciv engine bug will be fixed in 3.0.8, and likely already in 3.1.0-beta2. So your ruleset should be good for freeciv-3.1. For freeciv-3.0 you have to choose:
- Leave out all the players with older freeciv-3.0 versions than 3.0.8. That includes anybody using freeciv provided by their linux distribution, with any distribution release made so far (and includes, e.g., Debian Bookwork that's currently in freeze, and won't take new freeciv version)
- Adjust the ruleset to avoid the case where there's a "Traderoute" range requirement evaluated by the client. (I can help you identify what was that, at least in this particular crash)

Thank you for the info, it is good to know.

(I can help you identify what was that, at least in this particular crash)

I guess it is related to the plague chances affected by traderoute range, something I did to be able to see the traded resources in the UI. But this system is the same in 2.6 and 3.0, and I'd like to keep it. I'll try to disable the action investigate city for 3.0, because in this ruleset most units can use the bombard action to see the units inside enemy cities anyway.

2023-04-28 03:42 Updated by: cazfi
Comentario

Something noticed while working on this, and to get fixed as a side-effect: MinCulture requirements with Traderoute range never evaluated to TRI_NO (even on server side). Requirement system is erroneously returning TRI_MAYBE when requirement is not fulfilled.

2023-04-28 04:25 Updated by: cazfi
  • Propietario Update from (Ninguno) to cazfi
  • Resolución Update from Ninguno to Accepted
Comentario

Patches to the actual bug attached.

Reply To bard

I guess it is related to the plague chances affected by traderoute range, something I did to be able to see the traded resources in the UI.

Is there some reason not to use Goods in 3.0? Asking to understand if there's something relevant missing from the Goods system.

In this particular case it could also avoid the crash. You would have "Good" requirement on "City" range (imported to this city), not "Traderoute" range (imported from third city to any trade partner)

2023-05-06 15:54 Updated by: cazfi
  • Estado Update from Open to Cerrado
  • Resolución Update from Accepted to Fixed
2023-06-17 14:27 Updated by: bard
Comentario

Reply To cazfi

Is there some reason not to use Goods in 3.0? Asking to understand if there's something relevant missing from the Goods system. In this particular case it could also avoid the crash. You would have "Good" requirement on "City" range (imported to this city), not "Traderoute" range (imported from third city to any trade partner)

Sorry the late answer, I have not received any email notification from OSDN since April.

I did try to use the Goods system, but there were several limitations. The main one I remember is that only 1 Good was selected for each trade route, while "Traderoute" range shares all the resources in the city.

2023-06-17 14:36 Updated by: bard
Comentario

Sorry the late answer, I have not received any email notification from OSDN since April.

I'd need some support about this. Is there another way (other than email notifications) to see all the replies posted in the topics I'm subscribed (monitor on). I can't find the way.

Do you have any idea why email notifications from OSDN could have stopped working for me? Did it happen to other people?

2023-06-17 14:36 Updated by: cazfi
Comentario

Reply To bard

I did try to use the Goods system, but there were several limitations. The main one I remember is that only 1 Good was selected for each trade route, while "Traderoute" range shares all the resources in the city.

Thanks for clarifying. Though I guess this particular thing is not necessarily a missing functionality in Goods system, but that you *really* want to use Resource Requirement concept rather than Goods concept - not to limit the trade to those things that caravans actually carry.

2023-06-17 15:05 Updated by: bard
Comentario

Reply To cazfi

Reply To bard

I did try to use the Goods system, but there were several limitations. The main one I remember is that only 1 Good was selected for each trade route, while "Traderoute" range shares all the resources in the city.

Thanks for clarifying. Though I guess this particular thing is not necessarily a missing functionality in Goods system, but that you *really* want to use Resource Requirement concept rather than Goods concept - not to limit the trade to those things that caravans actually carry.

Another limitation of the Goods system is that the resource is automatically chosen based on the higher expected trade output.

But in my ruleset, resources linked by traderoute are designed to give different bonuses that do not really increase the trade output, for example:

- the ability to build certain buildings or wonders

- bonuses to luxury or shield production

- units build with more veteran levels

The Goods system chooses just 1 of those resources, and the ruleset is supposed to asing a trade bonus for each one, so the higher one is selected. But the usefulness of each resource is not measurable, it depends on the situation.

That is the other thing that I do not like about Goods system: it only takes into account the trade output, so the gameplay of a ruleset that uses it can be reduced to a mathematical problem about maximizing the trade output. There are no pros and cons, no situational differences, just maximizing one variable. It is the same problem I see with the original civ2 trade system, it is something that can be optimized by using an algorithm, an AI advisor.

2023-06-17 15:25 Updated by: cazfi
Comentario

Reply To bard

the ruleset is supposed to asing a trade bonus for each one, so the higher one is selected.

Where you see such claim? (I'm not sure if the good selection behavior is documented at all. I assumed it to follow the usual pattern of relying on the order in the ruleset, i.e., that one listed last, among the ones that the city can provide, in the ruleset, gets selected. Checking the code that's not the case, but it's actually random one among the possible ones)

2023-06-17 16:12 Updated by: bard
Comentario

Reply To cazfi

Reply To bard

the ruleset is supposed to asing a trade bonus for each one, so the higher one is selected.

Where you see such claim? (I'm not sure if the good selection behavior is documented at all. I assumed it to follow the usual pattern of relying on the order in the ruleset, i.e., that one listed last, among the ones that the city can provide, in the ruleset, gets selected. Checking the code that's not the case, but it's actually random one among the possible ones)

As every feature that I use in my rulesets, my claims are based on my tests, and might be wrong, I do not use to read the related code. Thanks for clarifing how it works. When the trade output is the same, I already guessed it was selected randomly, but still not useful for my trade system.

I'd like to point that my trade system was already designed and working for 2.6 (with no crashes) when the Goods system was being developed. I tried to ask in the forum if this Goods system could be used to reimplement mine, or at least to be used to show info in the UI (instead of the plague system used by my ruleset), but your answer was something like "Goods has nothing to do with Traderoute range".

After other similar experiences, I no longer try to make questions or suggestions about features in development, I wait until I can test them by myself, and I try to use them as they are. Only then, sometimes, I come here to make some suggestions.

2023-06-17 16:22 Updated by: bard
Comentario

Reply To cazfi

Reply To bard

the ruleset is supposed to asing a trade bonus for each one, so the higher one is selected.

Where you see such claim? (I'm not sure if the good selection behavior is documented at all. I assumed it to follow the usual pattern of relying on the order in the ruleset, i.e., that one listed last, among the ones that the city can provide, in the ruleset, gets selected. Checking the code that's not the case, but it's actually random one among the possible ones)

Now I think about it, even if the Goods are randomly chosen, you can send several caravans to the target city, and at the end the remaining trade route will be the one with the higher trade, so the gameplay is mostly the same as I described.

2023-06-17 16:56 Updated by: cazfi
Comentario

Opened #48250 and #48251 based on these comments.

Editar

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Entrar