[Python-modules-team] Bug#960073: Package:python-pyqt5 Run the example code with Trace and crash (SIGABRT)

pengzongli pengzongli at uniontech.com
Sat May 9 03:48:42 BST 2020


Package:python-pyqt5
Version: 5.11.3+dfsg-1+b3_arm64
Severity: serious
Hi Experts,

Hope this email finds you well.
I am Peng Zongli, I'm sorry to bother you.
When ever I run the example code on the arm machine,It results in the 
error below:

/ Could not initialize GLX/
/    Aborted (core dumped)/
but when I run the same example code on the x86 machine(Debian 8.3.0-6), 
there is no error.



Debian Release: (gcc version 9.2.1 20191102 (Debian 9.2.1-17))
Architecture: arm (64)
Kernel: Linux 4.19.34-2-arm64


python vesion 2.7.16
python-pyqt5-dbg (5.11.3+dfsg-1+b3)
python-pyqt5.qtwebengine-dbg (5.11.3+dfsg-1+b3)
Qt5 vesion 5.11.3
GLX version: 1.4
Sip vesion 4.19.14



the example code:

/    from PyQt5.QtWidgets import QApplication/
/    from PyQt5.QtCore import QT_VERSION_STR/
/    from PyQt5.Qt import PYQT_VERSION_STR/
/    from sip import SIP_VERSION_STR/
//
/    if __name__=='__main__':/
/        import sys/
/app=QApplication(sys.argv) /
/        print("Qt5 Version Number is: {0}".format(QT_VERSION_STR))/
/        print("PyQt5 Version is: {}".format(PYQT_VERSION_STR))/
/        print("Sip Version is: {}".format(SIP_VERSION_STR)) /
//
/        sys.exit(app.exec_())/

it gives a Python traceback and crash:


/uos at uos-PC:~/Downloads$ gdb python/
/GNU gdb (Debian 8.2.1-2+b1) 8.2.1/
/Copyright (C) 2018 Free Software Foundation, Inc./
/License GPLv3+: GNU GPL version 3 or later 
&lt//http://gnu.org/licenses/gpl.html> 
<http://gnu.org/licenses/gpl.html%3E>/
/This is free software: you are free to change and redistribute it./
/There is NO WARRANTY, to the extent permitted by law./
/Type "show copying" and "show warranty" for details./
/This GDB was configured as "aarch64-linux-gnu"./
/Type "show configuration" for configuration details./
/For bug reporting instructions, please see:/
/&lt//http://www.gnu.org/software/gdb/bugs/>. 
<http://www.gnu.org/software/gdb/bugs%3E%3C/a%3E.>/
/Find the GDB manual and other documentation resources online at:/
/    &lt//http://www.gnu.org/software/gdb/documentation/>. 
<http://www.gnu.org/software/gdb/documentation%3E%3C/a%3E.>/


/For help, type "help"./
/Type "apropos word" to search for commands related to "word".../
/Reading symbols from python...Reading symbols from 
/usr/lib/debug/.build-id/d2/abd686c8e3ff7962791dfefbc4ef85235040d3.debug...done./
/done./
/(gdb) /
/(gdb) r testExample.py /
/Starting program: /usr/bin/python testExample.py/
/[Thread debugging using libthread_db enabled]/
/Using host libthread_db library 
"/lib/aarch64-linux-gnu/libthread_db.so.1"./
/[New Thread 0xffffe5d541e0 (LWP 4622)]/
/[New Thread 0xffffe515e1e0 (LWP 4623)]/
/Could not initialize GLX/


