<div dir="ltr">This is unlikely to work because PANDA&#39;s record/replay doesn&#39;t update the internal state of peripherals as it runs – so resuming from a snapshot taken in the middle of a replay will have a mismatch between the CPU/RAM state and the peripheral state. (E.g., imagine that the first half of the recording wrote to a file. When you restore to a snapshot in the middle of the replay, the virtual hard drive won&#39;t have that file, because the replay didn&#39;t actually make any modifications to the hard drive).<div><br></div><div>That said, you can *try* to make this using QEMU&#39;s migration functionality:</div><div><br></div><div>From the monitor, partway through replay:</div><div><br></div><div>(qemu) migrate &quot;exec:cat &gt; foo-snp&quot;</div><div><br></div><div>And then you can do:</div><div><br></div><div>qemu-system-i386 -incoming &quot;exec:cat &lt; foo-snp&quot;</div><div><br></div><div>to load the snapshot.</div><div><br></div><div>This person seems to have done something similar (though they created the -snp using the scissors plugin rather than the migrate command). Apparently they were able to get the VM to resume, but network didn&#39;t work and the machine hung after a while. I would expect this to be kind of the best case scenario for what you&#39;re hoping to accomplish:</div><div><br></div><div><a href="https://github.com/panda-re/panda/issues/232">https://github.com/panda-re/panda/issues/232</a><br></div><div><br></div><div>You may have better luck using QEMU&#39;s built-in record/replay functionality for this. Unlike ours, it does record peripheral state (more precisely: the recording boundary is outside the peripherals, so it captures e.g. mouse movements / network packets, whereas ours records the effect of the mouse controller / NIC on the CPU/RAM).</div><div><br></div><div>-Brendan</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Dec 2, 2017 at 2:26 PM, David Manouchehri <span dir="ltr">&lt;<a href="mailto:david.manouchehri@riseup.net" target="_blank">david.manouchehri@riseup.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Is there a PANDA 2 plugin similar to the former rehosting?</div><div><br></div><div><a href="https://github.com/panda-re/panda/blob/panda1/qemu/panda_plugins/rehosting/USAGE.md" target="_blank">https://github.com/panda-re/<wbr>panda/blob/panda1/qemu/panda_<wbr>plugins/rehosting/USAGE.md</a></div><div><br></div><div>My goal was to resume a replay log (.rr) at an arbitrary instrcount/<wbr>address. e.g. after running the following commands you could connect via VNC and interact with the machine again.</div><div><br></div><div><div>root@88fbb62481bb:~# /panda/<wbr>build/i386-softmmu/qemu-<wbr>system-i386 -hda mobile_x86.qcow2 -m 256 -monitor stdio -net nic,model=e1000 -net user -replay chrysaor -panda memsavep:instrcount=1,file=<wbr>memory.dd # Dump the memory</div><div><br></div><div>root@88fbb62481bb:~# /panda/<wbr>build/i386-softmmu/qemu-<wbr>system-i386 -hda mobile_x86.qcow2 -m 256 -monitor stdio -net nic,model=e1000 -net user -panda rehosting:kernel=memory.dd,<wbr>base=0x0,entry=0xb6e90ab7 -vnc :0,password # Resume the VM</div></div><div><br></div><div>Thanks,</div><div><br></div><div>David Manouchehri</div></div>
<br>______________________________<wbr>_________________<br>
panda-users mailing list<br>
<a href="mailto:panda-users@mit.edu">panda-users@mit.edu</a><br>
<a href="http://mailman.mit.edu/mailman/listinfo/panda-users" rel="noreferrer" target="_blank">http://mailman.mit.edu/<wbr>mailman/listinfo/panda-users</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Brendan Dolan-Gavitt<br>Assistant Professor, Department of Computer Science and Engineering<br>NYU Tandon School of Engineering</div>
</div>