-
Notifications
You must be signed in to change notification settings - Fork 561
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
Segmentation fault with -thread_privat option #4278
Comments
I'm not sure -thread_private was ever implemented for AArch64? It was not for ARM: #1884. If AArch64 is the same, this can be marked as a dup of #1884. We'd be happy to look at pull requests contributing the support, or at least a friendly failure message instead of a crash -- or is that already there in |
@AssadHashmi -- is -thread_private support implemented for AArch64? |
No Duplicate of #1884 |
It seems to be the same with -no_shared_bbs. Is that one supported on ARM/Aarch64?: /media/mp000/DynamoRIO-AArch64-Linux-8.0.0-1/bin64/drrun -root /media/mp000/DynamoRIO-AArch64-Linux-8.0.0-1 -no_shared_bbs -t drcov -logdir /media/mp000/ -dump_binary -- /bin/ls |
Btw the reason why I care about this option is because there is a strong burden on this read write lock when adding fragments which slows my program down to almost a halt and I hoped this option could be a remedy: The readers ( dozens ): The writer who slows everything down: #0 0x000000007104257c in hashtable_fragment_add (dcontext=dcontext@entry=0x7f14cc9900, e=0x7f130e9e48, table=table@entry=0x7f0fefe568) at /home/travis/build/DynamoRIO/dynamorio/core/hashtablex.h:782 |
That would be the same as -thread_private (just with only bbs being private, and traces shared) so #1884. If you could file the lock performance problem as a separate issue we can continue discussion of it there, and we'll close this in favor of #1884 for -thread_private. Scaling up AArch64 to bigger programs recently has revealed a number of issues, including with locks, some of which were fixed (#3956). Please include some performance numbers in the new issue and how many blocks are being created here over what kind of time span. |
Segmentation fault running dynamorio / drcov on an Aarch64 Yocto Linux when -thread_private option is enabled.
DynamoRIO-AArch64-Linux-8.0.0-1
/media/mp000/DynamoRIO-AArch64-Linux-8.0.0-1/bin64/drrun -root /media/mp000/DynamoRIO-AArch64-Linux-8.0.0-1 -thread_private -t drcov -logdir /media/mp000/ -dump_binary -- /bin/ls
<Application /bin/busybox (4023). DrCov internal crash at PC 0x00000000710c6694. Please report this at http://dynamorio.org/issues. Program aborted.
Received SIGSEGV at pc 0x00000000710c6694 in thread 4023
Base: 0x0000000071000000
Registers: eflags=0x0000000040000000
version 8.0.0, build 1
-no_dynamic_options -client_lib '/media/mp000/DynamoRIO-AArch64-Linux-8.0.0-1/tools/lib64/release/libdrcov.so;0;"-logdir" "/media/mp000/" "-dump_binary"' -code_api -stack_size 56K -signal_stack_size 32K -nop_initial_bblock -max_elide_jmp 0 -max_elide_call 0 -thread_private -no_atomic_inlined_linking -inline_trace_ibl -no
0x0000007f2f6a3950 0x00000000710b5eb0
0x0000007f2f6a39a0 0x00000000710b8340
0x0000007f2f6a3a20 0x00000000710545e4
0x0000007f2f6a3b80 0x000000007108df70
0x0000007f2f6a3bb0 0x000000007104f850
0x0000007f2f6a3bd0 0x000000007104176c
0x0000007f2f6a3c40 0x00000000710593c0
0x0000007f2f6a3cb0 0x000000007110232c
0x0000007f2f6a3d70 0x0000000071057668
0x0000007f2f6a3f20 0x00000000711102cc
0x0000007fc6807480 0x00000000711107e8>
Testapp is standard /bin/ls.
The text was updated successfully, but these errors were encountered: