-
Notifications
You must be signed in to change notification settings - Fork 480
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
Replaying a recording fails with assert error on g_main_context_acquire or segfault #1391
Comments
I have a guess as to what's going wrong. When the recording exists, you call Does the issue go away if you refactor things to avoid the call to from pandare import Panda
import os
panda = Panda(generic='x86_64')
recording_name = "linux64recording"
if os.path.isfile(f"{recording_name}-rr-snp"):
print("Replaying")
panda.run_replay(recording_name)
else:
@panda.queue_blocking
def driver():
print("Recording")
panda.revert_sync('root')
panda.record_cmd("whoami", recording_name=recording_name)
panda.stop_run()
panda.run() |
Perfect, that seems to have fixed the problem! This makes me a bit confused about the naming of the available functions though. Considering that there are other Also, indeed, a more descriptive error would've been nice :). |
The I definitely see what you're saying where it's confusing how the |
@AndrewFasano Thanks for the explanation, that definitely clears it up!
Some ideas come to mind:
|
Description
I am trying to get a basic record new or replay mechanism running. Following the documentation, I believe this should be either just a call to
panda.run_replay
orpanda.record_cmd
. However, there seems to be some nondeterminism in replaying the previously recorded traces with (Py)PANDA when doing so. Recording works fine, but replaying results in either a segfault or other assertion errors. This behavior seems consistent with both i386 and x86_64 images of both Linux and Windows. Am I doing something wrong or is this a bug?How to reproduce
$ docker run --rm -it -v $(pwd):/local pandare/panda /bin/bash
test.py
file in/local
with the following contents:Interestingly enough, the second output seems to indicate the replay completed successfully, but then still crashes afterwards.
Additional Info
Host OS: MANJARO 23.1.0
Kernel: 6.1.64
Docker Version: 24.0.7
panda-system-x86_64 --version: QEMU emulator version 2.9.1 (-dirty)
CPU: Intel i7-11800H
RAM: 16GB
The text was updated successfully, but these errors were encountered: