radareorg / iaito

Official QT frontend of radare2
GNU General Public License v3.0
1.02k stars 86 forks source link

Random crash when clicking "preferences" in the menu #87

Closed jjdredd closed 1 year ago

jjdredd commented 2 years ago
Thread 1 "iaito" received signal SIGPIPE, Broken pipe.
__GI___libc_write (nbytes=70, buf=0x555556ff8ea0, fd=1) at ../sysdeps/unix/sysv/linux/write.c:26
26  ../sysdeps/unix/sysv/linux/write.c: No such file or directory.
(gdb) bt
#0  __GI___libc_write (nbytes=70, buf=0x555556ff8ea0, fd=1) at ../sysdeps/unix/sysv/linux/write.c:26
#1  __GI___libc_write (fd=1, buf=0x555556ff8ea0, nbytes=70) at ../sysdeps/unix/sysv/linux/write.c:24
#2  0x00007ffff4929245 in _IO_new_file_write (f=0x7ffff4a626c0 <_IO_2_1_stdout_>, data=0x555556ff8ea0, n=70) at fileops.c:1181
#3  0x00007ffff49285e6 in new_do_write (fp=0x7ffff4a626c0 <_IO_2_1_stdout_>, data=0x555556ff8ea0 "Loading translations path /home/ragim/.local/share/iaito/translations\np", 
    to_do=to_do@entry=70) at /var/tmp/portage/sys-libs/glibc-2.33-r7/work/glibc-2.33/libio/libioP.h:948
#4  0x00007ffff492a279 in _IO_new_do_write (to_do=70, data=<optimized out>, fp=<optimized out>) at fileops.c:423
#5  _IO_new_do_write (fp=<optimized out>, data=<optimized out>, to_do=70) at fileops.c:423
#6  0x00007ffff492986e in _IO_new_file_xsputn (n=1, data=<optimized out>, f=<optimized out>) at /var/tmp/portage/sys-libs/glibc-2.33-r7/work/glibc-2.33/libio/libioP.h:948
#7  _IO_new_file_xsputn (f=0x7ffff4a626c0 <_IO_2_1_stdout_>, data=<optimized out>, n=1) at fileops.c:1197
#8  0x00007ffff4914547 in outstring_func (done=69, length=1, string=0x555555832c55 "\n", s=0x7ffff4a626c0 <_IO_2_1_stdout_>) at ../libio/libioP.h:948
#9  __vfprintf_internal (s=0x7ffff4a626c0 <_IO_2_1_stdout_>, format=0x555555832c39 "Loading translations path %s\n", ap=ap@entry=0x7fffffffc4e0, mode_flags=2)
    at vfprintf-internal.c:1674
#10 0x00007ffff49b2b6f in ___printf_chk (flag=<optimized out>, format=<optimized out>) at printf_chk.c:33
#11 0x00005555557fd6bb in printf (__fmt=0x555555832c39 "Loading translations path %s\n") at /usr/include/bits/stdio2.h:112
#12 Iaito::getTranslationsDirectories () at ../src/common/ResourcePaths.cpp:84
#13 0x000055555573b7f2 in Configuration::getAvailableTranslations (this=<optimized out>) at ../src/common/Configuration.cpp:673
#14 0x0000555555756d84 in AppearanceOptionsWidget::AppearanceOptionsWidget (this=this@entry=0x555556e5d230, dialog=dialog@entry=0x555557fb33b0)
    at ../src/dialogs/preferences/AppearanceOptionsWidget.cpp:33
#15 0x0000555555751979 in PreferencesDialog::PreferencesDialog (this=this@entry=0x555557fb33b0, parent=parent@entry=0x555555eee9f0)
    at ../src/dialogs/preferences/PreferencesDialog.cpp:49
#16 0x00005555556be154 in MainWindow::on_actionPreferences_triggered (this=0x555555eee9f0) at ../src/core/MainWindow.cpp:1575
#17 0x000055555580fa41 in MainWindow::qt_static_metacall (_a=0x7fffffffccc0, _id=32, _c=QMetaObject::InvokeMetaMethod, _o=0x555555eee9f0) at moc_MainWindow.cpp:250
#18 MainWindow::qt_metacall (this=0x555555eee9f0, _c=QMetaObject::InvokeMetaMethod, _id=32, _a=0x7fffffffccc0) at moc_MainWindow.cpp:338
#19 0x00007ffff51141e2 in ?? () from /usr/lib64/libQt5Core.so.5
#20 0x00007ffff5c36d92 in QAction::triggered(bool) () from /usr/lib64/libQt5Widgets.so.5
#21 0x00007ffff5c399b4 in QAction::activate(QAction::ActionEvent) () from /usr/lib64/libQt5Widgets.so.5
#22 0x00007ffff5dbcdb2 in ?? () from /usr/lib64/libQt5Widgets.so.5
#23 0x00007ffff5dc483f in ?? () from /usr/lib64/libQt5Widgets.so.5
#24 0x00007ffff5c7ee68 in QWidget::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#25 0x00007ffff5c3d63f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#26 0x00007ffff5c4510a in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#27 0x00007ffff50e1c18 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#28 0x00007ffff5c43c26 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) ()
   from /usr/lib64/libQt5Widgets.so.5
#29 0x00007ffff5c986dc in ?? () from /usr/lib64/libQt5Widgets.so.5
#30 0x00007ffff5c9ad45 in ?? () from /usr/lib64/libQt5Widgets.so.5
#31 0x00007ffff5c3d63f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#32 0x00007ffff50e1c18 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#33 0x00007ffff56715ad in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib64/libQt5Gui.so.5
#34 0x00007ffff565222b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Gui.so.5
#35 0x00007ffff17df6fa in ?? () from /usr/lib64/libQt5XcbQpa.so.5
#36 0x00007ffff3d5a42b in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#37 0x00007ffff3d5a6d8 in ?? () from /usr/lib64/libglib-2.0.so.0
#38 0x00007ffff3d5a78f in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#39 0x00007ffff5131c86 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#40 0x00007ffff50e06a3 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
--Type <RET> for more, q to quit, c to continue without paging--
#41 0x00007ffff50e89c0 in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5
#42 0x000055555565c0b4 in main (argc=<optimized out>, argv=<optimized out>) at ../src/Main.cpp:104
jjdredd commented 2 years ago

Looks like process receives SIGPIPE when trying to write to stdout. Usually this happens the second time when I click on "preferences".

jjdredd commented 2 years ago

I've managed to work around this by ignoring the SIGPIPE, but I still don't know why this bug appears.

jjdredd commented 2 years ago

Using option --no-output-redirect seems to fix the issue.

trufae commented 2 years ago

Is this related to the empty project file issue?

jjdredd commented 2 years ago

No, this is a separate issue.

trufae commented 1 year ago

Should be fixed now