diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-25 13:00:08 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-25 13:00:08 -0400 |
| commit | 4db5a112e88068373e0e349bef88c2e16d9a3dda (patch) | |
| tree | 49302277d72eb35276d0d05154f6e965ff34e5fb /tools/guest-diag/wall2/t102.py | |
| parent | 1471101c74d50370e5a4bd1e76f6249dac60480b (diff) | |
| download | open-iov-4db5a112e88068373e0e349bef88c2e16d9a3dda.tar.gz open-iov-4db5a112e88068373e0e349bef88c2e16d9a3dda.zip | |
wall2 session 93: zero-ptrace pipeline (t101 instance clears self-disabling + unwait.py 16K/+0x80 word poller) reaches VKDEVICE on r693 with 5 auto-written words and no wedge risk; RM-lock wedge root-caused (gdb killed at a stop inside an RM critical section) with new attach rules + t102 safe diagnostic
Diffstat (limited to 'tools/guest-diag/wall2/t102.py')
| -rw-r--r-- | tools/guest-diag/wall2/t102.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tools/guest-diag/wall2/t102.py b/tools/guest-diag/wall2/t102.py new file mode 100644 index 0000000..759d974 --- /dev/null +++ b/tools/guest-diag/wall2/t102.py @@ -0,0 +1,31 @@ +import gdb +gr = gdb.execute +inf = gdb.selected_inferior() +pid = inf.pid +base = None +for line in open("/proc/%d/maps" % pid): + parts = line.split() + try: + lo, hi = [int(x,16) for x in parts[0].split('-')] + except Exception: + continue + if base is None and "libnvidia-eglcore" in line and int(parts[2],16) == 0: + base = lo +print("BASE 0x%x PID %d" % (base or 0, pid)) +try: + pc = int(gdb.parse_and_eval("$pc")) + print("PC 0x%x off=0x%x" % (pc, pc - base if base else 0)) +except Exception as e: + print("pcfail %s" % e) +try: + C = base + 0x2070B7C + print("A8COUNT %u" % int(gdb.parse_and_eval("*(unsigned int*)0x%x" % C))) +except Exception as e: + print("countfail %s" % e) +try: + print(gr("bt 6", to_string=True)) +except Exception as e: + print("btfail %s" % e) +gr("detach") +gr("quit") +print("T102-DONE") |
