nudge_ex test infinite loop of rank order violations
I hit this in the Appveyor run for PR #4032. I re-ran the build so I don't have a link but I have the log which has repeated cycles of rank orders for 30+ minutes before I killed it:
[00:22:19] test 142
[00:22:19] Start 142: code_api|client.nudge_ex
[00:22:19]
[00:22:19] 142: Test command: C:\projects\dynamorio\build\build_debug-internal-64\bin64\drrun.exe "-s" "90" "-quiet" "-debug" "-use_dll" "C:/projects/dynamorio/build/build_debug-internal-64/lib64/debug/dynamorio.dll" "-exit0" "-stderr_mask" "0xC" "-msgbox_mask" "0" "-dumpcore_mask" "0x7d" "-staged" "-code_api" "-c" "C:/projects/dynamorio/build/build_debug-internal-64/suite/tests/bin/client.nudge_ex.dll.dll" "--" "C:/projects/dynamorio/build/build_debug-internal-64/suite/tests/bin/client.nudge_ex.exe"
[00:22:19] 142: Test timeout computed to be: 600
[00:22:19] 142: thank you for testing the client interface
[00:22:19] 142: nudge delivered 101
[00:22:19] 142: self
[00:22:19] 142: thank you for testing the client interface
[00:22:19] 142: <rank order violation HTLOCK_RANK(readwrite)@c:\projects\dynamorio\core\hashtablex.h:538 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation HTLOCK_RANK(readwrite)@c:\projects\dynamorio\core\hashtablex.h:538 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation linking_lock(mutex)@..\..\core\fragment.c:2026 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation dynamo_areas(readwrite)@..\..\core\vmareas.c:1592 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation dynamo_areas(readwrite)@..\..\core\vmareas.c:1592 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation dynamo_areas(readwrite)@..\..\core\vmareas.c:1592 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation dynamo_areas(readwrite)@..\..\core\vmareas.c:1592 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation dynamo_areas(readwrite)@..\..\core\vmareas.c:1592 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation dynamo_areas(readwrite)@..\..\core\vmareas.c:1592 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation HTLOCK_RANK(readwrite)@c:\projects\dynamorio\core\hashtablex.h:538 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation HTLOCK_RANK(readwrite)@c:\projects\dynamorio\core\hashtablex.h:538 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation bb_building_lock(mutex)@..\..\core\arch\interp.c:119 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation low_on_memory_pending_lock(recursive)@..\..\core\heap.c:348 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation linking_lock(mutex)@..\..\core\fragment.c:2026 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation HTLOCK_RANK(readwrite)@c:\projects\dynamorio\core\hashtablex.h:538 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation HTLOCK_RANK(readwrite)@c:\projects\dynamorio\core\hashtablex.h:538 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation linking_lock(mutex)@..\..\core\fragment.c:2026 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation dynamo_areas(readwrite)@..\..\core\vmareas.c:1592 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation dynamo_areas(readwrite)@..\..\core\vmareas.c:1592 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation dynamo_areas(readwrite)@..\..\core\vmareas.c:1592 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation dynamo_areas(readwrite)@..\..\core\vmareas.c:1592 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation dynamo_areas(readwrite)@..\..\core\vmareas.c:1592 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation dynamo_areas(readwrite)@..\..\core\vmareas.c:1592 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation HTLOCK_RANK(readwrite)@c:\projects\dynamorio\core\hashtablex.h:538 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation HTLOCK_RANK(readwrite)@c:\projects\dynamorio\core\hashtablex.h:538 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation bb_building_lock(mutex)@..\..\core\arch\interp.c:119 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation low_on_memory_pending_lock(recursive)@..\..\core\heap.c:348 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation linking_lock(mutex)@..\..\core\fragment.c:2026 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:22:19] 142: <rank order violation HTLOCK_RANK(readwrite)@c:\projects\dynamorio\core\hashtablex.h:538 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
<...>
[00:53:18] 142: <rank order violation dynamo_areas(readwrite)@..\..\core\vmareas.c:1592 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:53:18] 142: <rank order violation HTLOCK_RANK(readwrite)@c:\projects\dynamorio\core\hashtablex.h:538 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:53:18] 142: <rank order violation HTLOCK_RANK(readwrite)@c:\projects\dynamorio\core\hashtablex.h:538 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
[00:53:18] 142: <rank order violation HTLOCK_RANK(readwrite)@c:\projects\dynamorio\core\hashtablex.h:538 acquired after options_lock(readwrite)@..\..\core\options.c:240 in tid:1474>
<...>