[LLVMdev] Weird error from Undefined Sanitizer

Marshall Clow mclow.lists at gmail.com
Tue Jul 30 14:01:37 PDT 2013


# Everything is done on Mac OS X 10.8.4, with llvm/clang/libc++/libc++abi built from source this morning
# totclang is an alias for the built clang.

$ export LLVM=/Sources/LLVM
$ export LIBCXX=$LLVM/libcxx
$ export LIBCXXABI=$LLVM/libcxxabi

$ totclang -std=c++11 -stdlib=libc++ -I $LIBCXX/include -fsanitize=undefined ubsan.cpp -L $LIBCXX/lib -L $LIBCXXABI/lib -lc++abi
$ DYLD_LIBRARY_PATH=$LIBCXX/lib:$LIBCXXABI/lib ./a.out
ubsan.cpp:22:5: runtime error: member call on address 0x7fff4fc2eaf0 which does not point to an object of type 'std::runtime_error'
0x7fff4fc2eaf0: note: object is of type 'std::runtime_error'
 00 00 00 00  e0 7a b5 10 01 00 00 00  38 39 c0 7b dc 7f 00 00  ac b3 fd 0f 01 00 00 00  5e 20 bd 6f
              ^~~~~~~~~~~~~~~~~~~~~~~
              vptr for 'std::runtime_error'
<unknown>: runtime error: member call on address 0x7fff4fc2eaf0 which does not point to an object of type 'std::runtime_error'
0x7fff4fc2eaf0: note: object is of type 'std::runtime_error'
 00 00 00 00  e0 7a b5 10 01 00 00 00  38 39 c0 7b dc 7f 00 00  ac b3 fd 0f 01 00 00 00  5e 20 bd 6f
              ^~~~~~~~~~~~~~~~~~~~~~~
              vptr for 'std::runtime_error'

Note: In a non-proportional font, the carets point to the 'e' in "e0 7a"

So, what is at address 0x7fff4fc2eaf0?

Is it:
	a) an object of type 'std::runtime_error'
	b) not an object of type 'std::runtime_error'

Or have I completely misinterpreted this?
 
-- Marshall

Marshall Clow     Idio Software   <mailto:mclow.lists at gmail.com>

A.D. 1517: Martin Luther nails his 95 Theses to the church door and is promptly moderated down to (-1, Flamebait).
        -- Yu Suzuki

-------------- next part --------------
A non-text attachment was scrubbed...
Name: ubsan.cpp
Type: application/octet-stream
Size: 619 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130730/1a272a30/attachment.obj>


More information about the llvm-dev mailing list