panda
panda copied to clipboard
some python examples or test seem can not run in python3 version>=3.8.
root@a3a518ae93f7:/panda/panda/python/tests# ./record_then_replay.py
using generic i386
os_name=[linux-32-ubuntu:4.4.200-170-generic]
PANDA[core]:os_familyno=2 bits=32 os_details=ubuntu:4.4.200-170-generic
[PYPANDA] Panda args: [/usr/local/lib/python3.9/site-packages/pandare/data/i386-softmmu/libpanda-i386.so -L /usr/local/lib/python3.9/site-packages/pandare/data/pc-bios /root/.panda/ubuntu_1604_x86.qcow -display none -m 1024 -serial unix:/tmp/pypanda_ste8lkgp1,server,nowait -monitor unix:/tmp/pypanda_mdd6t0iep,server,nowait]
Warning: disabling TB chaining to support before_block_exec callback
Taking recording (wait ~15s)...
writing snapshot: ./test.recording-rr-snp
opening nondet log for write: ./test.recording-rr-nondet.log
Finalizing the recording
...complete!
Finished recording
Done with recording. Observed 38988 bbs
Starting replay. Please wait a moment...
PANDA[osi_linux]:W> failed to read task.start_time_offset
PANDA[osi_linux]:W> failed to read task.switch_task_hook_addr
PANDA[osi_linux]:W> kernelinfo bytes [20-23] not read
PANDA[syscalls2]:using profile for linux x86 32-bit
NOT pandalooging
asidstory: summary_mode = 0
loading snapshot
... done.
opening nondet log for read : ./test.recording-rr-nondet.log
./test.recording-rr-nondet.log: 115021003 instrs total.
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
Entering execve -- filename = [/bin/date
no pandalog -- output to file named asidstory
asid for process changed! bash pid=8598
... was 0x33d74ee0 is 33d74c40
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
Entering execve -- filename = [/usr/bin/head
no pandalog -- output to file named asidstory
asid for process changed! bash pid=2198
... was 0x33d745a0 is 34279ae0
no pandalog -- output to file named asidstory
Entering execve -- filename = [/bin/cat
Entering execve -- filename = [/usr/bin/md5sum
no pandalog -- output to file named asidstory
asid for process changed! bash pid=2197
... was 0x33d74c40 is 34279000
asid for process changed! bash pid=2199
... was 0x33d745e0 is 34279440
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
no pandalog -- output to file named asidstory
Replay completed successfully
user 1112869
kernel 12695673
01cd3000 15560
33ac8d40 271834
33adc1e0 173420
33d745a0 219256
33d745e0 242326
33d74c40 661290
33d74ee0 116069
33d95f20 153739
33d95f60 18764
34279000 7598437
34279440 707109
34279ae0 921631
342a7860 2302970
34c0ad20 306788
34c2a9e0 99349
no pandalog -- output to file named asidstory
check_proc_succ = c89a92
check_proc_tot = d2b39e
Exiting cpu_handle_execption loop
Finished replay
38988 blocks are in original execution.
0 blocks captured in recording.
0 of the recorded blocks are in the original execution.
0 of the original blocks are in replay
Traceback (most recent call last):
File "/panda/panda/python/tests/./record_then_replay.py", line 68, in
Apparently assert has been triggered, and I'm guessing that the new version of python is clearly incompatible with some parts.
Hi @Michael-c0de, thanks for reporting this - we've been using newer versions of python without issue for a while, but I don't believe this test is part of our CI so perhaps it's broken. In your run it looks like no blocks were recorded as executing during the replay (though it did detect processes changing). I suspect there might be a bug with this test itself, not the underlying functionality. We can take a look.