Summary: | rekonq crashes when hovering the wheel options in the webinspector | ||
---|---|---|---|
Product: | [Unmaintained] rekonq | Reporter: | sml <sml> |
Component: | general | Assignee: | Andrea Diamantini <adjam7> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | aries.belgium, lindsay.mathieson, pano_90 |
Priority: | NOR | ||
Version: | latest git snapshot | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Bug Depends on: | |||
Bug Blocks: | 237890 |
Description
sml
2010-05-04 14:37:22 UTC
I can confirm this crash, as it crashes here too The crash also happens here. But as I don't see anything related to Rekonq, and as the Web Inspector is part of Webkit and not of Rekonq, I believe this bug is not related to Rekonq but to QtWebkit. Is it ? commit 9da41bf9224e233bba49149a2cb9db11c460d7f8 Author: Andrea Diamantini <adjam7@gmail.com> Date: Fri May 21 00:03:32 2010 +0200 Fix developers panel handling BUG:236319 diff --git a/src/analyzer/analyzerpanel.cpp b/src/analyzer/analyzerpanel.cpp index be34630..9198cad 100644 --- a/src/analyzer/analyzerpanel.cpp +++ b/src/analyzer/analyzerpanel.cpp @@ -79,10 +79,7 @@ void NetworkAnalyzerPanel::toggle(bool enable) connect(manager, SIGNAL(networkData(QNetworkAccessManager::Operation, const QNetworkRequest &, QNetworkReply *)), _viewer, SLOT(addRequest(QNetworkAccessManager::Operation, const QNetworkRequest &, QNetworkReply *) ) ); - -// mainWindow()->currentTab()->page()->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); -// findChild<QWebInspector *>()->setPage(mainWindow()->currentTab()->page()); - show(); + show(); } else { @@ -91,13 +88,12 @@ void NetworkAnalyzerPanel::toggle(bool enable) _viewer, SLOT(addRequest(QNetworkAccessManager::Operation, const QNetworkRequest &, QNetworkReply *) ) ); hide(); -// mainWindow()->currentTab()->view()->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, false); } } void NetworkAnalyzerPanel::changeCurrentPage() { - bool enable = mainWindow()->currentTab()->view()->settings()->testAttribute(QWebSettings::DeveloperExtrasEnabled); + bool enable = mainWindow()->currentTab()->page()->hasNetworkAnalyzerEnabled(); toggle(enable); } diff --git a/src/webinspectorpanel.cpp b/src/webinspectorpanel.cpp index 31833ea..3d1a5a1 100644 --- a/src/webinspectorpanel.cpp +++ b/src/webinspectorpanel.cpp @@ -42,9 +42,9 @@ WebInspectorPanel::WebInspectorPanel(QString title, QWidget *parent) : QDockWidget(title, parent) + , _inspector(0) { setObjectName("webInspectorDock"); - setWidget(new QWebInspector(this)); } @@ -55,31 +55,34 @@ void WebInspectorPanel::closeEvent(QCloseEvent *event) } -MainWindow* WebInspectorPanel::mainWindow() -{ - return qobject_cast< MainWindow* >(parentWidget()); -} - - void WebInspectorPanel::toggle(bool enable) { - mainWindow()->actionByName("web_inspector")->setChecked(enable); + MainWindow *w = qobject_cast<MainWindow *>(parent()); + w->actionByName( QL1S("web_inspector") )->setChecked(enable); if (enable) { - mainWindow()->currentTab()->view()->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); - findChild<QWebInspector *>()->setPage(mainWindow()->currentTab()->page()); + w->currentTab()->page()->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); + if(!_inspector) + { + _inspector = new QWebInspector(this); + _inspector->setPage( w->currentTab()->page() ); + setWidget(_inspector); + } show(); } else { + w->currentTab()->page()->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, false); + delete _inspector; + _inspector = 0; hide(); - mainWindow()->currentTab()->view()->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, false); } } void WebInspectorPanel::changeCurrentPage() { - bool enable = mainWindow()->currentTab()->view()->settings()->testAttribute(QWebSettings::DeveloperExtrasEnabled); + MainWindow *w = qobject_cast<MainWindow *>(parent()); + bool enable = w->currentTab()->page()->settings()->testAttribute(QWebSettings::DeveloperExtrasEnabled); toggle(enable); } diff --git a/src/webinspectorpanel.h b/src/webinspectorpanel.h index 8b1e350..1f0ea06 100644 --- a/src/webinspectorpanel.h +++ b/src/webinspectorpanel.h @@ -35,7 +35,11 @@ #include "mainwindow.h" // Qt Includes -#include <QDockWidget> +#include <QtGui/QDockWidget> + +// Forward +class QWebInspector; + /** Docked web inspector @@ -54,8 +58,7 @@ public slots: protected: virtual void closeEvent(QCloseEvent *event); - MainWindow *mainWindow(); - + QWebInspector *_inspector; }; #endif *** Bug 238774 has been marked as a duplicate of this bug. *** still crashes with 0.4.90 Application: rekonq (kdeinit4), signal: Segmentation fault [Current thread is 1 (Thread 0x7f189bb4d760 (LWP 16936))] Thread 7 (Thread 0x7f188afa4710 (LWP 16937)): #0 0x00007f1899e4416c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f189162fad0 in ?? () from /usr/lib/libQtWebKit.so.4 #2 0x00007f189162fb09 in ?? () from /usr/lib/libQtWebKit.so.4 #3 0x00007f1899e3f97a in start_thread () from /lib/libpthread.so.0 #4 0x00007f1898c4801d in clone () from /lib/libc.so.6 #5 0x0000000000000000 in ?? () Thread 6 (Thread 0x7f1885cb1710 (LWP 16938)): #0 0x00007f1899e4416c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f189a0c626b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4 #2 0x00007f1890e1205e in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned(ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4 #3 0x00007f1890e14373 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4 #4 0x00007f1890e1438c in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4 #5 0x00007f1890e1438c in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4 #6 0x00007f1890e1326f in ThreadWeaver::ThreadRunHelper::run(ThreadWeaver::WeaverImpl*, ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4 #7 0x00007f1890e132f8 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4 #8 0x00007f189a0c5ba5 in ?? () from /usr/lib/libQtCore.so.4 #9 0x00007f1899e3f97a in start_thread () from /lib/libpthread.so.0 #10 0x00007f1898c4801d in clone () from /lib/libc.so.6 #11 0x0000000000000000 in ?? () Thread 5 (Thread 0x7f187f5e7710 (LWP 16942)): #0 0x00007f1899e4416c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f189a0c626b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4 #2 0x00007f1890e1205e in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned(ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4 #3 0x00007f1890e14373 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4 #4 0x00007f1890e1438c in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4 #5 0x00007f1890e1326f in ThreadWeaver::ThreadRunHelper::run(ThreadWeaver::WeaverImpl*, ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4 #6 0x00007f1890e132f8 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4 #7 0x00007f189a0c5ba5 in ?? () from /usr/lib/libQtCore.so.4 #8 0x00007f1899e3f97a in start_thread () from /lib/libpthread.so.0 #9 0x00007f1898c4801d in clone () from /lib/libc.so.6 #10 0x0000000000000000 in ?? () Thread 4 (Thread 0x7f187ec0e710 (LWP 16943)): #0 0x00007f1899e4416c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f189a0c626b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4 #2 0x00007f1891af7f68 in ?? () from /usr/lib/libQtWebKit.so.4 #3 0x00007f1891afcc7b in ?? () from /usr/lib/libQtWebKit.so.4 #4 0x00007f1891633cbb in ?? () from /usr/lib/libQtWebKit.so.4 #5 0x00007f189a0c5ba5 in ?? () from /usr/lib/libQtCore.so.4 #6 0x00007f1899e3f97a in start_thread () from /lib/libpthread.so.0 #7 0x00007f1898c4801d in clone () from /lib/libc.so.6 #8 0x0000000000000000 in ?? () Thread 3 (Thread 0x7f187ffff710 (LWP 16966)): #0 0x00007f1899e4416c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f189a0c626b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4 #2 0x00007f1890e1205e in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned(ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4 #3 0x00007f1890e14373 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4 #4 0x00007f1890e1438c in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4 #5 0x00007f1890e1438c in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4 #6 0x00007f1890e1326f in ThreadWeaver::ThreadRunHelper::run(ThreadWeaver::WeaverImpl*, ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4 #7 0x00007f1890e132f8 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4 #8 0x00007f189a0c5ba5 in ?? () from /usr/lib/libQtCore.so.4 #9 0x00007f1899e3f97a in start_thread () from /lib/libpthread.so.0 #10 0x00007f1898c4801d in clone () from /lib/libc.so.6 #11 0x0000000000000000 in ?? () Thread 2 (Thread 0x7f187defd710 (LWP 17014)): #0 0x00007f1899e4416c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f189a0c626b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4 #2 0x00007f1890e1205e in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned(ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4 #3 0x00007f1890e14373 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4 #4 0x00007f1890e1326f in ThreadWeaver::ThreadRunHelper::run(ThreadWeaver::WeaverImpl*, ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4 #5 0x00007f1890e132f8 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4 #6 0x00007f189a0c5ba5 in ?? () from /usr/lib/libQtCore.so.4 #7 0x00007f1899e3f97a in start_thread () from /lib/libpthread.so.0 #8 0x00007f1898c4801d in clone () from /lib/libc.so.6 #9 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f189bb4d760 (LWP 16936)): [KCrash Handler] #5 0x00007f189a1ae78d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 #6 0x00007f189938d70e in QApplicationPrivate::dispatchEnterLeave(QWidget*, QWidget*) () from /usr/lib/libQtGui.so.4 #7 0x00007f18994073cb in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4 #8 0x00007f189942c7f2 in ?? () from /usr/lib/libQtGui.so.4 #9 0x00007f1895863b33 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #10 0x00007f1895864310 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0 #11 0x00007f18958645ad in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #12 0x00007f189a1d700f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #13 0x00007f189942c4be in ?? () from /usr/lib/libQtGui.so.4 #14 0x00007f189a1adb82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #15 0x00007f189a1addbc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #16 0x00007f189a1b20eb in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4 #17 0x00007f188d909805 in kdemain () from /usr/lib/libkdeinit4_rekonq.so #18 0x0000000000406693 in _start () uhm.. first thing, I closed the wrong bug. It's the third time this month :( Second, I really cannot reproduce this. I can reproduce this every time using the described steps with the latest from trunk (4.90), Kubuntu 10.04, kde 4.4.3 Tried also this evening. Cannot reproduce. rekonq 0.4.91+ kde 4.4 from branches Qt 4.6.2 Choosing wrong url? Can someone point me out to an url where this happen? On Wednesday 02 June 2010 08:50:46 Andrea Diamantini wrote:
> https://bugs.kde.org/show_bug.cgi?id=236319
>
>
>
>
>
> --- Comment #9 from Andrea Diamantini <adjam7 gmail com> 2010-06-02
> 02:50:42 --- Tried also this evening. Cannot reproduce.
> rekonq 0.4.91+
> kde 4.4 from branches
> Qt 4.6.2
>
> Choosing wrong url? Can someone point me out to an url where this happen?
This happens for me on any URL or even the 'Favorites' page.
eg. www.kde.org - just right-click a blank area of the page, select 'inspect
element', click the wheel in the 'Styles' heading, and hover over the menu
entries (for me there is always 4 entries all labelled '...').
Yup, latest build any page all the time for me too. The stack dump doesn't seem to implicate rekonq per se - its all in QT code. Ineresting - I just tried Arora 0.10.2 from the kubuntu repo, it has exactly the same problem. I'll build it from source tommorrow and see if I can get a stack trace. The Web Inspector stuff looks to be heavily graphical, I'm wondering if that's part of the problem - I'm using a NVidia card with the 195.36.15 binary drivers from NVidia and all desktop effects enabled. How about the resto of you? Yup, latest build any page all the time for me too. The stack dump doesn't seem to implicate rekonq per se - its all in QT code. Ineresting - I just tried Arora 0.10.2 from the kubuntu repo, it has exactly the same problem. I'll build it from source tommorrow and see if I can get a stack trace. The Web Inspector stuff looks to be heavily graphical, I'm wondering if that's part of the problem - I'm using a NVidia card with the 195.36.15 binary drivers from NVidia and all desktop effects enabled. How about the rest of you? I'm using an nvidia card too, driver version: 195.36.24. Desktop effects are disabled though Ok, I just disabled desktop effects and dropped back to to the nv driver - still getting the crash in rekonq and arora. and I'm on intel graphics, so it's not that.. Anyway, rekonq just let the webinspector show. Crash during its use are to be reported upstream. To do it, use this link (https://bugs.webkit.org/) I understood Pano's crash is different from the reported one. So, the reported one has been resolved as fixed (hence, changing bug status). Pano's (and other) bug is opened as BUG:266937. |