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

ASSERT (DRT+ASan when pcache is enabled) vmareas.c:1255 info->cache==NULL #1072

Open
derekbruening opened this issue Nov 28, 2014 · 3 comments

Comments

@derekbruening
Copy link
Contributor

From timurrrr@google.com on February 11, 2013 11:50:58

Steps to repro:
0) Build DRT, Release build

  1. Build DR with
    cmake -DDR_EXT_DRMGR_STATIC=ON -DDR_EXT_DRSYMS_STATIC=ON
    -DDR_EXT_DRUTIL_STATIC=ON -DDR_EXT_DRWRAP_STATIC=ON
    -DCMAKE_BUILD_TYPE=Debug ..

  2. Run:
    ./dr/exports/bin64/drrun -debug -v -loglevel 1 -no_enable_reset -persist -persist_dir /tmp/pcache -- ./DumpRenderTree /home/timurrrr/bb.html
    -> the first run is OK

  3. Run once again, the same cmdline:
    ...
    <Application ./DumpRenderTree (31569).
    Internal Error Internal DynamoRIO Error: core/vmareas.c:1255 info->cache == NULL
    (Error occurred @15574 frags)
    version 4.0.1888, custom build
    ...
    0x0000000040d7e830 0x00000000711171ff
    0x0000000040d7e990 0x00000000711bf32f
    0x0000000040d7e9c0 0x00000000711bf95c
    0x0000000040d7ea70 0x00000000711c4c2b
    0x0000000040d7eab0 0x00000000711c4c85
    0x0000000040d7eae0 0x00000000710b8601
    0x0000000040d7eb30 0x00000000711ca317
    0x0000000040d7ebe0 0x00000000712d42b2
    0x0000000040d7ecd0 0x00000000712d4edb
    0x0000000040d7ee40 0x000000007110d2a0
    0x0000000040d7ee70 0x0000000071104d85
    0x0000000040d7ef10 0x000000007110182e
    0x0000000040d7eff0 0x0000000040d32e8d
    0x00007fff0d6f67d0 0x00007f8545e1669a>
    <rank order violation shared_cache_lock(mutex)@core/fcache.c:1529 acquired after executable_areas(readwrite)@core/vmareas.c:1560 in tid:7b51>
    <rank order violation shared_cache_lock(mutex)@core/fcache.c:1529 acquired after executable_areas(readwrite)@core/vmareas.c:1560 in tid:7b51>

Original issue: http://code.google.com/p/dynamorio/issues/detail?id=1072

@derekbruening
Copy link
Contributor Author

From timurrrr@google.com on February 11, 2013 08:52:28

