DynamoRIO / dynamorio

Dynamic Instrumentation Tool Platform
Other
2.57k stars 549 forks source link

HANG (1.5.0.1 openoffice.org) #253

Open derekbruening opened 9 years ago

derekbruening commented 9 years ago

From da...@sicnarf.com on January 24, 2010 18:17:38

launch openoffice: bin64/drdeploy -ops "-pause_on_error" -debug -client samples/bin64/libempty.so 0x1 "" openoffice.org <Starting application sh (7513)> <Starting application sh (7522)> <Starting application stat (7524)> <Stopping application stat (7524)> <Starting application uname (7526)> <Stopping application uname (7526)> <Starting application uname (7528)> <Stopping application uname (7528)> <Stopping application sh (7530)> Segmentation fault (core dumped) <Starting application dirname (7532)> <Stopping application dirname (7532)> <Stopping application sh (7534)> Segmentation fault <Starting application basename (7535)> <Stopping application basename (7535)> <Starting application javaldx (7537)> <Stopping application javaldx (7537)> <Starting application pagein (7549)> <Stopping application pagein (7549)> <Starting application oosplash.bin (7551)>

after 40 minutes of cpu time, here's a backtrace of oosplash.bin (pid 7557):


0 0x000000007116e89c in syscall_ready ()

from /home/david/Applications/Source/DynamoRIO-

1 0x0000000077532680 in ?? ()

2 0x0000000071178e45 in thread_yield ()

at /work/dr/tot/opensource/core/linux/os.c:2024

3 0x000000007117ac35 in mutex_wait_contended_lock (lock=0x775325a8)

at /work/dr/tot/opensource/core/linux/os.c:6256

4 0x00000000710c9fa3 in mutex_lock (lock=0x775325a8)

at /work/dr/tot/opensource/core/utils.c:876

5 0x000000007118a749 in signal_thread_exit (dcontext=0x77527700)

at /work/dr/tot/opensource/core/linux/signal.c:1260

6 0x000000007117f2a0 in os_thread_exit (dcontext=0x77527700)

at /work/dr/tot/opensource/core/linux/os.c:1491

7 0x000000007104197c in dynamo_thread_exit_common (dcontext=0x77527700,

id=7551, other_thread=1) at /work/dr/tot/opensource/core/dynamo.c:2140

8 0x0000000071041d5b in dynamo_other_thread_exit (tr=0x774fa168)

at /work/dr/tot/opensource/core/dynamo.c:2242

9 0x0000000071043178 in dynamorio_fork_init (dcontext=0x77532680)

at /work/dr/tot/opensource/core/dynamo.c:731

10 0x000000007117e0dd in post_system_call (dcontext=0x77532680)

at /work/dr/tot/opensource/core/linux/os.c:4566

11 0x000000007109654b in handle_post_system_call (dcontext=0x77532680)

at /work/dr/tot/opensource/core/dispatch.c:1832

12 0x000000007109a1a0 in dispatch_enter_dynamorio (dcontext=0x77532680)

at /work/dr/tot/opensource/core/dispatch.c:708

13 0x000000007109a31e in dispatch (dcontext=0x77532680)

at /work/dr/tot/opensource/core/dispatch.c:140

14 0x000000007750ed59 in ?? ()

15 0x0000000000000000 in ?? ()

and the second one:


0 0x000000007116e89c in syscall_ready ()

from /home/david/Applications/Source/DynamoRIO-

1 0x0000000077532680 in ?? ()

2 0x0000000071178e45 in thread_yield ()

at /work/dr/tot/opensource/core/linux/os.c:2024

3 0x000000007117ac35 in mutex_wait_contended_lock (lock=0x775325a8)

at /work/dr/tot/opensource/core/linux/os.c:6256

4 0x00000000710c9fa3 in mutex_lock (lock=0x775325a8)

at /work/dr/tot/opensource/core/utils.c:876

5 0x000000007118a749 in signal_thread_exit (dcontext=0x77527700)

at /work/dr/tot/opensource/core/linux/signal.c:1260

6 0x000000007117f2a0 in os_thread_exit (dcontext=0x77527700)

at /work/dr/tot/opensource/core/linux/os.c:1491

7 0x000000007104197c in dynamo_thread_exit_common (dcontext=0x77527700,

id=7551, other_thread=1) at /work/dr/tot/opensource/core/dynamo.c:2140

8 0x0000000071041d5b in dynamo_other_thread_exit (tr=0x774fa168)

at /work/dr/tot/opensource/core/dynamo.c:2242

9 0x0000000071043178 in dynamorio_fork_init (dcontext=0x77532680)

at /work/dr/tot/opensource/core/dynamo.c:731

10 0x000000007117e0dd in post_system_call (dcontext=0x77532680)

at /work/dr/tot/opensource/core/linux/os.c:4566

11 0x000000007109654b in handle_post_system_call (dcontext=0x77532680)

at /work/dr/tot/opensource/core/dispatch.c:1832

12 0x000000007109a1a0 in dispatch_enter_dynamorio (dcontext=0x77532680)

at /work/dr/tot/opensource/core/dispatch.c:708

13 0x000000007109a31e in dispatch (dcontext=0x77532680)

at /work/dr/tot/opensource/core/dispatch.c:140

14 0x000000007750ed59 in ?? ()

15 0x0000000000000000 in ?? ()

i tried to kill the process with Ctrl+C: ^C<Stopping application oosplash.bin (7551)> <Stopping application sh (7522)> <Stopping application sh (7513)> oosplash.bin kept on running (it has pid 7557) and only a "kill -9" would bring it down.

tested this on 2 systems running the same debian linux. see the other issue for more details: issue #252

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

derekbruening commented 9 years ago

From qin.zhao@gmail.com on January 26, 2010 08:45:17

My call back trace is a little bit different from the posted. The first one is the same, which seems the DR is busy waiting on a lock. While the second one is different. My gdb tells me that it stops at the system call in the code cache.

derekbruening commented 9 years ago

From derek.br...@gmail.com on February 21, 2010 12:57:26

looks like issue #239 to me based on quick glance are the locks held by threads in the parent at fork time?