Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clicking choose icon in app companion crash it #34

Closed
PutinVladimir opened this issue Jun 17, 2020 · 14 comments
Closed

Clicking choose icon in app companion crash it #34

PutinVladimir opened this issue Jun 17, 2020 · 14 comments

Comments

@PutinVladimir
Copy link
Contributor

PutinVladimir commented Jun 17, 2020

Application: SysTray-X (SysTray-X), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f59c7c182c0 (LWP 8367))]

Thread 3 (Thread 0x7f59bf7fe700 (LWP 8371)):
#0  0x00007f59cc1bd494 in read () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f59cc14f670 in _IO_file_underflow () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007f59cc14e6e8 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3  0x00007f59cc143687 in fread () from /lib/x86_64-linux-gnu/libc.so.6
#4  0x00007f59cc51a60d in __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >::xsgetn(char*, long) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007f59cc52893d in std::istream::read(char*, long) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x0000557fbe379b72 in ?? ()
#7  0x00007f59cc8ff933 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f59cc90b387 in QTimer::timeout(QTimer::QPrivateSignal) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f59cc90002b in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f59cd2e84c1 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007f59cd2ef970 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007f59cc8d6489 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007f59cc926b38 in QTimerInfoList::activateTimers() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007f59cc927394 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007f59cb283f2e in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007f59cb2841c8 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007f59cb28425c in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007f59cc927727 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007f59cc8d515b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007f59cc724e76 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007f59cc72ea67 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007f59cc5bcfa3 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#23 0x00007f59cc1cc4cf in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 2 (Thread 0x7f59bffff700 (LWP 8370)):
#0  0x00007f59cc5c658b in read () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f59cb2c9aa0 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f59cb283c0f in g_main_context_check () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f59cb2840e0 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f59cb28425c in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f59cc927743 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f59cc8d515b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f59cc724e76 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f59ccb7d545 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#9  0x00007f59cc72ea67 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f59cc5bcfa3 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#11 0x00007f59cc1cc4cf in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 1 (Thread 0x7f59c7c182c0 (LWP 8367)):
[KCrash Handler]
#6  0x00007f59c4dd3f09 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Xml.so.5
#7  0x00007f59c4dd41c8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Xml.so.5
#8  0x00007f59c4dd4229 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Xml.so.5
#9  0x00007f59c50d7698 in KBookmark::setMetaDataItem(QString const&, QString const&, KBookmark::MetaDataOverwriteMode) () from /usr/lib/x86_64-linux-gnu/libKF5Bookmarks.so.5
#10 0x00007f59c62f91ed in KFilePlacesModel::KFilePlacesModel(QString const&, QObject*) () from /usr/lib/x86_64-linux-gnu/libKF5KIOFileWidgets.so.5
#11 0x00007f59c62fa7ea in KFilePlacesModel::KFilePlacesModel(QObject*) () from /usr/lib/x86_64-linux-gnu/libKF5KIOFileWidgets.so.5
#12 0x00007f59c62ed44b in KFileWidget::KFileWidget(QUrl const&, QWidget*) () from /usr/lib/x86_64-linux-gnu/libKF5KIOFileWidgets.so.5
#13 0x00007f59c63c8039 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/platformthemes/KDEPlasmaPlatformTheme.so
#14 0x00007f59c63c8735 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/platformthemes/KDEPlasmaPlatformTheme.so
#15 0x00007f59c63bda2c in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/platformthemes/KDEPlasmaPlatformTheme.so
#16 0x00007f59cd4d1d3d in QDialogPrivate::platformHelper() const () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007f59cd4e3d8b in QFileDialogPrivate::init(QUrl const&, QString const&, QString const&) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007f59cd4e417d in QFileDialog::QFileDialog(QWidget*, QString const&, QString const&, QString const&) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x0000557fbe3885a7 in ?? ()
#20 0x00007f59cc8ff933 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007f59cd3ce602 in QAbstractButton::clicked(bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007f59cd3ce81a in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007f59cd3cfbdf in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007f59cd3cfdb5 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007f59cd3264d8 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007f59cd2e84c1 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#27 0x00007f59cd2efbb8 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#28 0x00007f59cc8d6489 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x00007f59cd2eeee9 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#30 0x00007f59cd340fd4 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#31 0x00007f59cd343b5e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#32 0x00007f59cd2e84c1 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#33 0x00007f59cd2ef970 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#34 0x00007f59cc8d6489 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#35 0x00007f59ccd18ff3 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#36 0x00007f59ccd1ae75 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#37 0x00007f59cccf506b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#38 0x00007f59c786840b in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#39 0x00007f59cc8d515b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#40 0x00007f59cc8dd132 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#41 0x0000557fbe379844 in main ()
[Inferior 1 (process 8367) detached]

