DynamoRIO / dynamorio

Dynamic Instrumentation Tool Platform
Other
2.67k stars 561 forks source link

Spurious usage error on NULL translation field for app instr #808

Open derekbruening opened 9 years ago

derekbruening commented 9 years ago

From rnk@google.com on June 14, 2012 15:34:16

I'm trying to run browser_tests and I'm getting something like this:

[rnk@wittenberg standalone_browser_test]$ ~/disk/dynamorio/build/bin64/drrun -debug -client ~/disk/dynamorio/build/api/samples/bin/libempty.so 0 '' ./browser_tests --gtest_filter="AutofillTest.BasicFormFill" .... <Application browser_tests (19989) DynamoRIO usage error : translation field must be set for every non-meta instruction> <Usage error: translation field must be set for every non-meta instruction (/home/rnk/disk/dynamorio/core/x86/instrument.c, line 1292) version 3.2.1390, custom build -client_lib '/home/rnk/disk/dynamorio/build/api/samples/bin/libempty.so;0;' -code_api -stack_size 56K -max_elide_jmp 0 -max_elide_call 0 -no_inline_ignored_syscalls -no_native_exec -no_indca 0x00000000409d6930 0x0000000071109df5 0x00000000409d6990 0x000000007128c0af 0x00000000409d69c0 0x000000007128c5f1 0x00000000409d6a60 0x000000007123d692 0x00000000409d6b20 0x00000000712413fb 0x00000000409d6d60 0x0000000071245d5f 0x00000000409d6f10 0x00000000710f4605 0x00000000409d6ff0 0x000000004096ad4d 0x00007ffff42d0830 0x0000000071086175 0x00007ffff42d0850 0x0000000003516ef4> 1 test run 1 test failed (0 ignored) Failing tests: AutofillTest.BasicFormFill <Stopping application browser_tests (19976)>

When I symbolize the trace I get this:

0x00000000409d6930 0x0000000071109df5 in external_error /home/rnk/disk/dynamorio/core/utils.c:212 0x00000000409d6990 0x000000007128c0af in check_ilist_translations /home/rnk/disk/dynamorio/core/x86/instrument.c:1291 0x00000000409d69c0 0x000000007128c5f1 in instrument_basic_block /home/rnk/disk/dynamorio/core/x86/instrument.c:1359 0x00000000409d6a60 0x000000007123d692 in client_process_bb /home/rnk/disk/dynamorio/core/x86/interp.c:2395 0x00000000409d6b20 0x00000000712413fb in build_bb_ilist /home/rnk/disk/dynamorio/core/x86/interp.c:3311 0x00000000409d6d60 0x0000000071245d5f in build_basic_block_fragment /home/rnk/disk/dynamorio/core/x86/interp.c:4246 0x00000000409d6f10 0x00000000710f4605 in dispatch /home/rnk/disk/dynamorio/core/dispatch.c:186 0x00000000409d6ff0 0x000000004096ad4d in ?? ??:0 0x00007ffff42d0830 0x0000000071086175 in dr_app_setup_and_start /home/rnk/disk/dynamorio/core/dynamo.c:2499 0x00007ffff42d0850 0x0000000003516ef4>

I can reproduce this using any client that has a bb hook, but only on my current build of browser_tests. I have a standalone zip of this build in my internal Google filer at /home/rnk/standalone_browser_tests.zip. You can unzip it and run some small test (I use AutofillTest.BasicFormFill).

The instructions in question look like normal app instrs, but I can't tell why the translation field is NULL. Please try reproducing this problem with trunk DR using the standalone zip.

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

derekbruening commented 9 years ago

From rnk@google.com on June 18, 2012 15:25:10

I see what happened. I had applied my internal attach change to Chrome, and I was trying to re-initialized DynamoRIO. It would be nice if we could attempt that without error, but for now I'll just avoid doing that.

Labels: -Priority-Medium -OpSys-Linux -OpSys-x64 Priority-Low