[Freeciv-tickets] [freeciv] #42545: QT client dumps core (maybe civil war) (civ2civ3, 3.0.0-beta2+ c9c390eba0)

アーカイブの一覧に戻る
OSDN Ticket System norep****@osdn*****
Wed Sep 22 12:08:10 JST 2021


#42545: QT client dumps core (maybe civil war) (civ2civ3, 3.0.0-beta2+ c9c390eba0)

  Open Date: 2021-06-17 22:53
Last Update: 2021-09-22 06:08

URL for this Ticket:
    https://osdn.net//projects/freeciv/ticket/42545
RSS feed for this Ticket:
    https://osdn.net/ticket/ticket_rss.php?group_id=12505&tid=42545

---------------------------------------------------------------------

Last Changes/Comment on this Ticket:
2021-09-22 06:08 Updated by: cazfi

Comment:

I couldn't reproduce the crash, but from the backtrace it seems like it's crashing when sorting of the players dialog is automatically triggered from changes made in plr_report::update_report(). Attaching a patch (for S3_0) that I guess could help (makes sure that new player from civil war is properly included to the report before trying to sort it in inconsistent state).

---------------------------------------------------------------------
Ticket Status:

      Reporter: chippo
         Owner: (None)
          Type: Bugs
        Status: Open
      Priority: 5 - Medium
     MileStone: (None)
     Component: Qt-client
      Severity: 5 - Medium
    Resolution: None
---------------------------------------------------------------------

Ticket details:

I hit End Turn; I saw in the (qt) message box something about a civil war, and then the qt client disappeared with a core dump. I had the above version plus cazfi's trade-route-bonus patch and alain's more-columns-in-Nations patch.
The server seemed cool and it's console sed:
Game saved as freeciv-T0080-Y-0525-auto.sav.xz
> 
Game saved as freeciv-T0081-Y-0500-auto.sav.xz
> 
Player 'Milton Cato' now has AI skill level 'Hard'.
Game saved as freeciv-T0082-Y-0475-auto.sav.xz
> 
2: Lost connection: chippo from localhost (client disconnected) (player Petar Krešimir IV).
Reconnecting, endgames, load games, restarting server all do not repeat the core dump, but I will attach that turn 81 savegame, anyway.
Backtrace:
Core was generated by `./client/freeciv-qt'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007fa9b5fb485b in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
[Current thread is 1 (Thread 0x7fa9b0112b40 (LWP 5728))]
(gdb) bt -full
#0  0x00007fa9b5fb485b in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#1  0x00007fa9b5fb4e46 in QSortFilterProxyModel::flags(QModelIndex const&) const () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007fa9b5a544db in QAbstractItemView::setCurrentIndex(QModelIndex const&) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#3  0x000055a213b986af in plr_report::update_report(bool) (this=0x7fa9980c0750, update_selection=<optimized out>)
    at ../../../../src/client/gui-qt/plrdlg.cpp:822
        qmi = {r = 14, c = 18, i = 94154743327184, m = 0x55a21932af40}
        player_count = 0
#4  0x000055a213bb3af8 in fc_sidewidget::mousePressEvent(QMouseEvent*) (this=0x55a215a97620, event=0x7fff3a87d3b0)
    at ../../../../src/client/gui-qt/sidebar.cpp:283
#5  0x00007fa9b581e5de in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#6  0x00007fa9b57db783 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#7  0x00007fa9b57e2e5b in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8  0x00007fa9b5fea7ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007fa9b57e1e77 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007fa9b5838370 in  () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007fa9b583b615 in  () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007fa9b57db783 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007fa9b5fea7ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007fa9b63cfb13 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) ()
    at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#15 0x00007fa9b63a4e2c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#16 0x00007fa9ae556a6e in  () at /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#17 0x00007fa9b1fd58eb in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007fa9b2028d28 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007fa9b1fd3023 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007fa9b6044204 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007fa9b5fe911b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007fa9b5ff1604 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
--Type <RET> for more, q to quit, c to continue without paging--
#23 0x000055a213b29511 in fc_client::fc_main(QApplication*) (this=this at entry=0x55a214f472b0, qapp=0x55a214dc8f10)
    at ../../../../src/client/gui-qt/fc_client.cpp:256
#24 0x000055a213a7a62a in qtg_ui_main(int, char**) (argc=<optimized out>, argv=0x7fff3a87de18)
    at ../../../../src/client/gui-qt/gui_main.cpp:194
        qpm = <optimized out>
        app_icon = {d = 0x55a215bf0810}
#25 0x000055a213a7c7f4 in client_main (argc=1, argv=0x7fff3a87de18) at ../../../src/client/client_main.c:685
        i = 1
        loglevel = LOG_NORMAL
        ui_options = <optimized out>
        ui_separator = <optimized out>
        option = <optimized out>
        fatal_assertions = -1
        aii = 1
        __FUNCTION__ = "client_main"
#26 0x00007fa9b5105565 in __libc_start_main (main=
    0x55a213a77f90 <main(int, char**)>, argc=1, argv=0x7fff3a87de18, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff3a87de08) at ../csu/libc-start.c:332
        self = <optimized out>
        result = <optimized out>
        unwind_buf = 
              {cancel_jmp_buf = {{jmp_buf = {94154605786016, 2930739386275587367, 94154602813248, 0, 0, 0, -2931167166183774937, -2882451297501977305}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x1, 0x7fff3a87de18}, data = {prev = 0x0, cleanup = 0x0, canceltype = 1}}}
        not_first_call = <optimized out>
#27 0x000055a213a7976e in _start ()
Just before the core dump, I was thinking:
Civil War! I have Marco Polo's!

There was some bug regarding having Marco Polo's and the meeting of the new player. Now is a good time to see whether that bug is fixed.
But then the core dump happened. And then I remembered that the marco-new-player bug didn't cause a core dump, was resolved after another turn and was seen under gtk.

-- 
Ticket information of Freeciv project
Freeciv Project is hosted on OSDN

Project URL: https://osdn.net/projects/freeciv/
OSDN: https://osdn.net

URL for this Ticket:
    https://osdn.net/projects/freeciv/ticket/42545
RSS feed for this Ticket:
    https://osdn.net/ticket/ticket_rss.php?group_id=12505&tid=42545



More information about the Freeciv-tickets mailing list
アーカイブの一覧に戻る