@fabianski7
Copy link
Contributor

you could modify the issue and put this code in the correct way, using the "insert code" option of the toolbar.
191457-20-06-2020

like this

As of now, you are quoting several other bugs that have nothing to do with this one.

@Ximi1970
Copy link
Owner

I cannot replicate the problem, all seems to work just fine in Debian. Are you trying to load a special icon file? Clicking, selecting an icon (/usr/share/icons/desktop-base/256x256/emblems/emblem-debian.png) shows up nicely in the taskbar.

@PutinVladimir
Copy link
Contributor Author

Are you trying to load a special icon file?

Just click "Choose" button in the companion app and it is crash immediately.

And do more investigation it's apparmor related again. If apparmor disabled then app not crash.

@Ximi1970
Copy link
Owner

It does not crash in my Debian....

@PutinVladimir
Copy link
Contributor Author

PutinVladimir commented Jun 28, 2020

It does not crash in my Debian....

Install Apparmor and it will crash.

NOW I mod /etc/apparmor.d/local/usr.bin.thunderbird

# Site-specific additions and overrides for usr.bin.thunderbird.
# For more details, please see /etc/apparmor.d/local/README.

  # SysTray-X
  @{PROC}/[0-9]*/comm r,
  @{PROC}/sys/kernel/core_pattern r,
  owner @{HOME}/.mozilla/native-messaging-hosts/* mixr,
  owner @{HOME}/.config/{kdeglobals,breezerc,baloofilerc} r,
  owner @{HOME}/.local/share/user-places.xbel r,
  owner @{HOME}/.cache/icon-cache.kcache wrk,

And it stop crashed.

But now It is try to create socket

Jun 28 21:18:59 pc kernel: [41863.635611] audit: type=1400 audit(1593353939.495:248): apparmor="DENIED" operation="mknod" profile="thunderbird" name="/home/user/.config/SysTray-Xrc.lock" pid=31571 comm="SysTray-X" requested_mask="c" denied_mask="c" fsuid=1000 ouid=1000

I don't undestand for what reasons...

@Ximi1970
Copy link
Owner

There is a socket between thunderbird addon and the addon app. That is the way how native messaging in the web extensions API works.

@PutinVladimir
Copy link
Contributor Author

Ok. So we Should give this right in apparmor...

@PutinVladimir
Copy link
Contributor Author

added on more string in /etc/apparmor.d/local/usr.bin.thunderbird

owner @{HOME}/.config/SysTray-Xrc.lock wrk,

@Ximi1970
Copy link
Owner

I will put your mods for app armor in the README for now. I do not think it is a wise idea to automaticaly modify the app armor setttings from my installer (if even allowed)

Thank you figuring out the apparmor rules!

@Ximi1970
Copy link
Owner

Maybe an extra profile package speically for app armor?

@PutinVladimir
Copy link
Contributor Author

I do not think it is a wise idea to automaticaly modify the app armor setttings from my installer (if even allowed)
Maybe an extra profile package speically for app armor?

Apparmor has '/etc/apparmor.d/usr.bin.thunderbird'
putting somethings into '/etc/apparmor.d/local/usr.bin.thunderbird'
we are reorder settings. And file in 'local' dir is special includes for this purpose so you can put this file if package apparmor is installed.

@Ximi1970
Copy link
Owner

Found out app armor is already installed in my Debian...Are you using the script installer?

@PutinVladimir
Copy link
Contributor Author

Are you using the script installer?

Yes I used local installed addon and companion...

@PutinVladimir
Copy link
Contributor Author

Not reproducible now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants