[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#983031: konqueror segfaults on starting



Le samedi 6 mars 2021, 17:43:11 CET J Rowan a écrit :
> On Sat, 6 Mar 2021 14:04:38 +0100

Dear Joe,

thanks for taking the time to report the bug and investigate.
What the stack tells us is that the crash is in the R300 OpenGL graphics 
driver, as called by Qt Web Engine that Konqueror uses for the HTML rendering.

I cannot reproduce the crash myself on various more recent pieces of hardware, 
and neither did the team get similar bug reports.

So I can see 3 possible causes and (im)possible fixes from the most probable 
to the least :
1/ The OpenGL driver has a broken code path that is triggered here and should 
be fixed.
2/ Qt Web Engine calls the OpenGL stack incorrectly in this case and could be 
fixed. Alternatively it could be made to work around that particular OpenGL 
driver bug even if we’re in case 1/.
3/ That piece of graphics hardware is (now) broken and the code path makes it 
visible, nothing we can do about it. If that was the case I would expect the 
crash not to be reproducible 100% of the time, and here it looks like you can 
reproduce it so maybe not.

Looking the hardware support for that driver you must have a graphics card 
from the Radeon 9500-9800 series, X300-X600 series or X1050/X1150 from the 
2003-2005 era.
This driver is in maintenance mode to say the least so I wouldn’t get my hopes 
too high about a possible fix.

However if you want to help diagnose the issue further you could install the 
dbgsym packages [1] for at least libgl1-mesa-dri, libglx-mesa0, 
libqt5webenginecore5 and konqueror packages, and rerun the same gdb call so we 
get the crash stack with the function names and line numbers.

If you can confirm whether you get crashes with other programs using 3D 
rendering besides konqueror, that would be a useful data point.

Then we can decide if we want to forward the bug to mesa or Qt.

Again be ready to face refusals from both upstreams to work on an issue for 
such an old piece of hardware. Most opensource projects are understaffed and I 
have the feeling that reproducing let alone fixing this issue is not going to 
be an easy task.
Also I seem to remember that the R300 driver was made out of reverse 
engineering or with documentation provided to selected developers under NDA, 
which is not going to help either…

If you don’t have the time or motivation to do the above and dig further I’d 
still appreciate that you say so, and I’ll just mark this bug as « won’t 
fix ».


[1] https://wiki.debian.org/AutomaticDebugPackages?highlight=%28dbgsym%29


Thanks & happy hacking !
--
Aurélien


> Bernhard Übelacker <bernhardu@mailbox.org> wrote:
> > gdb -q -ex 'set pagination off' -ex 'run' -ex 'bt' -ex 'detach' -ex
> > 'quit' --args konqueror
> 
> Reading symbols from konqueror...
> Reading symbols from
> /usr/lib/debug/.build-id/e4/6ba37330371215b40e01c7c01397ce28f6aa3c.debug...
> Starting program: /usr/bin/konqueror
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
> [New Thread 0x7ffff0faf700 (LWP 8878)]
> [New Thread 0x7fffe42c3700 (LWP 8885)]
> [New Thread 0x7fffe3981700 (LWP 8886)]
> [New Thread 0x7fffe3180700 (LWP 8887)]
> [New Thread 0x7fffe297f700 (LWP 8888)]
> [New Thread 0x7fffe217e700 (LWP 8889)]
> [New Thread 0x7fffe197d700 (LWP 8890)]
> 
> Thread 1 "konqueror" received signal SIGSEGV, Segmentation fault.
> 0x0000000000000000 in ?? ()
> #0  0x0000000000000000 in  ()
> #1  0x00007fffeafcf23f in  () at /usr/lib/x86_64-linux-gnu/dri/r300_dri.so
> #2  0x00007fffeaaeb704 in  () at /usr/lib/x86_64-linux-gnu/dri/r300_dri.so
> #3  0x00007fffeaaeca94 in  () at /usr/lib/x86_64-linux-gnu/dri/r300_dri.so
> #4  0x00007fffeaace95e in  () at /usr/lib/x86_64-linux-gnu/dri/r300_dri.so
> #5  0x00007fffeafcd903 in  () at /usr/lib/x86_64-linux-gnu/dri/r300_dri.so
> #6  0x00007ffff07175af in  () at /usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0
> #7  0x00007ffff0705e49 in  () at /usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0
> #8  0x00007ffff15db1b5 in  () at
> /usr/lib/x86_64-linux-gnu/qt5/plugins/xcbglintegrations/libqxcb-glx-integra
> tion.so #9  0x00007ffff63fa4fb in QOpenGLContext::destroy() () at
> /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #10 0x00007ffff63fa7a7 in
> QOpenGLContext::~QOpenGLContext() () at
> /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #11 0x00007ffff15dd2bf in  () at
> /usr/lib/x86_64-linux-gnu/qt5/plugins/xcbglintegrations/libqxcb-glx-integra
> tion.so #12 0x00007ffff15dd909 in  () at
> /usr/lib/x86_64-linux-gnu/qt5/plugins/xcbglintegrations/libqxcb-glx-integra
> tion.so #13 0x00007fffbd4d9845 in  () at
> /usr/lib/x86_64-linux-gnu/libQt5WebEngineCore.so.5 #14 0x00007fffffffd210
> in  ()
> #15 0x00007fffbd4ddec1 in  () at
> /usr/lib/x86_64-linux-gnu/libQt5WebEngineCore.so.5 #16 0x00007fffffffd610
> in  ()
> #17 0x00007fffbd4dc4e5 in  () at
> /usr/lib/x86_64-linux-gnu/libQt5WebEngineCore.so.5 #18 0x00007fffffffd230
> in  ()
> #19 0x0000000000000005 in  ()
> #20 0x00007fffffffd530 in  ()
> #21 0x00007fffffffd540 in  ()
> #22 0x00007fffffffd590 in  ()
> #23 0x00007fffffffd380 in  ()
> #24 0x00007fffffffd360 in  ()
> #25 0x00007fffffffd2a8 in  ()
> #26 0x00007fffffffd5a0 in  ()
> #27 0x0000000000000000 in  ()
> Detaching from program: /usr/bin/konqueror, process 8873
> [Inferior 1 (process 8873) detached]


Reply to: