Details
-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
6.5.0
-
None
Description
Any application that attempted to load a library containing unresolved symbols with QLibrary::PreventUnloadHint would crash on exit due to a bug in QNX. This is not a bug in Qt, this issue is created to track the state of the bug in QNX. Some parts of tst_qpluginloader will be disabled until this bug is fixed.
Sample C code that triggers this bug is attached. Here is the backtrace of the crash:
(gdb) run Starting program: /home/qt/work/test/crash Reading symbols from /opt/qnx710/target/qnx7/x86_64/usr/lib/ldqnx-64.so.2...Reading symbols from /opt/qnx710/target/qnx7/x86_64/usr/lib/ldqnx-64.so.2.sym...done. done. unknown symbol: foo referenced from shared.so Thread 1 "" received signal SIGABRT, Aborted. SignalKill () at /builds/workspace/710-SDP/build_x86_64/lib/c/kercalls/x86_64/SignalKill.S:38 38 /builds/workspace/710-SDP/build_x86_64/lib/c/kercalls/x86_64/SignalKill.S: No such file or directory. (gdb) bt #0 SignalKill () at /builds/workspace/710-SDP/build_x86_64/lib/c/kercalls/x86_64/SignalKill.S:38 #1 0x000000010026000b in abort () at /builds/workspace/710-SDP/build_x86_64/lib/c/ansi/abort.c:93 #2 0x000000010050533b in __deregister_frame_info_bases (begin=0x10070a690) at ../../../../libgcc/unwind-dw2-fde.c:244 #3 __deregister_frame_info_bases (begin=0x10070a690) at ../../../../libgcc/unwind-dw2-fde.c:201 #4 0x000000010070a59e in __do_global_dtors_aux () from shared.so #5 0x0000000000000001 in ?? () #6 0x00000001000081eb in fini_array.part () from /opt/qnx710/target/qnx7/x86_64/usr/lib/ldqnx-64.so.2 #7 0x000000010000ad63 in _do_exit_fini () from /opt/qnx710/target/qnx7/x86_64/usr/lib/ldqnx-64.so.2 #8 0x000000010027bf98 in exit (status=0) at /builds/workspace/710-SDP/build_x86_64/lib/c/ansi/exit.c:58 #9 0x0000000008048848 in _start () at /builds/workspace/710-SDP/build_x86_64/lib/c/startup/x86_64/crt1.S:96