On 04/01/17 13:36, Rich Felker wrote: > Here's a v2 of the patch with the above issues fixed, and some > comments that hopefully make it make sense. I still think there's more > logic needed to allow concurrent ctors from unrelated dlopen in > multiple threads, though. > > Rich > Applied to this to Adélie's musl package in a dev overlay and rebooted a box with this patch applied. What a fantastic little show! iv_tls_user_ptr: called on unregistered iv_tls_user /etc/init.d/syslog-ng: line 34: 2560 Aborted syslog-ng -s -f "${SYSLOG_NG_CONFIGFILE}" * ERROR: syslog-ng failed to start When X tried to start up, further fireworks: /usr/bin/startkde: line 384: 2638 Segmentation fault kwrapper5 /usr/bin/ksmserver $KDEWM $KSMSERVEROPTIONS Starting program: /usr/bin/kwrapper5 /usr/bin/ksmserver process 3281 is executing new program: /usr/bin/ksmserver [New LWP 3287] Program received signal SIGSEGV, Segmentation fault. 0x00007ffff009938b in operator== (s1=..., s2=...) at tools/qstring.cpp:2686 2686 tools/qstring.cpp: No such file or directory. (gdb) bt #0 0x00007ffff009938b in operator== (s1=..., s2=...) at tools/qstring.cpp:2686 #1 0x00007fffe2af2ae4 in operator!= (s2=..., s1=...) at /usr/include/qt5/QtCore/qstring.h:632 #2 KHintsSettings::KHintsSettings (this=0x7fffe65829c0, kdeglobals=...) at /usr/src/kde-plasma/plasma-integration-5.7.5/work/plasma-integration-5.7.5/src/platformtheme/khintssettings.cpp:70 Where khintssettings.cpp contains: 68 const QString looknfeel = cg.readEntry("LookAndFeelPackage", defaultLookAndFeelPackage); 70 if (looknfeel != defaultLookAndFeelPackage) { And defaultLookAndFeelPackage is defined earlier in the source file as a constant: static const QString defaultLookAndFeelPackage = QStringLiteral("org.kde.breeze.desktop"); We can see that defaultLookAndFeelPackage was not initialised correctly: (gdb) printqs5static looknfeel $9 = (Qt5 QString)0xffffdde0 length=22: "org.kde.breeze.desktop" (gdb) printqs5static defaultLookAndFeelPackage $10 = (Qt5 QString)0xe2d0be90 length=Cannot access memory at address 0x4 It therefore seems to me that this patch still needs some refining. --arw -- A. Wilcox (awilfox) Open-source programmer (C, C++, Python) https://code.foxkit.us/u/awilfox/