Details
-
Bug
-
Resolution: Invalid
-
Not Evaluated
-
None
-
6.1.2
-
None
Description
The application crashes with the following backtrace:
AddressSanitizer:DEADLYSIGNAL ================================================================= ==133660==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000020 (pc 0x7fb431a5f547 bp 0x7fff3ce21240 sp 0x7fff3ce209d8 T0) ==133660==The signal is caused by a READ memory access. ==133660==Hint: address points to the zero page. #0 0x7fb431a5f547 in __strlen_avx2 (/usr/lib/libc.so.6+0x160547) #1 0x7fb43425c69b in __interceptor_strlen /build/gcc/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:387 #2 0x7fb43201b93b in QCoreApplication::arguments() (/usr/lib/libQt6Core.so.6+0x15993b) #3 0x7fb42b9b850a (/usr/lib/qt6/plugins/platforms/../../../libQt6XcbQpa.so.6+0x5650a) #4 0x7fb42b9b951f in QXcbIntegration::wmClass() const (/usr/lib/qt6/plugins/platforms/../../../libQt6XcbQpa.so.6+0x5751f) #5 0x7fb42b9d20f7 in QXcbWindow::create() (/usr/lib/qt6/plugins/platforms/../../../libQt6XcbQpa.so.6+0x700f7) #6 0x7fb42b9b997d in QXcbIntegration::createPlatformWindow(QWindow*) const (/usr/lib/qt6/plugins/platforms/../../../libQt6XcbQpa.so.6+0x5797d) #7 0x7fb43265750a in QWindowPrivate::create(bool, unsigned long long) (/usr/lib/libQt6Gui.so.6+0x20550a) #8 0x7fb432659b5c in QWindowPrivate::setVisible(bool) (/usr/lib/libQt6Gui.so.6+0x207b5c) #9 0x56438a8dab98 in Application::onMessage(clap::RemoteChannel::Message const&) (/home/abique/develop/clap/cmake-builds/gcc/examples/gui/clap-gui+0xab98) #10 0x56438a8e08c1 in clap::RemoteChannel::processInput() (/home/abique/develop/clap/cmake-builds/gcc/examples/gui/clap-gui+0x108c1) #11 0x56438a8e091e in clap::RemoteChannel::onRead() (/home/abique/develop/clap/cmake-builds/gcc/examples/gui/clap-gui+0x1091e) #12 0x56438a8d9fe5 in QtPrivate::QFunctorSlotObject<Application::Application(int, char**)::{lambda(QSocketDescriptor, QSocketNotifier::Type)#1}, 2, QtPrivate::List<QSocketDescriptor, QSocketNotifier::Type>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (/home/abique/develop/clap/cmake-builds/gcc/examples/gui/clap-gui+0x9fe5) #13 0x7fb432077e71 (/usr/lib/libQt6Core.so.6+0x1b5e71) #14 0x7fb43208379f in QSocketNotifier::activated(QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) (/usr/lib/libQt6Core.so.6+0x1c179f) #15 0x7fb432083d42 in QSocketNotifier::event(QEvent*) (/usr/lib/libQt6Core.so.6+0x1c1d42) #16 0x7fb433c575c4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (/usr/lib/libQt6Widgets.so.6+0x1635c4) #17 0x7fb432018509 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (/usr/lib/libQt6Core.so.6+0x156509) #18 0x7fb43226b2d4 (/usr/lib/libQt6Core.so.6+0x3a92d4) #19 0x7fb43116b10b in g_main_context_dispatch (/usr/lib/libglib-2.0.so.0+0x5410b) #20 0x7fb4311beb98 (/usr/lib/libglib-2.0.so.0+0xa7b98) #21 0x7fb431168870 in g_main_context_iteration (/usr/lib/libglib-2.0.so.0+0x51870) #22 0x7fb43226a39b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/libQt6Core.so.6+0x3a839b) #23 0x7fb4320250eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/libQt6Core.so.6+0x1630eb) #24 0x7fb4320204f2 in QCoreApplication::exec() (/usr/lib/libQt6Core.so.6+0x15e4f2) #25 0x56438a8d61ba in main (/home/abique/develop/clap/cmake-builds/gcc/examples/gui/clap-gui+0x61ba) #26 0x7fb431926b24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24) #27 0x56438a8d633d in _start (/home/abique/develop/clap/cmake-builds/gcc/examples/gui/clap-gui+0x633d) AddressSanitizer can not provide additional info. SUMMARY: AddressSanitizer: SEGV (/usr/lib/libc.so.6+0x160547) in __strlen_avx2 ==133660==ABORTING Terminated
The source code is here: https://github.com/free-audio/clap
You can configure the application as follow: cmake -GNinja -DENABLE_CLAP_GLUE=ON -DENABLE_CLAP_GUI=ON -DENABLE_CLAP_HOST=ON -DENABLE_CLAP_PLUGINS=ON
You can test it with: ninja && examples/host/clap-host -p examples/plugins/clap-plugins.clap -i 1
To give you a little insight, there are two processes, and we are interested in the child process called clap-gui.
clap-gui creates a QML widget and embeds it into the window id sent by clap-host via a socket.