Full asan log:
=================================================================
==8250==ERROR: AddressSanitizer: unknown-crash on address 0x0000dfff8000 at
pc 0x7ffff6e743d9 bp 0x7ffff0c74960 sp 0x7ffff0c74110
WRITE of size 4194304 at 0x0000dfff8000 thread T1
#0 0x7ffff6e743d8 in __asan_memset
/home/dbezheckov/waratek/tests/asan/sources/llvm/projects/compiler-rt/lib/asan/asan_interceptors.cc:431
#1 0x7fffdb4be7d5 in lspace_initialize(GC*, void*, unsigned long)
/home/dbezheckov/waratek/harmony-custom/drlvm/vm/gc_gen/src/los/lspace.cpp:44:5
#2 0x7fffdb4a0c8c in gc_los_initialize(GC_Gen*, void*, unsigned long)
/home/dbezheckov/waratek/harmony-custom/drlvm/vm/gc_gen/src/gen/gen.cpp:476:24
#3 0x7fffdb4a063f in gc_gen_initialize(GC_Gen*, unsigned long, unsigned
long)
/home/dbezheckov/waratek/harmony-custom/drlvm/vm/gc_gen/src/gen/gen.cpp:313:5
#4 0x7fffdb4858eb in gc_init
/home/dbezheckov/waratek/harmony-custom/drlvm/vm/gc_gen/src/common/gc_for_vm.cpp:104:5
#5 0x7ffff21ca433 in vm_init1(JavaVM_Internal*, JavaVMInitArgs*,
JNIEnv_External**)
/home/dbezheckov/waratek/harmony-custom/drlvm/vm/vmcore/src/init/vm_init.cpp:796:14
#6 0x7ffff2028e4c in JNI_CreateJavaVM
/home/dbezheckov/waratek/harmony-custom/drlvm/vm/vmcore/src/jni/jni.cpp:436:19
#7 0x7ffff20295d4 in CVMI_CreateJavaVM
/home/dbezheckov/waratek/harmony-custom/drlvm/vm/vmcore/src/jni/jni.cpp:526:12
#8 0x7ffff30d0634 in JNI_CreateJavaVM
/home/dbezheckov/waratek/harmony-custom/drlvm/vm/openjdk/src/openjdk.cpp:90:12
#9 0x7ffff6bc6b47
(/home/dbezheckov/waratek/harmony-custom/dist/jdk_7/debug/open/jdk/jre/bin/../lib/amd64/jli/libjli.so+0x2b47)
#10 0x7ffff63e5181 in start_thread
/build/buildd/eglibc-2.19/nptl/pthread_create.c:312
#11 0x7ffff68f947c in clone
/build/buildd/eglibc-2.19/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:111
Address 0x0000dfff8000 is located in the shadow gap area.
SUMMARY: AddressSanitizer: unknown-crash
/home/dbezheckov/waratek/tests/asan/sources/llvm/projects/compiler-rt/lib/asan/asan_interceptors.cc:431
in __asan_memset
Thread T1 created by T0 here:
#0 0x7ffff6e0257d in __interceptor_pthread_create
/home/dbezheckov/waratek/tests/asan/sources/llvm/projects/compiler-rt/lib/asan/asan_interceptors.cc:225
#1 0x7ffff6bcd98e
(/home/dbezheckov/waratek/harmony-custom/dist/jdk_7/debug/open/jdk/jre/bin/../lib/amd64/jli/libjli.so+0x998e)
#2 0x7ffff6bc84f6
(/home/dbezheckov/waratek/harmony-custom/dist/jdk_7/debug/open/jdk/jre/bin/../lib/amd64/jli/libjli.so+0x44f6)
#3 0x7ffff6bc9043 in JLI_Launch
(/home/dbezheckov/waratek/harmony-custom/dist/jdk_7/debug/open/jdk/jre/bin/../lib/amd64/jli/libjli.so+0x5043)
#4 0x4006b4
(/home/dbezheckov/waratek/harmony-custom/dist/jdk_7/debug/open/jdk/jre/bin/java+0x4006b4)
#5 0x7ffff6820ec4 in __libc_start_main
/build/buildd/eglibc-2.19/csu/libc-start.c:287
==8250==ABORTING
"Address 0x0000dfff8000 is located in the shadow gap area"
(gdb) print gc_heap_base_address()
$1 = (void *) 0xdfff8000
That is the address precisely indicates the protected memory segment (heap
base in jvm protected by a read/write/execution).
That is, if I use in program mmap function, ASan will not work? Unless of
course it is not hacked.
@Yury: nothing shadow memory contents after the backtrace(
On Monday, June 8, 2015 at 1:08:54 PM UTC+6, Yury Gribov wrote:
>
> On 06/08/2015 09:58 AM, Dmitriy - wrote:
> > How to force ASan to intercept mmap? Or how to understand that it
> > intercepts it?
>
> You can add a new interceptor in
> compiler-rt/lib/asan/asan_interceptors.cc (similar to existing TSan mmap
> interceptor in tsan_interceptors.cc). If you are not interested in
> hacking compiler-rt, you could simply run your app under strace and look
> for mmap syscalls which overlap ASan shadow.
>
> -Y
>
>
--
You received this message because you are subscribed to the Google Groups
"address-sanitizer" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.