HostedRedmine.com has moved to the Planio platform. All logins and passwords remained the same. All users will be able to login and use Redmine just as before. Read more...
Bug #858251
SEGV in name_translation_get (2.6.1+, qt)
0%
Description
I was trying to trigger #858212 (you can see all the tileset loads in the transcript) without success. I decided to try something in the gtk client while in a Start Game screen and I hit Disconnect. Got the following dump-thingy:
chippo@chippo-Aspire-V3-731:~$ ASAN_OPTIONS="abort_on_error=1:disable_coredump=0:unmap_shadow_on_exit=1" freeciv-qt-26
2: Loading tileset "amplio2".
2: Loading tileset "delta2".
QSocketNotifier: Invalid socket 41 and type 'Read', disabling...
2: Loading tileset "amplio2".
2: Loading tileset "delta2".
2: Loading tileset "amplio2".
2: Loading tileset "amplio_earth".
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
QSocketNotifier: Invalid socket 41 and type 'Read', disabling...
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 15998, resource id: 18906179, major code: 40 (TranslateCoords), minor code: 0
2: Loading tileset "amplio2".
2: Loading tileset "delta2".
2: Loading tileset "trident".
2: Loading tileset "amplio2".
QSocketNotifier: Invalid socket 41 and type 'Read', disabling...
2: last message repeated 2 times
AddressSanitizer:DEADLYSIGNAL=================================================================
==256157==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000078 (pc 0x00000082e0d4 bp 0x7ffc9e059090 sp 0x7ffc9e059090 T0)
==256157==The signal is caused by a READ memory access.
@==256157==Hint: address points to the zero page.
#0 0x82e0d3 in name_translation_get /home/chippo/Downloads/git_clones/freeciv/common/./name_translation.h:123:18
#1 0x82deec in nation_plural_translation /home/chippo/Downloads/git_clones/freeciv/common/nation.c:161:10
#2 0x82e140 in nation_plural_for_player /home/chippo/Downloads/git_clones/freeciv/common/nation.c:179:10
#3 0x539211 in show_new_turn_info() /home/chippo/Downloads/git_clones/freeciv/client/gui-qt/hudwidget.cpp:1664:19
#4 0x55682e in qt_start_turn() /home/chippo/Downloads/git_clones/freeciv/client/gui-qt/menu.cpp:78:3
#5 0x55042e in qtg_update_timeout_label() /home/chippo/Downloads/git_clones/freeciv/client/gui-qt/mapview.cpp:1086:5
#6 0x50d789 in update_timeout_label /home/chippo/Downloads/git_clones/freeciv/client/gui_interface.c:519:3
#7 0x5fa7cf in stop_turn_change_wait /home/chippo/Downloads/git_clones/freeciv/client/client_main.c:1131:3
#8 0x603c82 in disconnect_from_server /home/chippo/Downloads/git_clones/freeciv/client/clinet.c:307:3
#9 0x7435cf in fc_client::slot_disconnect() /home/chippo/Downloads/git_clones/freeciv/client/gui-qt/fc_client.cpp:497:5
#10 0x556566 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (fc_client::*)()>::call(void (fc_client::*)(), fc_client*, void**) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:152:13
#11 0x556488 in void QtPrivate::FunctionPointer<void (fc_client::*)()>::call<QtPrivate::List<>, void>(void (fc_client::*)(), fc_client*, void**) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:185:13
#12 0x5563a7 in QtPrivate::QSlotObject<void (fc_client::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:414:17
#13 0x7fcff488c5c7 in QMetaObject::activate(QObject*, int, int, void**) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b15c7)
#14 0x7fcff41a1235 in QAbstractButton::clicked(bool) (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x25f235)
#15 0x7fcff41a145d (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x25f45d)
#16 0x7fcff41a28a2 (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x2608a2)
#17 0x7fcff41a2a64 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x260a64)
#18 0x7fcff40ef04d in QWidget::event(QEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x1ad04d)
#19 0x7fcff40aca85 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x16aa85)
#20 0x7fcff40b6052 in QApplication::notify(QObject*, QEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x174052)
#21 0x7fcff4860a99 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x285a99)
#22 0x7fcff40b5156 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x173156)
#23 0x7fcff410b14c (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x1c914c)
#24 0x7fcff410dfdb (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x1cbfdb)
#25 0x7fcff40aca85 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x16aa85)
#26 0x7fcff40b5dff in QApplication::notify(QObject*, QEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x173dff)
#27 0x7fcff4860a99 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x285a99)
#28 0x7fcff4c48d72 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5+0x126d72)
#29 0x7fcff4c4a5fa in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5+0x1285fa)
#30 0x7fcff4c2426a in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5+0x10226a)
#31 0x7fcfda98728d (/usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5+0x7928d)
#32 0x7fcff233384c in g_main_context_dispatch (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x5184c)
#33 0x7fcff2333acf (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x51acf)
#34 0x7fcff2333b72 in g_main_context_iteration (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x51b72)
#35 0x7fcff48b86a4 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2dd6a4)
#36 0x7fcff485f63a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x28463a)
#37 0x7fcff48673a5 in QCoreApplication::exec() (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x28c3a5)
#38 0x7422e0 in fc_client::fc_main(QApplication*) /home/chippo/Downloads/git_clones/freeciv/client/gui-qt/fc_client.cpp:257:3
#39 0x50db07 in qtg_ui_main(int, char**) /home/chippo/Downloads/git_clones/freeciv/client/gui-qt/gui_main.cpp:191:17
#40 0x50d3c9 in ui_main /home/chippo/Downloads/git_clones/freeciv/client/gui_interface.c:59:3
#41 0x5f93d6 in client_main /home/chippo/Downloads/git_clones/freeciv/client/client_main.c:685:3
#42 0x50d8da in main /home/chippo/Downloads/git_clones/freeciv/client/gui-qt/gui_main.cpp:114:10
#43 0x7fcff3b3a1e2 in __libc_start_main /build/glibc-4WA41p/glibc-2.30/csu/../csu/libc-start.c:308:16
#44 0x46341d in _start (/usr/local/bin/freeciv-qt-26+0x46341d)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/chippo/Downloads/git_clones/freeciv/common/./name_translation.h:123:18 in name_translation_get
@==256157==ABORTING
Aborted (core dumped)
And GDB's contribution:
Core was generated by `freeciv-qt-26'.
Program terminated with signal SIGABRT, Aborted.
#0 _GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
[Current thread is 1 (Thread 0x7fcfeeed6ac0 (LWP 256157))]
(gdb) bt full
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
set = {_val = {0, 5106555, 895, 0, 0, 281470681751424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}
pid = <optimized out>
tid = <optimized out>
#1 0x00007fcff3b38899 in __GI_abort () at abort.c:79
save_stage = 1
act =
{__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {0, 1024, 5187702, 13733576, 140531153141536, 2, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0}}, sa_flags = 0, sa_restorer = 0xc86a68 <__asan::error_message_buf_mutex>}
sigs = {__val = {32, 0 <repeats 15 times>}}
#2 0x00000000004f8e27 in ()
#3 0x00000000004f7801 in ()
#4 0x00000000004df389 in ()
#5 0x00000000004df013 in _asan::ReportDeadlySignal(_sanitizer::SignalContext const&) ()
#6 0x00000000004de9c3 in __asan::AsanOnDeadlySignal(int, void*, void*) ()
#7 0x00007fcff3d44540 in <signal handler called> () at /lib/x86_64-linux-gnu/libpthread.so.0
#8 0x000000000082e0d4 in name_translation_get (ptrans=0x78) at ./name_translation.h:123
#9 0x000000000082deed in nation_plural_translation (pnation=<optimized out>) at nation.c:161
#10 0x000000000082e141 in nation_plural_for_player (pplayer=<optimized out>) at nation.c:179
#11 0x0000000000539212 in show_new_turn_info() () at hudwidget.cpp:1664
s = {static null = {<No data fields>}, d = 0x100013c03218}
close_list = <optimized out>
i = <optimized out>
research = <optimized out>
ht = <optimized out>
#12 0x000000000055682f in qt_start_turn() () at menu.cpp:78
#13 0x000000000055042f in qtg_update_timeout_label() () at mapview.cpp:1086
#14 0x000000000050d78a in update_timeout_label () at gui_interface.c:519
#15 0x00000000005fa7d0 in stop_turn_change_wait () at client_main.c:1131
#16 0x0000000000603c83 in disconnect_from_server () at clinet.c:307
#17 0x00000000007435d0 in fc_client::slot_disconnect() (this=0x61b0000d3c80) at fc_client.cpp:497
#18 0x0000000000556567 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (fc_client::*)()>::call(void (fc_client::*)(), fc_client*, void**) (f=<optimized out>, o=<optimized out>, arg=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:152
#19 0x0000000000556489 in QtPrivate::FunctionPointer<void (fc_client::*)()>::call<QtPrivate::List<>, void>(void (fc_client::*)(), fc_client*, void**)
(f=(void (fc_client::*)(class fc_client * const)) 0x78, this adjustment 140531153055968, o=0x33b, arg=0x33a)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:185
#20 0x00000000005563a8 in QtPrivate::QSlotObject<void (fc_client::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
(which=<optimized out>, this_=0x603000577600, r=0x33b, a=0x33a, ret=0x40) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:414
#21 0x00007fcff488c5c8 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007fcff41a1236 in QAbstractButton::clicked(bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007fcff41a145e in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007fcff41a28a3 in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007fcff41a2a65 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007fcff40ef04e in QWidget::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
--Type <RET> for more, q to quit, c to continue without paging--c
#27 0x00007fcff40aca86 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#28 0x00007fcff40b6053 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#29 0x00007fcff4860a9a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#30 0x00007fcff40b5157 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#31 0x00007fcff410b14d in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#32 0x00007fcff410dfdc in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#33 0x00007fcff40aca86 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#34 0x00007fcff40b5e00 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#35 0x00007fcff4860a9a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#36 0x00007fcff4c48d73 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#37 0x00007fcff4c4a5fb in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#38 0x00007fcff4c2426b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#39 0x00007fcfda98728e in () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#40 0x00007fcff233384d in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#41 0x00007fcff2333ad0 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#42 0x00007fcff2333b73 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#43 0x00007fcff48b86a5 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#44 0x00007fcff485f63b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#45 0x00007fcff48673a6 in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#46 0x00000000007422e1 in fc_client::fc_main(QApplication*) (this=<optimized out>, qapp=<optimized out>) at fc_client.cpp:257
#47 0x000000000050db08 in qtg_ui_main(int, char**) (argc=<optimized out>, argv=<optimized out>) at gui_main.cpp:191
app_icon = <optimized out>
qpm = <optimized out>
#48 0x000000000050d3ca in ui_main (argc=120, argv=0x7fcff57530e0) at gui_interface.c:59
#49 0x00000000005f93d7 in client_main (argc=1, argv=<optimized out>) at client_main.c:685
loglevel = <optimized out>
fatal_assertions = -1
option = <optimized out>
ui_separator = <optimized out>
ui_options = <optimized out>
aii = 1
i = <optimized out>
#50 0x000000000050d8db in main(int, char**) (argc=120, argv=0x7fcff57530e0) at gui_main.cpp:114
Related issues
History
#1
Updated by Jacob Nevins 12 months ago
#12 0x000000000055682f in qt_start_turn() () at menu.cpp:78
#13 0x000000000055042f in qtg_update_timeout_label() () at mapview.cpp:1086
This is the same signature cazfi notes in #857974-1, so it's probably related.
#2
Updated by Jacob Nevins 12 months ago
- Related to Bug #857974: Qt client with -t augmentedi dumps core (2.6.1+) added
#3
Updated by Marko Lindqvist 9 months ago
- Category set to gui-qt
- Status changed from New to In Progress
- Sprint/Milestone set to 2.6.3
#4
Updated by Marko Lindqvist 9 months ago
- Status changed from In Progress to Closed
- Assignee set to Marko Lindqvist
#5
Updated by Marko Lindqvist 2 months ago
- Sprint/Milestone changed from 2.6.3 to 2.6.2.1