/Thread 1 "python" received signal SIGABRT, Aborted./
/__GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50/
/50../sysdeps/unix/sysv/linux/raise.c: 没有那个文件或目录./
/(gdb) /
/(gdb) py-list /
/   4    #ifrom PyQt5.QtWebEngineWidgets import QWebEngineView/
/   5    #from sip import SIP_VERSION_STR/
/   6 /
/   7    if __name__=='__main__':/
/   8        import sys/
/  >9 app=QApplication(sys.argv) /
/  10 #print("Qt5 Version Number is: {0}".format(QT_VERSION_STR))/
/  11 #print("PyQt5 Version is: {}".format(PYQT_VERSION_STR))/
/  12 #print("Sip Version is: {}".format(SIP_VERSION_STR)) /
/  13        print ("hello")/
/  14 /
/(gdb) /
/(gdb) bt/
/#0 0x0000fffff7d32714 in __GI_raise (sig=sig at entry=6) at 
../sysdeps/unix/sysv/linux/raise.c:50/
/#1 0x0000fffff7d208e8 in __GI_abort () at abort.c:79/
/#2 0x0000fffff5beff2c in qt_message_fatal (context=..., 
message=<synthetic pointer>...) at global/qlogging.cpp:1840/
/#3 0x0000fffff5beff2c in QMessageLogger::fatal(char const*, ...) const 
(this=this at entry=0xffffffffd2d8, msg=msg at entry=0xffffe5540d38 "Could not 
initialize GLX") at global/qlogging.cpp:880/
/#4 0x0000ffffe553e4cc in QGLXContext::init(QXcbScreen*, 
QPlatformOpenGLContext*) (this=0xffffe0006070, screen=0x7c8210, 
share=<optimized out>)/
/    at 
../../../../../../include/QtCore/../../src/corelib/global/qlogging.h:91/
/#5 0x0000ffffe553bb20 in 
QXcbGlxIntegration::createPlatformOpenGLContext(QOpenGLContext*) const 
(this=<optimized out>, context=0xffffe00056c0) at 
qxcbglxintegration.cpp:186/
/#6 0x0000ffffe5f870d0 in 
QXcbIntegration::createPlatformOpenGLContext(QOpenGLContext*) const 
(this=<optimized out>, context=0xffffe00056c0) at qxcbintegration.cpp:283/
/#7 0x0000fffff61cec08 in QOpenGLContext::create() (this=0xffffe00056c0) 
at 
../../include/QtGui/5.11.3/QtGui/private/../../../../../src/gui/kernel/qguiapplication_p.h:105/
/#8 0x0000ffffef4e3af4 in QtWebEngineCore::initialize() () at 
/lib/aarch64-linux-gnu/libQt5WebEngineCore.so.5/
/#9 0x0000fffff5dd00f0 in qt_call_pre_routines () at 
../../include/QtCore/../../src/corelib/tools/qlist.h:540/
/#10 0x0000fffff5dd00f0 in QCoreApplicationPrivate::init() 
(this=this at entry=0x7cb3f0) at kernel/qcoreapplication.cpp:865/
/#11 0x0000fffff618b7e8 in QGuiApplicationPrivate::init() 
(this=this at entry=0x7cb3f0) at kernel/qguiapplication.cpp:1419/
/#12 0x0000fffff675d354 in QApplicationPrivate::init() (this=0x7cb3f0) 
at kernel/qapplication.cpp:564/
/#13 0x0000fffff7020d2c in sipQApplication::sipQApplication(int&, 
char**, int) (this=0xac5860, a0=<optimized out>, a1=<optimized out>, 
a2=<optimized out>) at ./build-2.7/QtWidgets/sipQtWidgetspart9.cpp:12868/
/#14 0x0000fffff7020e1c in init_type_QApplication(sipSimpleWrapper*, 
PyObject*, PyObject*, PyObject**, PyObject**, PyObject**)/
/(sipSelf=0xfffff2e1ad60, sipArgs=<optimized out>, sipKwds=<optimized 
out>, sipUnused=<optimized out>, sipParseErr=0xffffffffd7a0) at 
./sip/QtWidgets/qapplication.sip:221/
/#15 0x0000fffff31de53c in sipSimpleWrapper_init (self=0xfffff2e1ad60, 
args=(['testExample.py'],), kwds=0x0) at ./siplib/siplib.c:10542/
/#16 0x00000000004609b8 in type_call (type=<optimized out>, 
args=(['testExample.py'],), kwds=0x0) at ../Objects/typeobject.c:1181/
/#17 0x0000000000456310 in PyObject_Call (func=<optimized out>, 
arg=<optimized out>, kw=<optimized out>) at ../Objects/abstract.c:2544/
/#18 0x00000000004799ec in do_call (nk=<optimized out>, na=<optimized 
out>, pp_stack=0xffffffffd948, func=<optimized out>) at 
../Python/ceval.c:4593/
/#19 0x00000000004799ec in call_function (oparg=<optimized out>, 
pp_stack=0xffffffffd948) at ../Python/ceval.c:4398/
/#20 0x00000000004799ec in PyEval_EvalFrameEx (f=<optimized out>, 
throwflag=<optimized out>) at ../Python/ceval.c:3013/
/#21 0x0000000000471d08 in PyEval_EvalCodeEx/
/    (co=<optimized out>, globals=<optimized out>, locals=<optimized 
out>, args=<optimized out>, argcount=<optimized out>, kws=<optimized 
out>, kwcount=<optimized out>, defs=<optimized out>, defcount=<optimized 
out>, closure=<optimized out>) at ../Python/ceval.c:3608/
/#22 0x000000000047197c in PyEval_EvalCode (co=<optimized out>, 
globals=<optimized out>, locals=<optimized out>) at ../Python/ceval.c:669/
/#23 0x00000000004a9798 in run_mod/
/(mod=<optimized out>, filename=<optimized out>, 
globals={'PYQT_VERSION_STR': '5.11.3', 'QT_VERSION_STR': '5.11.3', 
'__builtins__': <module at remote 0xfffff7cc0b08>, '__file__': 
'testExample.py', 'QApplication': <sip.wrappertype at remote 0x96c010>, 
'__package__': None, 'sys': <module at remote 0xfffff7cc0bb0>, 
'__name__': '__main__', '__doc__': None}, locals={'PYQT_VERSION_STR': 
'5.11.3', 'QT_VERSION_STR': '5.11.3', '__builtins__': <module at remote 
0xfffff7cc0b08>, '__file__': 'testExample.py', 'QApplication': 
<sip.wrappertype at remote 0x96c010>, '__package__': None, 'sys': 
<module at remote 0xfffff7cc0bb0>, '__name__': '__main__', '__doc__': 
None}, flags=<optimized out>, arena=<optimized out>) at 
../Python/pythonrun.c:1385/
/#24 0x00000000004a4124 in PyRun_FileExFlags/
/(fp=fp at entry=0x7a26f0, filename=filename at entry=0xffffffffe0c5 
"testExample.py", start=start at entry=257, 
globals=globals at entry={'PYQT_VERSION_STR': '5.11.3', 'QT_VERSION_STR': 
'5.11.3', '__builtins__': <module at remote 0xfffff7cc0b08>, '__file__': 
'testExample.py', 'QApplication': <sip.wrappertype at remote 0x96c010>, 
'__package__': None, 'sys': <module at remote 0xfffff7cc0bb0>, 
'__name__': '__main__', '__doc__': None}, 
locals=locals at entry={'PYQT_VERSION_STR': '5.11.3', 'QT_VERSION_STR': 
'5.11.3', '__builtins__': <module at remote 0xfffff7cc0b08>, '__file__': 
'testExample.py', 'QApplication': <sip.wrappertype at remote 0x96c010>, 
'__package__': None, 'sys': <module at remote 0xfffff7cc0bb0>, 
'__name__': '__main__', '__doc__': None}, closeit=closeit at entry=1, 
flags=flags at entry=0xffffffffdbf8) at ../Python/pythonrun.c:1371/
/#25 0x00000000004a3784 in PyRun_SimpleFileExFlags (fp=0x7a26f0, 
filename=0xffffffffe0c5 "testExample.py", closeit=1, 
flags=0xffffffffdbf8) at ../Python/pythonrun.c:957/
/#26 0x000000000043db68 in Py_Main (argc=<optimized out>, 
argv=<optimized out>) at ../Modules/main.c:641/
/#27 0x0000fffff7d20d24 in __libc_start_main (main=0x43d5d0 <main>, 
argc=2, argv=0xffffffffddc8, init=<optimized out>, fini=<optimized out>, 
rtld_fini=<optimized out>, stack_end=<optimized out>)/
/    at ../csu/libc-start.c:308/
/#28 0x000000000043d518 in _start () at ../Objects/bytearrayobject.c:18/
/(gdb) /


And when I uninstall 
python-pyqt5.qtwebengine-dbg(5.11.3.1-1+rebuild),the error disappears. 
  Comparing the gdb log and only found the parameters of 
PyRun_FileExFlags: global and locals is missing a part:
     'app': <QApplication at remote 0xfffff2a89c30>.
On x86 machines, this part is there.


I don't know if this is the cause of this problem in the end, and I 
don't understand why there is such a difference between arm and x86.
I enclose X86 gdb log for your reference.


So far i havent't found any solution how to solve this issue. Could you 
help to investigate on this issue, thanks in advance!


Best regards,
Zongli Peng
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/python-modules-team/attachments/20200509/72209190/attachment-0001.html>


More information about the Python-modules-team mailing list