Bug 205584

Summary: www/qupzilla-qt5: Crashes after opening new tab
Product: Ports & Packages Reporter: Arto Pekkanen <aksyom>
Component: Individual Port(s)Assignee: freebsd-ports-bugs (Nobody) <ports-bugs>
Status: Closed Overcome By Events    
Severity: Affects Many People CC: bsam, olivierd, rene, rezny, rodrigo.freebsd, tcberner, w.schwarzenfeld
Priority: --- Keywords: crash, needs-qa
Version: LatestFlags: vlad-fbsd: maintainer-feedback+
Hardware: amd64   
OS: Any   

Description Arto Pekkanen 2015-12-24 18:00:02 UTC
www/qupzilla-qt5 crashes after opening a new tab.

Reproducible. Crashes every time. Can use browser only when one tab open.

Program dumped crash log .config/qupzilla/crashlog/Crash-2015-12-24T19:42:04.txt:
Time: to joulukuuta 24 19:42:04 2015
Qt version: 5.4.1 (compiled with 5.4.1)
QupZilla version: 1.8.9
WebKit version: 538.1

============== BACKTRACE ==============
#0: 0x402c7e <_Z23qupzilla_signal_handleri+0x14e> at /usr/local/bin/qupzilla
#1: 0x806a689aa <pthread_sigmask+0x4aa> at /lib/libthr.so.3
#2: 0x806a681a8 <pthread_getspecific+0xdd8> at /lib/libthr.so.3

Program termination was due to ABORT (probably triggered by program itself after it generated the crash log above). Core dump: http://koti.kapsi.fi/~isoa/cores/qupzilla.core.xz

uname -a:
FreeBSD leno 10.2-RELEASE-p7 FreeBSD 10.2-RELEASE-p7 #0: Mon Nov  2 14:19:39 UTC 2015     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64

If you need more information, please do ask.
Comment 1 Matthew Rezny freebsd_committer freebsd_triage 2015-12-28 18:12:39 UTC
Try reproducing with a fresh profile (move or remove ~/.config/qupzilla/profiles). 

