Skip to content
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

some python examples or test seem can not run in python3 version>=3.8. #1381

Open
Michael-c0de opened this issue Nov 3, 2023 · 2 comments
Open

Comments

@Michael-c0de
Copy link

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
assert(rep_in_orig > 0.99*repl_block_c), "Not enough blocks from replay were in original"
AssertionError: Not enough blocks from replay were in original

@cctv130
Copy link

cctv130 commented Nov 4, 2023

Apparently assert has been triggered, and I'm guessing that the new version of python is clearly incompatible with some parts.

@AndrewFasano
Copy link
Member

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants