Bug ID | 931815 |
---|---|
Summary | qt5 apps crash when starting |
Classification | openSUSE |
Product | openSUSE Factory |
Version | 201505* |
Hardware | Other |
OS | Other |
Status | NEW |
Severity | Normal |
Priority | P5 - None |
Component | KDE4 Workspace |
Assignee | kde-maintainers@suse.de |
Reporter | jslaby@suse.com |
QA Contact | qa-bugs@suse.de |
Found By | --- |
Blocker | --- |
Whatever app which is now build against qt5 crashes when starting and loading anything built against qt4. An example is kdenlive. It is built against qt5: $ ldd /usr/bin/kdenlive|grep -i qt.*core libQt5Core.so.5 => /usr/lib64/libQt5Core.so.5 (0x00007fe9dffe6000) And it loads, using dlopen, mlt filters, /usr/lib64/frei0r-1/facebl0r.so in particular. But that is built against qt4: $ ldd /usr/lib64/frei0r-1/facebl0r.so|grep -i qt.*core libQtCore.so.4 => /usr/lib64/libQtCore.so.4 (0x00007fd416431000) So it just crashes with SIGSEGV. This can be easily emulated: $ export LD_PRELOAD="libQt5Core.so.5 /usr/lib64/frei0r-1/facebl0r.so" $ /bin/true SIGSEGV Or by: $ cat dlo.c #include <dlfcn.h> int main(void) { dlopen("/usr/lib64/frei0r-1/facebl0r.so", RTLD_NOW); return 0; } $ cc -Wall -O2 -g dlo.c -ldl -o dlo $ export LD_PRELOAD=" libQt5Core.so.5" $ gdb ./dlo ... (gdb) where #0 QList (this=0x7fffee68f5d0 <QTest::testFunctions>) at ../../src/corelib/tools/qlist.h:121 #1 QStringList (this=0x7fffee68f5d0 <QTest::testFunctions>) at ../../src/corelib/tools/qstringlist.h:69 #2 __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at qtestcase.cpp:1019 #3 _GLOBAL__sub_I_qtestcase.cpp(void) () at qtestcase.cpp:2312 #4 0x00007ffff7dea9fa in call_init (l=<optimized out>, argc=argc@entry=1, argv=argv@entry=0x7fffffffdf08, env=env@entry=0x7fffffffdf18) at dl-init.c:72 #5 0x00007ffff7deaae3 in call_init (env=0x7fffffffdf18, argv=0x7fffffffdf08, argc=1, l=<optimized out>) at dl-init.c:30 #6 _dl_init (main_map=main_map@entry=0x613d10, argc=1, argv=0x7fffffffdf08, env=0x7fffffffdf18) at dl-init.c:120 #7 0x00007ffff7deec65 in dl_open_worker (a=a@entry=0x7fffffffdbd8) at dl-open.c:558 #8 0x00007ffff7dea8b4 in _dl_catch_error (objname=objname@entry=0x7fffffffdbc8, errstring=errstring@entry=0x7fffffffdbd0, mallocedp=mallocedp@entry=0x7fffffffdbc7, operate=operate@entry=0x7ffff7dee9a0 <dl_open_worker>, args=args@entry=0x7fffffffdbd8) at dl-error.c:187 #9 0x00007ffff7dee46b in _dl_open (file=0x4006d8 "/usr/lib64/frei0r-1/facebl0r.so", mode=-2147483646, caller_dlopen=<optimized out>, nsid=-2, argc=1, argv=0x7fffffffdf08, env=0x7fffffffdf18) at dl-open.c:642 #10 0x00007ffff7514fbb in dlopen_doit (a=a@entry=0x7fffffffddf0) at dlopen.c:66 #11 0x00007ffff7dea8b4 in _dl_catch_error (objname=0x613cc0, errstring=0x613cc8, mallocedp=0x613cb8, operate=0x7ffff7514f60 <dlopen_doit>, args=0x7fffffffddf0) at dl-error.c:187 #12 0x00007ffff751556d in _dlerror_run (operate=operate@entry=0x7ffff7514f60 <dlopen_doit>, args=args@entry=0x7fffffffddf0) at dlerror.c:163 #13 0x00007ffff7515051 in __dlopen (file=file@entry=0x4006d8 "/usr/lib64/frei0r-1/facebl0r.so", mode=mode@entry=2) at dlopen.c:87 #14 0x0000000000400553 in main () at dlo.c:5