NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
lib/54087: ubsan mutex issue on sparc
>Number: 54087
>Category: lib
>Synopsis: ubsan mutex issue on sparc
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: lib-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Mar 29 13:15:00 +0000 2019
>Originator: Martin Husemann
>Release: NetBSD 8.99.36
>Organization:
The NetBSD Foundation, Inc.
>Environment:
System: NetBSD nelly.aprisoft.de 8.99.36 NetBSD 8.99.36 (NELLY) #26: Fri Mar 29 12:03:13 CET 2019 martin%seven-days-to-the-wolves.aprisoft.de@localhost:/work/src/sys/arch/sparc64/compile/NELLY sparc
Architecture: sparc
Machine: sparc
>Description:
Running ubsan tests does not work on sparc. The tests time out. Attaching
gdb before that happens shows:
[Switching to LWP 1 of process 2323]
0x200824c4 in __sanitizer::StaticSpinMutex::LockSlow (this=this@entry=0x204e87d0 <__sanitizer::report_file_mu>)
at /work/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_mutex.h:53
53 /work/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_mutex.h: No such file or directory.
(gdb) bt
#0 0x200824c4 in __sanitizer::StaticSpinMutex::LockSlow (this=this@entry=0x204e87d0 <__sanitizer::report_file_mu>)
at /work/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_mutex.h:53
#1 0x2007c8c4 in __sanitizer::StaticSpinMutex::Lock (this=0x204e87d0 <__sanitizer::report_file_mu>)
at /work/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_mutex.h:30
#2 __sanitizer::GenericScopedLock<__sanitizer::StaticSpinMutex>::GenericScopedLock (mu=0x204e87d0 <__sanitizer::report_file_mu>,
this=<synthetic pointer>) at /work/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_mutex.h:177
#3 __sanitizer::ReportFile::Write (this=0x200a3eb0 <__sanitizer::report_file>,
buffer=0xffffce90 "==2323==Sanitizer CHECK failed: /work/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_mutex.h:42 ((atomic_load(&state_, memory_order_relaxed))) == ((1)) (255, 1)\n", length=181)
at /work/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_posix.cc:324
#4 0x20075a38 in __sanitizer::SharedPrintfCode (append_pid=append_pid@entry=true,
format=format@entry=0x2008b450 "Sanitizer CHECK failed: %s:%d %s (%lld, %lld)\n", args=args@entry=0xffffd0d0)
at /work/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_printf.cc:278
#5 0x20075b8c in __sanitizer::Report (format=0x2008b450 "Sanitizer CHECK failed: %s:%d %s (%lld, %lld)\n")
at /work/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_printf.cc:304
#6 0x20071b90 in __sanitizer::CheckFailed (file=0x20088900 "/work/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_mutex.h",
line=line@entry=42, cond=0x200888c8 "((atomic_load(&state_, memory_order_relaxed))) == ((1))", v1=255, v2=<optimized out>)
at /work/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_termination.cc:79
#7 0x2007ebd8 in __sanitizer::StaticSpinMutex::CheckLocked (this=<optimized out>)
at /work/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_mutex.h:42
#8 __sanitizer::ReportFile::ReopenIfNecessary (this=this@entry=0x200a3eb0 <__sanitizer::report_file>)
at /work/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_common.cc:36
#9 0x2007c8cc in __sanitizer::ReportFile::Write (this=0x200a3eb0 <__sanitizer::report_file>,
buffer=0xffffd228 "==2323==Sanitizer CHECK failed: /work/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_mutex.h:42 ((atomic_load(&state_, memory_order_relaxed))) == ((1)) (255, 1)\n", length=181)
at /work/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_posix.cc:327
#10 0x20075a38 in __sanitizer::SharedPrintfCode (append_pid=append_pid@entry=true,
format=format@entry=0x2008b450 "Sanitizer CHECK failed: %s:%d %s (%lld, %lld)\n", args=args@entry=0xffffd468)
at /work/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_printf.cc:278
#11 0x20075b8c in __sanitizer::Report (format=0x2008b450 "Sanitizer CHECK failed: %s:%d %s (%lld, %lld)\n")
at /work/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_printf.cc:304
#12 0x20071b90 in __sanitizer::CheckFailed (file=0x20088900 "/work/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_mutex.h",
line=line@entry=42, cond=0x200888c8 "((atomic_load(&state_, memory_order_relaxed))) == ((1))", v1=255, v2=<optimized out>)
at /work/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_termination.cc:79
#13 0x2006d74c in __sanitizer::StaticSpinMutex::CheckLocked (this=<optimized out>)
at /work/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_mutex.h:42
#14 __ubsan::Diag::~Diag (this=0xffffd610, __in_chrg=<optimized out>) at /work/src/external/gpl3/gcc/dist/libsanitizer/ubsan/ubsan_diag.cc:335
#15 0x200670e0 in handleIntegerOverflowImpl<__ubsan::Value> (Data=Data@entry=0x21078, LHS=LHS@entry=1, Operator=0x200878e8 "+", RHS=..., Opts=...)
at /work/src/external/gpl3/gcc/dist/libsanitizer/ubsan/ubsan_handlers.cc:120
#16 0x20067a7c in __ubsan::__ubsan_handle_add_overflow (Data=0x21078, LHS=1, RHS=2147483647)
at /work/src/external/gpl3/gcc/dist/libsanitizer/ubsan/ubsan_handlers.cc:133
#17 0x00010a28 in main ()
>How-To-Repeat:
cd /usr/tests/usr.bin/cc && atf-run atf-run t_ubsan_int_add_overflow
>Fix:
n/a
Home |
Main Index |
Thread Index |
Old Index