(Please note I've cleaned up /tmp/pcache/* before the first run)

@derekbruening
Copy link
Contributor Author

From timurrrr@google.com on February 11, 2013 09:07:56

Here's the stack I got from gdb (just "bt" after starting with -pause_on_error and attaching)
#0 syscall_ready () at core/x86/x86.asm:1122
#1 0x00000000715fb530 in ?? () from exports/lib64/debug/libdynamorio.so
#2 0x00000000712c9032 in thread_yield () at core/linux/os.c:3106
#3 0x00000000712ea8a9 in os_dump_core (msg=0x7132931b "rank order violation")
at core/linux/signal.c:5171
#4 0x000000007111923f in deadlock_avoidance_lock (lock=0x4131a158, acquired=true, ownable=true)
at core/utils.c:598
#5 0x0000000071119be7 in mutex_trylock (lock=0x4131a158) at core/utils.c:909
#6 0x0000000071119acd in mutex_lock (lock=0x4131a158) at core/utils.c:848
#7 0x00000000710c6ade in fcache_stats_exit () at core/fcache.c:976
#8 0x000000007119553b in dump_global_stats (raw=false) at core/utils.c:3066
#9 0x000000007111cb3b in report_dynamorio_problem (dcontext=0x4131e880, dumpcore_flag=8, exception_addr=0x0,
report_ebp=0x4136e830 "\220\351\066A",
fmt=0x71328878 "Internal DynamoRIO Error: %s:%d %s\n(Error occurred @%d frags)")
at core/utils.c:2243
#10 0x00000000711171ff in internal_error (file=0x7133de10 "core/vmareas.c",
line=1255, expr=0x7133ea80 "info->cache == NULL") at core/utils.c:177
#11 0x00000000711bf32f in adjust_coarse_unit_bounds (area=0x4138f6c8, if_invalid=false)
at core/vmareas.c:1255
#12 0x00000000711bf95c in remove_vm_area (v=0x41389f78,
start=0x7fa5ec728000 "\304\371\361\377\224\351\377\377\364\371\361\377\254\351\377\377\244\372\361\377\324\351\377\377\304\372\361\377\354\351\377\377t\375\361\377\024\352\377\377\224\375\361\377\064\352\377\377\264\375\361\377T\352\377\377\304\375\361\377l\352\377\377\304\376\361\377\214\352\377\377\324\v\362\377\264\352\377\377\004\017\362\377\334\352\377\377\304\020\362\377\374\352\377\377\344\020\362\377\034\353\377\377\004\021\362\377<\353\377\377\024\021\362\377T\353\377\377D\023\362\377|\353\377\377d\023\362\377\224\353\377\377\004\024\362\377\264\353\377\377\024\024\362\377\314\353\377\377d\024\362\377\354\353\377\377\064\027\362\377\024\354\377\377d\027\362\377,\354\377\377\304\032\362\377T\354\377\377\364\033\362\377|\354\377\377\344%\362\377\244\354\377\377"..., end=0x7fa5ec75c000 "\360\264\005",
restore_prot=true) at core/vmareas.c:1326
#13 0x00000000711c4c2b in remove_executable_vm_area (
start=0x7fa5ec728000 "\304\371\361\377\224\351\377\377\364\371\361\377\254\351\377\377\244\372\361\377\324\351\377\377\304\372\361\377\354\351\377\377t\375\361\377\024\352\377\377\224\375\361\377\064\352\377\377\264\375\361\377T\352\377\377\304\375\361\377l\352\377\377\304\376\361\377\214\352\377\377\324\v\362\377\264\352\377\377\004\017\362\377\334\352\377\377\304\020\362\377\374\352\377\377\344\020\362\377\034\353\377\377\004\021\362\377<\353\377\377\024\021\362\377T\353\377\377D\023\362\377|\353\377\377d\023\362\377\224\353\377\377\004\024\362\377\264\353\377\377\024\024\362\377\314\353---Type to continue, or q to quit---
\377\377d\024\362\377\354\353\377\377\064\027\362\377\024\354\377\377d\027\362\377,\354\377\377\304\032\362\377T\354\377\377\364\033\362\377|\354\377\377\344%\362\377\244\354\377\377"..., end=0x7fa5ec75c000 "\360\264\005",
have_writelock=true) at core/vmareas.c:2748
#14 0x00000000711c4c85 in remove_executable_region (
start=0x7fa5ec728000 "\304\371\361\377\224\351\377\377\364\371\361\377\254\351\377\377\244\372\361\377\324\351\377\377\304\372\361\377\354\351\377\377t\375\361\377\024\352\377\377\224\375\361\377\064\352\377\377\264\375\361\377T\352\377\377\304\375\361\377l\352\377\377\304\376\361\377\214\352\377\377\324\v\362\377\264\352\377\377\004\017\362\377\334\352\377\377\304\020\362\377\374\352\377\377\344\020\362\377\034\353\377\377\004\021\362\377<\353\377\377\024\021\362\377T\353\377\377D\023\362\377|\353\377\377d\023\362\377\224\353\377\377\004\024\362\377\264\353\377\377\024\024\362\377\314\353\377\377d\024\362\377\354\353\377\377\064\027\362\377\024\354\377\377d\027\362\377,\354\377\377\304\032\362\377T\354\377\377\364\033\362\377|\354\377\377\344%\362\377\244\354\377\377"..., size=212992, have_writelock=true)
at core/vmareas.c:2761
#15 0x00000000710b8601 in flush_fragments_and_remove_region (dcontext=0x4131e880,
base=0x7fa5ec728000 "\304\371\361\377\224\351\377\377\364\371\361\377\254\351\377\377\244\372\361\377\324\351\377\377\304\372\361\377\354\351\377\377t\375\361\377\024\352\377\377\224\375\361\377\064\352\377\377\264\375\361\377T\352\377\377\304\375\361\377l\352\377\377\304\376\361\377\214\352\377\377\324\v\362\377\264\352\377\377\004\017\362\377\334\352\377\377\304\020\362\377\374\352\377\377\344\020\362\377\034\353\377\377\004\021\362\377<\353\377\377\024\021\362\377T\353\377\377D\023\362\377|\353\377\377d\023\362\377\224\353\377\377\004\024\362\377\264\353\377\377\024\024\362\377\314\353\377\377d\024\362\377\354\353\377\377\064\027\362\377\024\354\377\377d\027\362\377,\354\377\377\304\032\362\377T\354\377\377\364\033\362\377|\354\377\377\344%\362\377\244\354\377\377"..., size=212992, own_initexit_lock=false,
free_futures=false) at core/fragment.c:6968
#16 0x00000000711ca317 in app_memory_protection_change (dcontext=0x4131e880,
base=0x7fa5ec728000 "\304\371\361\377\224\351\377\377\364\371\361\377\254\351\377\377\244\372\361\377\324\351\377\377\304\372\361\377\354\351\377\377t\375\361\377\024\352\377\377\224\375\361\377\064\352\377\377\264\375\361\377T\352\377\377\304\375\361\377l\352\377\377\304\376\361\377\214\352\377\377\324\v\362\377\264\352\377\377\004\017\362\377\334\352\377\377\304\020\362\377\374\352\377\377\344\020\362\377\034\353\377\377\004\021\362\377<\353\377\377\024\021\362\377T\353\377\377D\023\362\377|\353\377\377d\023\362\377\224\353\377\377\004\024\362\377\264\353\377\377\024\024\362\377\314\353\377\377d\024\362\377\354\353\377\377\064\027\362\377\024\354\377\377d\027\362\377,\354\377\377\304\032\362\377T\354\377\377\364\033\362\377|\354\377\377\344%\362\377\244\354\377\377"..., size=212992, prot=3, new_memprot=0x4136ec8c,
old_memprot=0x0) at core/vmareas.c:6532
#17 0x00000000712d42b2 in process_mmap (dcontext=0x4131e880,
base=0x7fa5ec728000 "\304\371\361\377\224\351\377\377\364\371\361\377\254\351\377\377\244\372\361\377\324\351\377\377\304\372\361\377\354\351\377\377t\375\361\377\024\352\377\377\224\375\361\377\064\352\377\377\264\375\361\377T\352\377\377\304\375\361\377l\352\377\377\304\376\361\377\214\352\377\377\324\v\362\377\264\352\377\377\004\017\362\377\334\352\3---Type to continue, or q to quit---
77\377\304\020\362\377\374\352\377\377\344\020\362\377\034\353\377\377\004\021\362\377<\353\377\377\024\021\362\377T\353\377\377D\023\362\377|\353\377\377d\023\362\377\224\353\377\377\004\024\362\377\264\353\377\377\024\024\362\377\314\353\377\377d\024\362\377\354\353\377\377\064\027\362\377\024\354\377\377d\027\362\377,\354\377\377\304\032\362\377T\354\377\377\364\033\362\377|\354\377\377\344%\362\377\244\354\377\377"..., size=212992, prot=3, flags=2066,
map_type=0x71376acf "ELF SO") at core/linux/os.c:6547
#18 0x00000000712d4edb in post_system_call (dcontext=0x4131e880)
at core/linux/os.c:6790
#19 0x000000007110d2a0 in handle_post_system_call (dcontext=0x4131e880)
at core/dispatch.c:1888
#20 0x0000000071104d85 in dispatch_enter_dynamorio (dcontext=0x4131e880)
at core/dispatch.c:745
#21 0x000000007110182e in dispatch (dcontext=0x4131e880) at core/dispatch.c:143

@derekbruening
Copy link
Contributor Author

From bruen...@google.com on February 11, 2013 13:58:21

Summary: ASSERT (DRT+ASan when pcache is enabled) vmareas.c:1255 info->cache==NULL (was: Fails on DRT+ASan in Debug build when pcache is enabled)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant