ASan backtrace with FreeBSD CI builds does not show source line numbers
Closed, ResolvedPublic


Currently a backtrace only points to libraries, e.g. like this:

==97251==ERROR: AddressSanitizer: heap-use-after-free on address 0x60700074f5f8 at pc 0x00080264d0fb bp 0x7fffdd9ea670 sp 0x7fffdd9ea668
READ of size 4 at 0x60700074f5f8 thread T20
    #0 0x80264d0fa  (/usr/home/jenkins/install-prefix/lib/
    #1 0x80264c504  (/usr/home/jenkins/install-prefix/lib/
    #2 0x8026f3b44  (/usr/home/jenkins/install-prefix/lib/
    #3 0x8026f24dc  (/usr/home/jenkins/install-prefix/lib/
    #4 0x8026f1daa  (/usr/home/jenkins/install-prefix/lib/
    #5 0x80269c364  (/usr/home/jenkins/install-prefix/lib/
    #6 0x80269c528  (/usr/home/jenkins/install-prefix/lib/
    #7 0x807716d6f  (/usr/local/lib/qt5/
    #8 0x80770d8d4  (/usr/local/lib/qt5/
    #9 0x807379775  (/lib/

Example from

Which of course makes it hard to see what the actual issue is :)

[15:01] <tcberner> Maybe it needs a newer binary
[15:02] <frinring> tcberner: it=? newer binary=? okay, will file a sysadmin ticket then to get this rolling (subscribing you as well)
[15:02] <tcberner> llvm-symbolizer or so

kossebau created this task.Jul 5 2019, 1:07 PM
Restricted Application added a subscriber: sysadmin. · View Herald TranscriptJul 5 2019, 1:07 PM

I'll leave this for Tobias to perform his initial investigation - should anything need to change in terms of how the CI system executes tests, please let me know.

tcberner added a comment.EditedJul 5 2019, 10:09 PM

I think the issue was that there was no llvm-symbolizer binary found on the system, as in FreeBSD 12.0 it seems none is provided by the base system, so we only had the versioned ones llvm-symbolizer50 and llvm-symbolizer60 available in $PATH.

Now on the two builders we have

> file /usr/local/bin/llvm-symbolizer
/usr/local/bin/llvm-symbolizer: symbolic link to /usr/local/bin/llvm-symbolizer60

This hopefully should sort this out automatically:

See build 160

00:26:54  ==654==ERROR: AddressSanitizer: heap-use-after-free on address 0x60700075d3c8 at pc 0x00080264d0fb bp 0x7fffdddec670 sp 0x7fffdddec668
00:26:54  READ of size 4 at 0x60700075d3c8 thread T18
00:26:54      #0 0x80264d0fa in std::__1::__atomic_base<int, false>::load(std::__1::memory_order) const /usr/include/c++/v1/atomic:926:17
00:26:54      #1 0x80264d0fa in int QAtomicOps<int>::loadAcquire<int>(std::__1::atomic<QAtomicOps<int>::loadAcquire<int>> const&) /usr/local/include/qt5/QtCore/qatomic_cxx11.h:239
00:26:54      #2 0x80264c504 in QBasicAtomicInteger<int>::loadAcquire(void) const /usr/local/include/qt5/QtCore/qbasicatomic.h:106:51
00:26:54      #3 0x8026f3b44 in QBasicAtomicInteger<int>::operator(cast)(int, void) const /usr/local/include/qt5/QtCore/qbasicatomic.h:108:48
00:26:54      #4 0x8026f24dc in KDevelop::FileManagerListJob::startNextJob(void)::$_0::operator()(KDevelop::Path const&) const /usr/home/jenkins/workspace/KDevelop/kdevelop/kf5-qt5 FreeBSDQt5.12/kdevplatform/project/filemanagerlistjob.cpp:122:17
00:26:54      #5 0x8026f1daa in QtConcurrent::StoredFunctorCall1<void, KDevelop::FileManagerListJob::startNextJob(void)::$_0, KDevelop::Path>::runFunctor(void) /usr/local/include/qt5/QtConcurrent/qtconcurrentstoredfunctioncall.h:432:34
00:26:54      #6 0x80269c364 in QtConcurrent::RunFunctionTask<void>::run(void) /usr/local/include/qt5/QtConcurrent/qtconcurrentrunbase.h:136:19
00:26:54      #7 0x80269c528 in virtual function non-virtual override offset : -16 QtConcurrent::RunFunctionTask<void>::run(void) /usr/local/include/qt5/QtConcurrent/qtconcurrentrunbase.h
00:26:54      #8 0x807716d6f in QThreadPoolThread::run(void) /wrkdirs/usr/ports/devel/qt5-core/work/qtbase-everywhere-src-5.12.2/src/corelib/thread/qthreadpool.cpp:99:24
00:26:54      #9 0x80770d8d4 in QThreadPrivate::start(void*) /wrkdirs/usr/ports/devel/qt5-core/work/qtbase-everywhere-src-5.12.2/src/corelib/thread/qthread_unix.cpp:361:14
00:26:54      #10 0x807379775  (/lib/
kossebau closed this task as Resolved.Jul 5 2019, 10:35 PM
kossebau claimed this task.

Thanks for your work, log now as wanted, thus closing as resolved