I have not seen a crash like this with either Qt4 or Qt5 version in my daily use. Are you using the official packages or building from ports? If the latter, please attach your make.conf.
Comment 2 Rodrigo N. Hernandez freebsd_triage 2015-12-28 21:41:35 UTC
(In reply to matthew from comment #1)

Hello Matthew. I'm setting maintainer-feedback(+) for you this time considering you provided feedback. Please set maintainer-feedback to + whenever you provide any type of feedback (and current status is (?)) so that the issue doesnt trigger maintainer timeout (>14 days). Thanks!
Comment 3 Olivier Duchateau freebsd_committer freebsd_triage 2015-12-30 09:58:54 UTC
I also noticed crash of Qupzilla, but only when new tab is opened with Speed Dial page. Otherwise no problem in my daily use.
Comment 4 Matthew Rezny freebsd_committer freebsd_triage 2015-12-31 04:58:04 UTC
Olivier: Thank you for the hint about Speed Dial. I do not use that normally but that is part of it. If you create a fresh profile, do you get the crash opening new tab with speed dial?

Arto: Am I right to assume you are also seeing this with Speed Dial? If you set new tab to open blank, can you open new tabs without a crash? Have you tried with a fresh profile?

I have tested on two of my systems after changing the setting for new tabs to open speed dial. On one system it crashes when opening a new tab but on the other system I can open multiple new tabs with speed dial with no problem. So, there is something more to it, most likely something in the history or wherever else speed dial pulls from.
Comment 5 Arto Pekkanen 2015-12-31 19:21:45 UTC
(In reply to matthew from comment #4)

I am using the FreeBSD-latest repository: http://pkg.freebsd.org/freebsd:10:x86:64/latest/

Repository build: https://pkg-status.freebsd.org/builds/default:default:101amd64:404493:beefy6

Browser crashes even with clean profile.

Tried using the browser without speed dial on new tabs. Now I can open multiple tabs, and open pages in them via direct url or by using Google Search.

However, I noticed another bug: some web pages cause the browser to freeze. Duckduckgo.com and Yahoo.com both cause a freeze. This also means that if I use the location bar or start page to search, it will search via Duckduckgo.com and freeze.

When the browser freezes, it can be killed with SIGTERM.

Google.com and Msn.com both work ... so the problem that causes the browser to freeze is not only the speed dial, but also some specific combination of HTML and Javascript.

I could not make a core dump of the browser after it freezes. Trying to use gdb's gcore command on the browser (after forcing break to gdb with SIGINT) causes gdb itself to freeze after it's virtual memory footprint (supposedly) reaches 34 GB.

Also, when I try to use the browser inside a VNC Server session, it will not accept any keyboard input while other applications work just fine.

PS. I provided a crash dump for the speed dial crash. Did you check it? It might provide useful clues on where this crash happens.
Comment 6 Matthew Rezny freebsd_committer freebsd_triage 2016-01-02 04:24:49 UTC
Arto: Thanks for the feedback, but I must say this is puzzling because I have never seen the problems you describe with specific pages, and duckduckgo is what I use for searches most often. Do you see problems on these pages if you open them in Konquror, ReKonq, or any other browser using QtWebKit?

I'm surprised the problem with speed dial occurs even with a fresh profile since I was only able to reproduce on one of my systems. There must be some difference between systems other than the profile that triggers the problem.

Your core file came from a binary from packages, so there are definitely no symbols. Since I can reproduce the speed dial problem on one system, I will make a build with DEBUG enabled and get a dump from that. I have verified with the author this a not a known issue. He can look into it provided the right info, but I know he is busy at the moment so it could take a while.
Comment 7 Arto Pekkanen 2016-01-03 02:49:37 UTC
(In reply to matthew from comment #6)

ReKonq works just fine, except that I cannot set search engine because of some arbitrary "desktop file missing" reason.

Konqueror I could not find in repository, so could not test it.

I did notice that www/rekonq uses webkit-qt4, while www/qupzilla-qt5 uses webkit-qt5. So these two browsers use different version of the webkit. If they use different webkit, is there any point in testing and comparing ReKonq to Qupzilla (QT5)?

In regards to the difference in systems: I am testing these browser with both my laptop and server w/ VNC. Both yield equal results; Qupzilla (QT5) crashes after opening new tab w/ speed dial, or if you try opening eg. Yahoo.com. Both install packages from the FreeBSD-latest repository. If there is some meaningful difference, then it is in what services are enabled. And in that regard, the only desktop-related service I've enabled in both systems is D-Bus (because some apps misbehave or abort execution without it). Other than that, I can't say

BUT I did test www/otter-browser, which is another webkit-qt5 based software.

The result was that www/otter-browser freezes when I try to open duckduckgo.com or yahoo.com, just like www/qupzilla-qt5 does. And just like www/qupzilla-qt5, it does not accept keyboard input if run within VNC session.

So with this I would say that the problem is in webkit-qt5, not in webkit-qt4.
Comment 8 Arto Pekkanen 2016-01-03 02:57:43 UTC
(In reply to matthew from comment #6)

Another NOTE: it seems that the apps depend either on qt4-webkit or qt5-webkit.

HOWEVER, freshports.org lists them as webkit-qt4 and webkit-qt5.

Maybe freshports.org is out of date?
Comment 9 Matthew Rezny freebsd_committer freebsd_triage 2016-05-24 21:27:18 UTC
I never saw the problem on a debug build, and I suspect this problem has been resolved by one of the updates to Qt5 because I have not been able to reproduce the issue on any of my systems for months now.
Comment 10 VK 2016-05-24 23:57:09 UTC
Matthew, please mark the report maintainer-feedback +, to avoid maintainer timeout on your ports' reports. Also please consider closing the report as overcome by events, if you can confirm an update to Qt5 fixed this.
Comment 11 Matthew Rezny freebsd_committer freebsd_triage 2016-05-27 10:04:47 UTC
As a mere contributor, I cannot make any meaningful changes to the BZ ticket, i.e. close it.

Why would a ticket assigned to ports have any bearing on the maintainer? It was never assigned, so meh...

And feedback about what? There's no patch or anything.

Someone else will have to close it.
Comment 12 VK 2016-05-27 11:08:16 UTC
(In reply to matthew from comment #11)

Your feedback was requested on the subject, it was set with maintainer-feedback? with your email address. To address such a feedback, you set it to maintainer-feedback+, or else it would appear you never did which would lead to maintainer timeout.

Just removing the feedback request (?) is inaccurate, so I'm setting it back to +.

The feedback requested was for the entire issue at hand. Whenever you reply, like you did explaining that it was probably fixed upstream, and you think that's the appropriate answer / feedback given to the bug report, you flag it with maintainer-feedback+ (if it was requested with ?).

In addition, you can set maintainer-approval+ to patches, which is related but not the same thing. As there's no patch here, the approval was never requested.

I hope this explains the difference.

I'm just going to ask the reporter, Arto, to confirm if this was indeed resolved in the meantime? If so, we can close this.
Comment 13 Arto Pekkanen 2016-05-27 12:39:52 UTC
(In reply to Vladimir Krstulja from comment #12)

Problem still persist in version 1.8.9 on my laptop. Now qupzilla-qt5 freezes after opening a few tabs, most probably the freeze is caused by http://www.msn.com ... I recall this happens similarly to how it happened last time.

All the relevant pkgs have been installed from FreeBSD-stable repository with no modifications.
Comment 14 Boris Samorodov freebsd_committer freebsd_triage 2017-01-21 20:26:44 UTC
For me qupzilla crashes upon startup with signal 6. Installed from official packages. The system:
% uname -a
FreeBSD sdu3.bsnet 12.0-CURRENT FreeBSD 12.0-CURRENT #39 r312566: Sat Jan 21 13:10:37 MSK 2017     bsam@latt.bsnet:/usr/obj/usr/src/sys/LATT  amd64
From /var/log/messages:
---
Jan 21 19:09:59 sdu3 pkg: diligent-0.2.7 installed
Jan 21 19:30:02 sdu3 kernel: pid 2023 (diligent), uid 1001: exited on signal 6 (core dumped)
---
The trace:
---
[New Thread 810416000 (LWP 100130/<unknown>)]
(gdb) bt
#0  0x0000000805f42e7a in thr_kill () from /lib/libc.so.7
#1  0x0000000805f42e4b in __raise (s=6) at /usr/src/lib/libc/gen/raise.c:52
#2  0x0000000805f42db9 in abort () at /usr/src/lib/libc/stdlib/abort.c:65
#3  0x0000000814db3bbf in _dbus_user_database_get_uid ()   from /usr/local/lib/libdbus-1.so.3
#4  0x0000000814daa1ec in _dbus_warn_check_failed ()   from /usr/local/lib/libdbus-1.so.3
#5  0x0000000814daa7e9 in _dbus_uuid_encode ()   from /usr/local/lib/libdbus-1.so.3
#6  0x0000000814db1f71 in _dbus_get_tmpdir ()   from /usr/local/lib/libdbus-1.so.3
#7  0x0000000814da737a in dbus_threads_init ()   from /usr/local/lib/libdbus-1.so.3
#8  0x0000000814da670c in dbus_threads_init ()   from /usr/local/lib/libdbus-1.so.3
#9  0x0000000814d8ee46 in dbus_connection_open ()   from /usr/local/lib/libdbus-1.so.3
#10 0x0000000814d8c25e in dbus_bus_get () from /usr/local/lib/libdbus-1.so.3
#11 0x0000000814915433 in ?? () from /usr/local/lib/libQt5DBus.so.5
#12 0x0000000804c89964 in QObject::event () from /usr/local/lib/libQt5Core.so.5
#13 0x0000000804aa68ff in QThread::event () from /usr/local/lib/libQt5Core.so.5
#14 0x0000000804c5f25d in QCoreApplicationPrivate::notify_helper ()   from /usr/local/lib/libQt5Core.so.5
#15 0x0000000804c5ee4e in QCoreApplication::notifyInternal2 ()   from /usr/local/lib/libQt5Core.so.5
#16 0x0000000804c5fb3e in QCoreApplicationPrivate::sendPostedEvents ()   from /usr/local/lib/libQt5Core.so.5
#17 0x0000000804cb11c8 in QEventDispatcherGlib::QEventDispatcherGlib ()   from /usr/local/lib/libQt5Core.so.5
#18 0x00000008081e403b in g_main_context_dispatch ()   from /usr/local/lib/libglib-2.0.so.0
#19 0x00000008081e4364 in g_main_context_pending ()   from /usr/local/lib/libglib-2.0.so.0
#20 0x00000008081e43f4 in g_main_context_iteration ()   from /usr/local/lib/libglib-2.0.so.0
#21 0x0000000804cb0c98 in QEventDispatcherGlib::processEvents ()   from /usr/local/lib/libQt5Core.so.5
#22 0x0000000804c5b0e0 in QEventLoop::exec ()   from /usr/local/lib/libQt5Core.so.5
#23 0x0000000804aa6493 in QThread::exec () from /usr/local/lib/libQt5Core.so.5
#24 0x0000000814915743 in qDBusBindToApplication ()   from /usr/local/lib/libQt5DBus.so.5
#25 0x0000000804aa9f9a in QThreadStorageData::finish ()   from /usr/local/lib/libQt5Core.so.5
#26 0x0000000805c5ab95 in thread_start (curthread=<value optimized out>)    at /usr/src/lib/libthr/thread/thr_create.c:289
#27 0x0000000000000000 in ?? ()
(gdb)
---
% ldd /usr/local/bin/diligent
/usr/local/bin/diligent:
        libQt5WebKitWidgets.so.5 => /usr/local/lib/libQt5WebKitWidgets.so.5 (0x800e9f000)
        libQt5Widgets.so.5 => /usr/local/lib/libQt5Widgets.so.5 (0x801200000)
        libQt5WebKit.so.5 => /usr/local/lib/libQt5WebKit.so.5 (0x801c00000)
        libQt5Gui.so.5 => /usr/local/lib/libQt5Gui.so.5 (0x803e00000)
        libQt5Network.so.5 => /usr/local/lib/libQt5Network.so.5 (0x804504000)
        libQt5Core.so.5 => /usr/local/lib/libQt5Core.so.5 (0x804a00000)
        libGL.so.1 => /usr/local/lib/libGL.so.1 (0x8050ba000)
        libc++.so.1 => /usr/lib/libc++.so.1 (0x805335000)
        libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x8055f4000)
        libm.so.5 => /lib/libm.so.5 (0x805813000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x805a3d000)
        libthr.so.3 => /lib/libthr.so.3 (0x805c52000)
        libc.so.7 => /lib/libc.so.7 (0x805e79000)
        libQt5PrintSupport.so.5 => /usr/local/lib/libQt5PrintSupport.so.5 (0x806231000)
        libQt5OpenGL.so.5 => /usr/local/lib/libQt5OpenGL.so.5 (0x806499000)
        libz.so.6 => /lib/libz.so.6 (0x8066f1000)
        libXrender.so.1 => /usr/local/lib/libXrender.so.1 (0x806909000)
        libXcomposite.so.1 => /usr/local/lib/libXcomposite.so.1 (0x806b12000)
        libleveldb.so.1 => /usr/local/lib/libleveldb.so.1 (0x806d14000)
        libmemenv.so.1 => /usr/local/lib/libmemenv.so.1 (0x806f66000)
        libjpeg.so.8 => /usr/local/lib/libjpeg.so.8 (0x80716c000)
        libpng16.so.16 => /usr/local/lib/libpng16.so.16 (0x8073d9000)
        libwebp.so.6 => /usr/local/lib/libwebp.so.6 (0x807613000)
        libX11.so.6 => /usr/local/lib/libX11.so.6 (0x80788e000)
        libxslt.so.1 => /usr/local/lib/libxslt.so.1 (0x807bca000)
        libxml2.so.2 => /usr/local/lib/libxml2.so.2 (0x807e06000)
        libglib-2.0.so.0 => /usr/local/lib/libglib-2.0.so.0 (0x808195000)
        libgobject-2.0.so.0 => /usr/local/lib/libgobject-2.0.so.0 (0x80849e000)
        libgstreamer-1.0.so.0 => /usr/local/lib/libgstreamer-1.0.so.0 (0x8086e6000)
        libgstapp-1.0.so.0 => /usr/local/lib/libgstapp-1.0.so.0 (0x808a04000)
        libgstbase-1.0.so.0 => /usr/local/lib/libgstbase-1.0.so.0 (0x808c10000)
        libgstpbutils-1.0.so.0 => /usr/local/lib/libgstpbutils-1.0.so.0 (0x808e6e000)
        libgstvideo-1.0.so.0 => /usr/local/lib/libgstvideo-1.0.so.0 (0x8090a2000)
        libgstaudio-1.0.so.0 => /usr/local/lib/libgstaudio-1.0.so.0 (0x809331000)
        libsqlite3.so.0 => /usr/local/lib/libsqlite3.so.0 (0x809590000)
        libicui18n.so.58 => /usr/local/lib/libicui18n.so.58 (0x809a00000)
        libicuuc.so.58 => /usr/local/lib/libicuuc.so.58 (0x809eaa000)
        libQt5Quick.so.5 => /usr/local/lib/libQt5Quick.so.5 (0x80a400000)
        libQt5Qml.so.5 => /usr/local/lib/libQt5Qml.so.5 (0x80aa00000)
        libQt5Sql.so.5 => /usr/local/lib/libQt5Sql.so.5 (0x80afb3000)
        libharfbuzz.so.0 => /usr/local/lib/libharfbuzz.so.0 (0x80b1ed000)
        libproxy.so.1 => /usr/local/lib/libproxy.so.1 (0x80b48b000)
        libexecinfo.so.1 => /usr/lib/libexecinfo.so.1 (0x80b6ad000)
        libpcre16.so.0 => /usr/local/lib/libpcre16.so.0 (0x80b8b0000)
        libexpat.so.1 => /usr/local/lib/libexpat.so.1 (0x80bb1f000)
        libglapi.so.0 => /usr/local/lib/libglapi.so.0 (0x80bd49000)
        libXext.so.6 => /usr/local/lib/libXext.so.6 (0x80bfb2000)
        libXdamage.so.1 => /usr/local/lib/libXdamage.so.1 (0x80c1c3000)
        libXfixes.so.3 => /usr/local/lib/libXfixes.so.3 (0x80c3c5000)
        libX11-xcb.so.1 => /usr/local/lib/libX11-xcb.so.1 (0x80c5ca000)
        libxcb.so.1 => /usr/local/lib/libxcb.so.1 (0x80c7cb000)
        libxcb-glx.so.0 => /usr/local/lib/libxcb-glx.so.0 (0x80c9f0000)
        libxcb-dri2.so.0 => /usr/local/lib/libxcb-dri2.so.0 (0x80cc09000)
        libXxf86vm.so.1 => /usr/local/lib/libXxf86vm.so.1 (0x80ce0d000)
        libdrm.so.2 => /usr/local/lib/libdrm.so.2 (0x80d011000)
        libsnappy.so.1 => /usr/local/lib/libsnappy.so.1 (0x80d220000)
        liblzma.so.5 => /usr/lib/liblzma.so.5 (0x80d428000)
        libiconv.so.2 => /usr/local/lib/libiconv.so.2 (0x80d651000)
        libpcre.so.1 => /usr/local/lib/libpcre.so.1 (0x80d94c000)
        libintl.so.8 => /usr/local/lib/libintl.so.8 (0x80dbc1000)
        libffi.so.6 => /usr/local/lib/libffi.so.6 (0x80ddcc000)
        libgmodule-2.0.so.0 => /usr/local/lib/libgmodule-2.0.so.0 (0x80dfd3000)
        librt.so.1 => /usr/lib/librt.so.1 (0x80e1d6000)
        libgsttag-1.0.so.0 => /usr/local/lib/libgsttag-1.0.so.0 (0x80e3db000)
        liborc-0.4.so.0 => /usr/local/lib/liborc-0.4.so.0 (0x80e617000)
        libicudata.so.58 => /usr/local/lib/libicudata.so.58 (0x80e8b0000)
        libfreetype.so.6 => /usr/local/lib/libfreetype.so.6 (0x80eab1000)
        libgraphite2.so.3 => /usr/local/lib/libgraphite2.so.3 (0x80ed57000)
        libelf.so.2 => /lib/libelf.so.2 (0x80ef8a000)
        libXau.so.6 => /usr/local/lib/libXau.so.6 (0x80f1a1000)
        libpthread-stubs.so.0 => /usr/local/lib/libpthread-stubs.so.0 (0x80f3a3000)
        libXdmcp.so.6 => /usr/local/lib/libXdmcp.so.6 (0x80f5a4000)
        libdevq.so.0 => /usr/local/lib/libdevq.so.0 (0x80f7a9000)
        libbz2.so.4 => /usr/lib/libbz2.so.4 (0x80f9ad000)
        libprocstat.so.1 => /usr/lib/libprocstat.so.1 (0x80fbc0000)
        libkvm.so.7 => /lib/libkvm.so.7 (0x80fdca000)
        libutil.so.9 => /lib/libutil.so.9 (0x80ffd9000)
---

How to reproduce:
1. Install fresh CURRENT system (I used a USB stick).
2. pkg install xorg qupzilla
3. startx + qupzilla.
Voila :-(
Comment 15 Walter Schwarzenfeld 2018-01-23 09:08:07 UTC
ping!
Comment 16 Rene Ladan freebsd_committer freebsd_triage 2019-03-03 11:34:09 UTC
Expired port removed, please use www/falkon instead.