das-labor / panopticon

A libre cross-platform disassembler.
https://panopticon.re
GNU General Public License v3.0
1.43k stars 80 forks source link

segfault after titlescreen on ubuntu 16.10 #219

Closed nocico closed 7 years ago

nocico commented 7 years ago

it seems to be https://bugreports.qt.io/browse/QTBUG-56526. commenting out menuBar: Ctrl.MenuBar { ... } in Window.qml allows panopticon to launch

flanfly commented 7 years ago

Hey @nocico, are us using the Ubuntu-provided packages for Qt or did you build it yourself?

nocico commented 7 years ago

I have built Qt in the past so your question gave me existential doubts, but qtpanopticon is linked against system libraries:

ldd qtpanopticon ``` linux-vdso.so.1 => (0x00007ffe59c0a000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fbac0776000) libQt5Qml.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 (0x00007fbac037a000) libQt5Gui.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007fbabfdee000) libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007fbabf916000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fbabf712000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fbabf4f2000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fbabf2db000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbabef14000) /lib64/ld-linux-x86-64.so.2 (0x0000559fae3da000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fbabec0b000) libQt5Network.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Network.so.5 (0x00007fbabea95000) libdouble-conversion.so.1 => /usr/lib/x86_64-linux-gnu/libdouble-conversion.so.1 (0x00007fbabe884000) libpng16.so.16 => /usr/lib/x86_64-linux-gnu/libpng16.so.16 (0x00007fbabe650000) libharfbuzz.so.0 => /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007fbabe3d0000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fbabe1b6000) libGL.so.1 => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 (0x00007fbabdf42000) libicui18n.so.57 => /usr/lib/x86_64-linux-gnu/libicui18n.so.57 (0x00007fbabdac8000) libicuuc.so.57 => /usr/lib/x86_64-linux-gnu/libicuuc.so.57 (0x00007fbabd720000) libpcre16.so.3 => /usr/lib/x86_64-linux-gnu/libpcre16.so.3 (0x00007fbabd4b5000) libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fbabd1a2000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fbabcf9a000) libproxy.so.1 => /usr/lib/x86_64-linux-gnu/libproxy.so.1 (0x00007fbabcd79000) libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007fbabcacc000) libgraphite2.so.3 => /usr/lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007fbabc8a5000) libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007fbabc67b000) libxcb-dri3.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0 (0x00007fbabc478000) libxcb-present.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-present.so.0 (0x00007fbabc275000) libxcb-sync.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1 (0x00007fbabc06e000) libxshmfence.so.1 => /usr/lib/x86_64-linux-gnu/libxshmfence.so.1 (0x00007fbabbe6b000) libglapi.so.0 => /usr/lib/x86_64-linux-gnu/libglapi.so.0 (0x00007fbabbc3a000) libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007fbabba28000) libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007fbabb825000) libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007fbabb61f000) libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007fbabb41d000) libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fbabb0e4000) libxcb-glx.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x00007fbabaec9000) libxcb-dri2.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0 (0x00007fbabacc4000) libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fbabaaa2000) libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007fbaba89c000) libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007fbaba68d000) libicudata.so.57 => /usr/lib/x86_64-linux-gnu/libicudata.so.57 (0x00007fbab8c10000) libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fbab899b000) libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fbab8797000) libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fbab8591000) ```

Just to be sure I ran

sudo apt install --reinstall qt5-default qtdeclarative5-dev \
                 qml-module-qtquick-controls qml-module-qttest \
                 qml-module-qtquick2 qml-module-qtquick-layouts \
                 qml-module-qtgraphicaleffects qml-module-qtqml-models2 \
                 qml-module-qtquick-dialogs \
                 qtbase5-private-dev

and still got the same issue. apt-cache policy also shows the packages are coming from archive.ubuntu.com yakkety/main and universe rather than a custom repo I added and forgot about. There isn't anything in my env either.

To be sure this isn't a bug in panopticon but in qt/ubuntu or maybe some weirdness on my machine, and I have an adequate workaround for myself, so feel free to close this issue at any time. I just thought you should know about it in case it's widespread since ubuntu 16.10 isn't an obscure distro.

nocico commented 7 years ago

Actually there was something in env :D env -i DISPLAY=:0.0 ./qtpanopticon works. I'll pinpoint the exact variable soon. EDIT: Basically this is a false alarm as the variable responsible is DBUS_SESSION_BUS_ADDRESS and the menu fails to show up when it is unset.

flanfly commented 7 years ago

Hey @nocico, sorry to keep you waiting. I just built the current master on Ubuntu and it works fine. So the missing DBUS_SESSION_BUS_ADDRESS seems to be the only problem (for now). Thanks for trying out Panopticon and your extensive debugging :smile:. Please don't hesitate to reopen the issue if your problem reappears.