Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mold segfaults in emit-relocs* tests #950

Closed
nekopsykose opened this issue Jan 9, 2023 · 0 comments
Closed

mold segfaults in emit-relocs* tests #950

nekopsykose opened this issue Jan 9, 2023 · 0 comments

Comments

@nekopsykose
Copy link

i then reran them on hello world by hand with gcc -fuse-ld=mold -o exe -Wl,-emit-relocs main.c

log:

$ gcc -fuse-ld=mold -o exe -Wl,-emit-relocs main.c 
/home/demon/src/aports/community/mold/src/mold-1.9.0/elf/output-chunks.cc:3104:27: runtime error: member access within null pointer of type 'mold::elf::Chunk<mold::elf::E>'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /home/demon/src/aports/community/mold/src/mold-1.9.0/elf/output-chunks.cc:3104:27 in 
AddressSanitizer:DEADLYSIGNAL
=================================================================
==780098==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000058 (pc 0x55dd148b740c bp 0x000000000058 sp 0x7f22c89ea9d0 T10)
==780098==The signal is caused by a READ memory access.
==780098==Hint: address points to the zero page.
    #0 0x55dd148b740c in mold::elf::RelocSection<mold::elf::X86_64>::copy_buf(mold::elf::Context<mold::elf::X86_64>&)::'lambda'(mold::elf::ElfRel<mold::elf::X86_64>&, mold::elf::InputSection<mold::elf::X86_64>&, mold::elf::ElfRel<mold::elf::X86_64> const&)::operator()(mold::elf::ElfRel<mold::elf::X86_64>&, mold::elf::InputSection<mold::elf::X86_64>&, mold::elf::ElfRel<mold::elf::X86_64> const&) const /home/demon/src/aports/community/mold/src/mold-1.9.0/elf/output-chunks.cc:3104:27
    #1 0x55dd1300bfc3 in UnwindImpl /home/buildozer/aports/main/llvm-runtimes/src/llvm-project-15.0.6.src/compiler-rt/lib/asan/asan_stack.cpp
    #2 0x55dd130315f5 in ReportDeadlySignalImpl /home/buildozer/aports/main/llvm-runtimes/src/llvm-project-15.0.6.src/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp:229:3
    #3 0x55dd130315f5 in ReportDeadlySignal /home/buildozer/aports/main/llvm-runtimes/src/llvm-project-15.0.6.src/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp:243:5
    #4 0x55dd130061f5 in ~ScopedInErrorReport /home/buildozer/aports/main/llvm-runtimes/src/llvm-project-15.0.6.src/compiler-rt/lib/asan/asan_report.cpp:143:50
    #5 0x55dd13006012 in ReportDeadlySignal /home/buildozer/aports/main/llvm-runtimes/src/llvm-project-15.0.6.src/compiler-rt/lib/asan/asan_report.cpp:220:1
    #6 0x55dd13005641 in AsanOnDeadlySignal /home/buildozer/aports/main/llvm-runtimes/src/llvm-project-15.0.6.src/compiler-rt/lib/asan/asan_posix.cpp:40:3
    #7 0x7f22eabbe139  /home/demon/src/aports/main/musl/src/v1.2.3/src/signal/x86_64/restore.s:1

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/demon/src/aports/community/mold/src/mold-1.9.0/elf/output-chunks.cc:3104:27 in mold::elf::RelocSection<mold::elf::X86_64>::copy_buf(mold::elf::Context<mold::elf::X86_64>&)::'lambda'(mold::elf::ElfRel<mold::elf::X86_64>&, mold::elf::InputSection<mold::elf::X86_64>&, mold::elf::ElfRel<mold::elf::X86_64> const&)::operator()(mold::elf::ElfRel<mold::elf::X86_64>&, mold::elf::InputSection<mold::elf::X86_64>&, mold::elf::ElfRel<mold::elf::X86_64> const&) const
Thread T10 created by T6 here:
    #0 0x55dd12feff0c in __interceptor_pthread_create /home/buildozer/aports/main/llvm-runtimes/src/llvm-project-15.0.6.src/compiler-rt/lib/asan/asan_interceptors.cpp:208:3
    #1 0x7f22da4f96df in tbb::detail::r1::rml::internal::thread_monitor::launch(void* (*)(void*), void*, unsigned long) /home/demon/src/aports/community/libtbb/src/oneTBB-2021.8.0/src/tbb/rml_thread_monitor.h:208:29
    #2 0x7f22da4f96df in tbb::detail::r1::rml::private_worker::wake_or_launch() /home/demon/src/aports/community/libtbb/src/oneTBB-2021.8.0/src/tbb/private_server.cpp:305:51
    #3 0x7f22da4f96df in tbb::detail::r1::rml::private_server::wake_some(int) /home/demon/src/aports/community/libtbb/src/oneTBB-2021.8.0/src/tbb/private_server.cpp:412:27
    #4 0x3fffff  (<unknown module>)

Thread T6 created by T1 here:
    #0 0x55dd12feff0c in __interceptor_pthread_create /home/buildozer/aports/main/llvm-runtimes/src/llvm-project-15.0.6.src/compiler-rt/lib/asan/asan_interceptors.cpp:208:3
    #1 0x7f22da4f96df in tbb::detail::r1::rml::internal::thread_monitor::launch(void* (*)(void*), void*, unsigned long) /home/demon/src/aports/community/libtbb/src/oneTBB-2021.8.0/src/tbb/rml_thread_monitor.h:208:29
    #2 0x7f22da4f96df in tbb::detail::r1::rml::private_worker::wake_or_launch() /home/demon/src/aports/community/libtbb/src/oneTBB-2021.8.0/src/tbb/private_server.cpp:305:51
    #3 0x7f22da4f96df in tbb::detail::r1::rml::private_server::wake_some(int) /home/demon/src/aports/community/libtbb/src/oneTBB-2021.8.0/src/tbb/private_server.cpp:412:27
    #4 0x7f22d6f06f7f  (<unknown module>)

Thread T1 created by T0 here:
    #0 0x55dd12feff0c in __interceptor_pthread_create /home/buildozer/aports/main/llvm-runtimes/src/llvm-project-15.0.6.src/compiler-rt/lib/asan/asan_interceptors.cpp:208:3
    #1 0x7f22da4f96df in tbb::detail::r1::rml::internal::thread_monitor::launch(void* (*)(void*), void*, unsigned long) /home/demon/src/aports/community/libtbb/src/oneTBB-2021.8.0/src/tbb/rml_thread_monitor.h:208:29
    #2 0x7f22da4f96df in tbb::detail::r1::rml::private_worker::wake_or_launch() /home/demon/src/aports/community/libtbb/src/oneTBB-2021.8.0/src/tbb/private_server.cpp:305:51
    #3 0x7f22da4f96df in tbb::detail::r1::rml::private_server::wake_some(int) /home/demon/src/aports/community/libtbb/src/oneTBB-2021.8.0/src/tbb/private_server.cpp:412:27
    #4 0x3fffff  (<unknown module>)

==780098==ABORTING
collect2: error: ld returned 1 exit status

no idea what the real cause is this time :)

for reference, this is in on musl libc (alpine).

@rui314 rui314 closed this as completed in e17d7da Jan 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant