https://bugs.kde.org/show_bug.cgi?id=444003

--- Comment #10 from James Beddek <tel...@posteo.de> ---
I did a bisect of Clang/LLVM as the tests pass on 12.0.1, but not 13.0.0. That
led me to this commit:
https://github.com/llvm/llvm-project/commit/0aa0458f1429372038ca6a4edc7e94c96cd9a753

Which has issues with thunks: https://reviews.llvm.org/D100388

That is seemingly in progress but has no progress in many months.

Below is the "kjsapitest" test ran with ubsan and Clang 12.0.1:

/home/telans/src/kde/kjs/src/kjs/object.cpp:247:27: runtime error: member call
on misaligned address 0x000000000003 for type 'KJS::JSValue', which requires 8
byte alignment
0x000000000003: note: pointer points here
<memory cannot be printed>
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior
/home/telans/src/kde/kjs/src/kjs/object.cpp:247:27 in
UndefinedBehaviorSanitizer:DEADLYSIGNAL
==2158002==ERROR: UndefinedBehaviorSanitizer: SEGV on unknown address
0x000000000003 (pc 0x7f92776b4c1f bp 0x7fff485b9990 sp 0x7fff485b9680 T2158002)
==2158002==The signal is caused by a READ memory access.
==2158002==Hint: address points to the zero page.
    #0 0x7f92776b4c1f in KJS::JSObject::put(KJS::ExecState*, KJS::Identifier
const&, KJS::JSValue*, int) /home/telans/src/kde/kjs/src/kjs/object.cpp:247:27
    #1 0x7f9277685633 in KJS::ErrorPrototype::ErrorPrototype(KJS::ExecState*,
KJS::ObjectPrototype*, KJS::FunctionPrototype*)
/home/telans/src/kde/kjs/src/kjs/error_object.cpp:53:5
    #2 0x7f92776c5d13 in KJS::Interpreter::initGlobalObject()
/home/telans/src/kde/kjs/src/kjs/interpreter.cpp:385:38
    #3 0x7f92776c40c7 in KJS::Interpreter::init()
/home/telans/src/kde/kjs/src/kjs/interpreter.cpp:270:5
    #4 0x7f92776c44aa in KJS::Interpreter::Interpreter()
/home/telans/src/kde/kjs/src/kjs/interpreter.cpp:231:5
    #5 0x7f92784701c6 in KJSInterpreter::KJSInterpreter()
/home/telans/src/kde/kjs/src/kjs/api/kjsinterpreter.cpp:99:27
    #6 0x23cd61 in KJSApiTest::objectConstruction()
/home/telans/src/kde/kjs/autotests/kjsapitest.cpp:48:20
    #7 0x240059 in KJSApiTest::qt_static_metacall(QObject*, QMetaObject::Call,
int, void**)
/home/telans/src/kde/kjs/build/autotests/kjsapitest_autogen/include/kjsapitest.moc:96:21
    #8 0x7f92783244fe in QMetaMethod::invoke(QObject*, Qt::ConnectionType,
QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument,
QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument,
QGenericArgument, QGenericArgument, QGenericArgument) const
/usr/src/debug/dev-qt/qtcore-5.15.2-r10/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/corelib/kernel/qmetaobject.cpp:2303:13
    #9 0x7f927841ed5c in QMetaMethod::invoke(QObject*, Qt::ConnectionType,
QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument,
QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument,
QGenericArgument, QGenericArgument) const
/usr/src/debug/dev-qt/qttest-5.15.2-r10/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd_build/src/testlib/../../include/QtCore/../../../qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/corelib/kernel/qmetaobject.h:122:16
    #10 0x7f927841ed5c in QTest::TestMethods::invokeTestOnData(int) const
/usr/src/debug/dev-qt/qttest-5.15.2-r10/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/testlib/qtestcase.cpp:938:41
    #11 0x7f927841f7d7 in QTest::TestMethods::invokeTest(int, char const*,
QTest::WatchDog*) const
/usr/src/debug/dev-qt/qttest-5.15.2-r10/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/testlib/qtestcase.cpp:1166:17
    #12 0x7f9278420709 in QTest::TestMethods::invokeTests(QObject*) const
/usr/src/debug/dev-qt/qttest-5.15.2-r10/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/testlib/qtestcase.cpp:1507:33
    #13 0x7f9278420d54 in QTest::qRun()
/usr/src/debug/dev-qt/qttest-5.15.2-r10/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/testlib/qtestcase.cpp:1934:14
    #14 0x7f9278420a1d in QTest::qExec(QObject*, int, char**)
/usr/src/debug/dev-qt/qttest-5.15.2-r10/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/testlib/qtestcase.cpp:1842:15
    #15 0x23fdf3 in main
/home/telans/src/kde/kjs/autotests/kjsapitest.cpp:283:1
    #16 0x7f92779967fc in __libc_start_main
/usr/src/debug/sys-libs/glibc-2.33-r7/glibc-2.33/csu/../csu/libc-start.c:332:16
    #17 0x21af89 in _start
/usr/src/debug/sys-libs/glibc-2.33-r7/glibc-2.33/csu/../sysdeps/x86_64/start.S:120

UndefinedBehaviorSanitizer can not provide additional info.
SUMMARY: UndefinedBehaviorSanitizer: SEGV
/home/telans/src/kde/kjs/src/kjs/object.cpp:247:27 in
KJS::JSObject::put(KJS::ExecState*, KJS::Identifier const&, KJS::JSValue*, int)
==2158002==ABORTING

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to