Bug 67992

Summary: [Qt][WK2] MiniBrowser crashes on startup (in some environments)
Product: WebKit Reporter: Balazs Kelemen <kbalazs>
Component: WebKit QtAssignee: Nobody <webkit-unassigned>
Status: RESOLVED INVALID    
Severity: Normal CC: abecsi, loki, ossy, tabotapife, zoltan
Priority: P1 Keywords: Qt, QtTriaged
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Linux   

Description Balazs Kelemen 2011-09-13 01:58:14 PDT
The funny thing is that it is happening in the environment of the Szeged WK2 bot (despite WTR and testing works there).

Program received signal SIGSEGV, Segmentation fault.
0xf3fdaa16 in glGetString () from /usr/lib/libGL.so.1
(gdb) bt 10
#0  0xf3fdaa16 in glGetString () from /usr/lib/libGL.so.1
#1  0xf52194c8 in QGLFormat::openGLVersionFlags () at qgl.cpp:1427
#2  0xf52271e8 in QGLEngineSelector::preferredPaintEngine (this=0x80e2798) at qgl.cpp:199
#3  0xf5217963 in qt_gl_preferGL2Engine () at qgl.cpp:219
#4  0xf5221cf1 in qt_qgl_paint_engine () at qgl.cpp:5316
#5  0xf5221d31 in QGLWidget::paintEngine (this=0x80d5de0) at qgl.cpp:5331
#6  0xf495bc14 in QWidgetPrivate::repaint_sys (this=0x80df3e0, rgn=...) at painting/qbackingstore.cpp:1631
#7  0xf47044be in QWidgetPrivate::syncBackingStore (this=0x80df3e0) at kernel/qwidget.cpp:1889
#8  0xf4714f78 in QWidget::event (this=0x80d5de0, event=0x8179430) at kernel/qwidget.cpp:8641
#9  0xf521fbd2 in QGLWidget::event (this=0x80d5de0, e=0x8179430) at qgl.cpp:4393
Comment 1 Zoltan Horvath 2011-09-13 02:08:50 PDT
QtTestBrowser has a problem with startup as well. 

See: https://lists.webkit.org/pipermail/webkit-qt/2011-September/001878.html
Comment 2 Balazs Kelemen 2011-09-13 04:48:55 PDT
Version info
qt5: 5fcb9e1857414c7231c0140d726e8c574935685b

dpkg -l "libgl*"
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                              Version                           Description
+++-=================================-=================================-==================================================================================
un  libgl-dev                         <none>                            (no description available)
un  libgl1                            <none>                            (no description available)
ii  libgl1-mesa-dev                   7.10.2-0ubuntu2                   A free implementation of the OpenGL API -- GLX development files
ii  libgl1-mesa-dri                   7.10.2-0ubuntu2                   A free implementation of the OpenGL API -- DRI modules
un  libgl1-mesa-dri-dev               <none>                            (no description available)
ii  libgl1-mesa-glx                   7.10.2-0ubuntu2                   A free implementation of the OpenGL API -- GLX runtime
un  libgl1-mesa-swx11-dev             <none>                            (no description available)
ii  libglib2.0-0                      2.28.6-0ubuntu1                   The GLib library of C routines
ii  libglib2.0-bin                    2.28.6-0ubuntu1                   The programs for the GLib library
ii  libglib2.0-data                   2.28.6-0ubuntu1                   Common files for GLib library
ii  libglib2.0-dev                    2.28.6-0ubuntu1                   Development files for the GLib library
un  libglib2.0-doc                    <none>                            (no description available)
un  libglide3                         <none>                            (no description available)
un  libglu-dev                        <none>                            (no description available)
un  libglu1                           <none>                            (no description available)
ii  libglu1-mesa                      7.10.2-0ubuntu2                   The OpenGL utility library (GLU)
ii  libglu1-mesa-dev                  7.10.2-0ubuntu2                   The OpenGL utility library -- development files
Comment 3 Balazs Kelemen 2011-09-13 04:49:42 PDT
Note that I'm trying to run MiniBrowser with X forwarding.
Comment 4 Balazs Kelemen 2011-09-14 02:12:33 PDT
More version info.
qtbase: 964793718fee83d46103acb5deb0bde4fa78a9af
qtscript: 7a954f4f8846aeece67aab7a74507f5904ccd436
qtsvg: 8bd0f4a9d6cff4a9dcb6b829208877f2ab798dad
qtxmlpatterns: 7137785c87497f8beb5bda20505466430c6b1521
qtdeclarative: 1dd8b509074ba60da671f7671f8cf09c3fc001ae
Comment 5 Andras Becsi 2011-09-14 04:00:41 PDT
(In reply to comment #4)
> More version info.
> qtbase: 964793718fee83d46103acb5deb0bde4fa78a9af
> qtscript: 7a954f4f8846aeece67aab7a74507f5904ccd436
> qtsvg: 8bd0f4a9d6cff4a9dcb6b829208877f2ab798dad
> qtxmlpatterns: 7137785c87497f8beb5bda20505466430c6b1521
> qtdeclarative: 1dd8b509074ba60da671f7671f8cf09c3fc001ae

For me this version works locally on 64bit, so this might be a local issue of yours.
Comment 6 Csaba Osztrogonác 2011-09-19 03:51:04 PDT
It isn't funny thing. :) It works for me on the buildbot machine with X forwarding. (with XMing from my Windows machine)

The problem must be in your machine.
Comment 7 Balazs Kelemen 2011-09-19 09:30:55 PDT
Debug backtrace:
#0  0xf2421a16 in glGetString () from /usr/lib/libGL.so.1
#1  0xf3685d48 in QGLFormat::openGLVersionFlags () at qgl.cpp:1427
#2  0xf3693b08 in QGLEngineSelector::preferredPaintEngine (this=0x80e0f88) at qgl.cpp:199
#3  0xf36841e3 in qt_gl_preferGL2Engine () at qgl.cpp:219
#4  0xf368e571 in qt_qgl_paint_engine () at qgl.cpp:5316
#5  0xf368e5b1 in QGLWidget::paintEngine (this=0x80daa28) at qgl.cpp:5331
#6  0xf2d92588 in QWidgetPrivate::repaint_sys (this=0x80db298, rgn=...) at painting/qbackingstore.cpp:1631
#7  0xf2b3ad42 in QWidgetPrivate::syncBackingStore (this=0x80db298) at kernel/qwidget.cpp:1893
#8  0xf2b4b87a in QWidget::event (this=0x80daa28, event=0x813bbb8) at kernel/qwidget.cpp:8649
#9  0xf368c452 in QGLWidget::event (this=0x80daa28, e=0x813bbb8) at qgl.cpp:4393
Comment 8 Balazs Kelemen 2011-09-19 10:13:49 PDT
Ok, it is a very very basic opengl issue that can be triggered by this super-dummy code:
#include <gl.h>

int main()
{
    glGetString(460);

    return 0;
}

This works for me (does nothing) locally and crashes in the environment where MiniBrowser is crashing. It's time to update the libgl packages...
Comment 9 Balazs Kelemen 2011-10-06 10:00:07 PDT
With an updated qt5 the issue is still exists but it's not regarded with libGL anymore. I have filed a bug riport for Qt: https://bugreports.qt.nokia.com/browse/QTBUG-21880.
I keep the status as invalid since it is not a WebKit issue anyway (for example all the Qt examples are also crashing in that evnironment).
Comment 10 walmartonelogin 2018-08-09 18:42:43 PDT
http://www.walmartone.biz/