<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2016-07-12 15:59 GMT+01:00 Brendan Dolan-Gavitt <span dir="ltr">&lt;<a href="mailto:brendandg@nyu.edu" target="_blank">brendandg@nyu.edu</a>&gt;</span>:<br><blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote"><span>On Tue, Jul 12, 2016 at 10:18 AM, gilles B &lt;<a href="mailto:gillusg75@gmail.com">gillusg75@gmail.com</a>&gt; wrote:<br>
&gt; Ho sorry, I have now added the &quot;-android&quot; and it works, amazing !<br>
&gt; To be noted that the &quot;-android&quot; is present in the tutorial of the doc:<br>
&gt; <a href="https://github.com/moyix/panda/blob/master/docs/LINE_Censorship.md" rel="noreferrer" target="_blank">https://github.com/moyix/panda/blob/master/docs/LINE_Censorship.md</a><br>
&gt; however it is not present in the command of PANDA share website:<br>
&gt; <a href="http://www.rrshare.org/detail/35/" rel="noreferrer" target="_blank">http://www.rrshare.org/detail/35/</a><br>
<br>
</span>Sorry about that! It&#39;s fixed now.<br>
<span><br>
&gt; It&#39;s still surprising when I run the same replay command multiple times<br>
&gt; consecutively, from time to time I still have the error of &quot;log_replay2.txt&quot;<br>
&gt; (see my first post), e.g.: I had to run this command 4 times to get a<br>
&gt; successful replay<br>
<br>
</span>Does the failure happen even when using the dummy qcow2s mentioned in<br>
the tutorial? The &quot;File exists&quot; bug is one we know about but have not<br>
had time to fix (most of the devs don&#39;t use the android support on a<br>
day to day basis), but I thought I recalled that the tutorial&#39;s<br>
workaround worked.<br></blockquote><div>yes I use the 2 dummy qcows, and it looks like the failure appears randomly, it&#39;s unpredictable but the command is always successful after few tries if I persevere. I will try to figure out what&#39;s happen, I&#39;ll let you know if I find</div><blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote"><span><br>
&gt; Ohterwise the output log seems fine (log_replay_ok.txt enclosed) although<br>
&gt; there are some attempts to connect to ADB, which is strange for a replay<br>
&gt; mode + other errors like &quot;qemu-system-arm: Error -22 while loading VM state&quot;<br>
&gt; that don&#39;t seem to be a problem for the success of the replay.<br>
&gt; At least I&#39;m able to use different plugins that work like a charm)<br>
<br>
</span>The replay system starts by loading a QEMU snapshot. Unless the<br>
devices are exactly the same as during recording, there snapshot will<br>
fail to load giving that error -22 message, but as long as it has<br>
restored RAM &amp; CPU state by then it usually doesn&#39;t matter.<br>
<br>
Glad things are working for you now!<br>
<span class="HOEnZb"><font color="#888888"><br>
-Brendan<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
&gt; 2016-07-11 13:06 GMT+01:00 Brendan Dolan-Gavitt &lt;<a href="mailto:brendandg@nyu.edu">brendandg@nyu.edu</a>&gt;:<br>
&gt;&gt;<br>
&gt;&gt; Hi,<br>
&gt;&gt;<br>
&gt;&gt; It looks like you are missing the &quot;-android&quot; option when replaying line2.<br>
&gt;&gt;<br>
&gt;&gt; Also, if you are using the most recent git version of PANDA, note that<br>
&gt;&gt; a recent change introduced a regression to the ARM record/replay<br>
&gt;&gt; support. If you roll back to commit 38e9caf ARM record/replay will<br>
&gt;&gt; work correctly. This issue is currently being tracked at<br>
&gt;&gt; <a href="https://github.com/moyix/panda/issues/91" rel="noreferrer" target="_blank">https://github.com/moyix/panda/issues/91</a> and we&#39;ll try to get it fixed<br>
&gt;&gt; soon.<br>
&gt;&gt;<br>
&gt;&gt; -Brendan<br>
&gt;&gt;<br>
&gt;&gt; On Mon, Jul 11, 2016 at 7:34 AM, gilles B &lt;<a href="mailto:gillusg75@gmail.com">gillusg75@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt; Actually in the example above, I don&#39;t use both dummy.qcow2 and<br>
&gt;&gt; &gt; dummy2.qcow2<br>
&gt;&gt; &gt; like in the tutorial, however even if I use both, I have the same issue:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; root@pandavm:/home/panda/Desktop/line_android_test#<br>
&gt;&gt; &gt; /home/panda/panda/qemu/arm-softmmu/qemu-system-arm -m 2048 -replay line2<br>
&gt;&gt; &gt; -M<br>
&gt;&gt; &gt; android_arm -cpu cortex-a9 -kernel /dev/null -global<br>
&gt;&gt; &gt; goldfish_mmc.sd_path=/dev/null -global<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; goldfish_nand.system_path=/home/panda/Desktop/line_android_test/dummy2.qcow2<br>
&gt;&gt; &gt; -global<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; goldfish_nand.user_data_path=/home/panda/Desktop/line_android_test/dummy.qcow2<br>
&gt;&gt; &gt; goldfish_add_device: goldfish_device_bus, base ff001000 1000, irq 1 1<br>
&gt;&gt; &gt; goldfish_device_bus: ff001000  30<br>
&gt;&gt; &gt; goldfish_add_device: goldfish_int, base ff000000 1000, irq 0 0<br>
&gt;&gt; &gt; goldfish_int: ff000000  38<br>
&gt;&gt; &gt; goldfish_add_device: goldfish_timer, base ff003000 1000, irq 3 1<br>
&gt;&gt; &gt; goldfish_timer: ff003000  40<br>
&gt;&gt; &gt; goldfish_add_device: goldfish_rtc, base ff010000 1000, irq 10 1<br>
&gt;&gt; &gt; goldfish_rtc: ff010000  48<br>
&gt;&gt; &gt; goldfish_add_device: goldfish_tty, base ff002000 1000, irq 4 1<br>
&gt;&gt; &gt; goldfish_tty: ff002000  50<br>
&gt;&gt; &gt; android_arm_init serial 1 0<br>
&gt;&gt; &gt; android_arm_init serial 2 0<br>
&gt;&gt; &gt; android_arm_init serial 3 0<br>
&gt;&gt; &gt; goldfish_add_device: smc91x, base ff011000 1000, irq 11 1<br>
&gt;&gt; &gt; goldfish_add_device: goldfish_fb, base ff012000 1000, irq 12 1<br>
&gt;&gt; &gt; goldfish_fb: ff012000  68<br>
&gt;&gt; &gt; goldfish_add_device: goldfish_mmc, base ff005000 1000, irq 13 1<br>
&gt;&gt; &gt; goldfish_mmc: ff005000  70<br>
&gt;&gt; &gt; goldfish_add_device: goldfish_memlog, base ff006000 1000, irq 0 0<br>
&gt;&gt; &gt; goldfish_memlog: ff006000  78<br>
&gt;&gt; &gt; goldfish_add_device: goldfish-battery, base ff013000 1000, irq 14 1<br>
&gt;&gt; &gt; goldfish-battery: ff013000  80<br>
&gt;&gt; &gt; goldfish_add_device: goldfish_events, base ff014000 1000, irq 15 1<br>
&gt;&gt; &gt; goldfish_events: ff014000  88<br>
&gt;&gt; &gt; Using event IRQ<br>
&gt;&gt; &gt; Invalid system partition size for non-QCOW image: 0emulator: geometry<br>
&gt;&gt; &gt; says<br>
&gt;&gt; &gt; there are 2048 blocks<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; emulator: rounding devsize up to a full eraseunit, now e7000<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; emulator: Dev size of /home/panda/Desktop/line_android_test/dummy2.qcow2<br>
&gt;&gt; &gt; is<br>
&gt;&gt; &gt; e7000<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Invalid data partition size for non-QCOW image: 0emulator: Dev size 0x0<br>
&gt;&gt; &gt; came<br>
&gt;&gt; &gt; from argument<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; emulator: geometry says there are 2048 blocks<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; emulator: rounding devsize up to a full eraseunit, now e7000<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; emulator: Dev size of /home/panda/Desktop/line_android_test/dummy.qcow2<br>
&gt;&gt; &gt; is<br>
&gt;&gt; &gt; e7000<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; emulator: Dev size 0x0 came from argument<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; emulator: geometry says there are 0 blocks<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; emulator: Dev size of /tmp/android-root/emulator-sPg44b is 0<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; goldfish_add_device: goldfish_nand, base ff015000 1000, irq 16 1<br>
&gt;&gt; &gt; goldfish_nand: ff015000  90<br>
&gt;&gt; &gt; goldfish_add_device: qemu_pipe, base ff016000 2000, irq 17 1<br>
&gt;&gt; &gt; qemu_pipe: ff016000  98<br>
&gt;&gt; &gt; emulator: control console listening on port 5554, ADB on port 5555<br>
&gt;&gt; &gt; emulator: can&#39;t connect to ADB server: Connection refused<br>
&gt;&gt; &gt; emulator: Realistic sensor emulation is not available, since the remote<br>
&gt;&gt; &gt; controller is not accessible:<br>
&gt;&gt; &gt;  Connection refused<br>
&gt;&gt; &gt; loading snapshot<br>
&gt;&gt; &gt; qemu: warning: error while loading state for instance 0x0 of device<br>
&gt;&gt; &gt; &#39;qemud&#39;<br>
&gt;&gt; &gt; qemu-system-arm: Error -5 while loading VM state<br>
&gt;&gt; &gt; ... done.<br>
&gt;&gt; &gt; opening nondet log for read : ./line2-rr-nondet.log<br>
&gt;&gt; &gt; Infinite loop detected during replay, aborting.<br>
&gt;&gt; &gt; {guest_instr_count=1 pc=0x00000000, secondary=0x00000000}<br>
&gt;&gt; &gt; line2:           1 (  0.00%) instrs.    1.64 sec.  2.04 GB ram.<br>
&gt;&gt; &gt; total_instr in replay: 10367712943<br>
&gt;&gt; &gt; ERROR: replay failed!<br>
&gt;&gt; &gt; Time taken was: 0 seconds.<br>
&gt;&gt; &gt; Stats:<br>
&gt;&gt; &gt; RR_INPUT_1 number = 0, size = 0 bytes<br>
&gt;&gt; &gt; RR_INPUT_2 number = 0, size = 0 bytes<br>
&gt;&gt; &gt; RR_INPUT_4 number = 0, size = 0 bytes<br>
&gt;&gt; &gt; RR_INPUT_8 number = 0, size = 0 bytes<br>
&gt;&gt; &gt; RR_INTERRUPT_REQUEST number = 3, size = 84 bytes<br>
&gt;&gt; &gt; RR_EXIT_REQUEST number = 0, size = 0 bytes<br>
&gt;&gt; &gt; RR_SKIPPED_CALL number = 0, size = 0 bytes<br>
&gt;&gt; &gt; RR_DEBUG number = 0, size = 0 bytes<br>
&gt;&gt; &gt; max_queue_len = 1<br>
&gt;&gt; &gt; 0 items on recycle list, 0 bytes total<br>
&gt;&gt; &gt; ERROR: replay failed!<br>
&gt;&gt; &gt; Aborted<br>
&gt;&gt; &gt; root@pandavm:/home/panda/Desktop/line_android_test#<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; 2016-07-11 12:16 GMT+01:00 gilles B &lt;<a href="mailto:gillusg75@gmail.com">gillusg75@gmail.com</a>&gt;:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Hello guys,<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Hope you are doing well.<br>
&gt;&gt; &gt;&gt; I&#39;ve been playing with PANDA on x86 using different plugins over the<br>
&gt;&gt; &gt;&gt; last<br>
&gt;&gt; &gt;&gt; months and I quite like it )<br>
&gt;&gt; &gt;&gt; I would like now to go further and to use it with Android on ARM. I am<br>
&gt;&gt; &gt;&gt; now<br>
&gt;&gt; &gt;&gt; able to create some records of my Android OS running in QEMU,<br>
&gt;&gt; &gt;&gt; unfortunately<br>
&gt;&gt; &gt;&gt; I cannot replay any of my Android records with PANDA.<br>
&gt;&gt; &gt;&gt; In order to see if this came from my records, I have tried to replay a<br>
&gt;&gt; &gt;&gt; record from <a href="http://rrsahre.org" rel="noreferrer" target="_blank">rrsahre.org</a>, I have done exactly the same steps as for this<br>
&gt;&gt; &gt;&gt; example:<br>
&gt;&gt; &gt;&gt; <a href="https://github.com/moyix/panda/blob/master/docs/LINE_Censorship.md" rel="noreferrer" target="_blank">https://github.com/moyix/panda/blob/master/docs/LINE_Censorship.md</a><br>
&gt;&gt; &gt;&gt; When I replay the record of &quot;line2&quot; I have some issues: see logs<br>
&gt;&gt; &gt;&gt; enclosed.<br>
&gt;&gt; &gt;&gt; Surprisingly if I run twice the same replay command consecutively, I<br>
&gt;&gt; &gt;&gt; have<br>
&gt;&gt; &gt;&gt; either the error of log_replay.txt or the one of log_replay2.txt, but<br>
&gt;&gt; &gt;&gt; it is<br>
&gt;&gt; &gt;&gt; the first one most of the time...<br>
&gt;&gt; &gt;&gt; Did anybody ever have this problem ?<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; I have also been able to create my own Android records based on<br>
&gt;&gt; &gt;&gt; <a href="https://github.com/moyix/panda/blob/master/docs/Android.md" rel="noreferrer" target="_blank">https://github.com/moyix/panda/blob/master/docs/Android.md</a><br>
&gt;&gt; &gt;&gt; Unfortunately I end up with the same errors.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Regards,<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Gilles<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; _______________________________________________<br>
&gt;&gt; &gt; panda-users mailing list<br>
&gt;&gt; &gt; <a href="mailto:panda-users@mit.edu">panda-users@mit.edu</a><br>
&gt;&gt; &gt; <a href="http://mailman.mit.edu/mailman/listinfo/panda-users" rel="noreferrer" target="_blank">http://mailman.mit.edu/mailman/listinfo/panda-users</a><br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Brendan Dolan-Gavitt<br>
&gt;&gt; Assistant Professor, Department of Computer Science and Engineering<br>
&gt;&gt; NYU Tandon School of Engineering<br>
&gt;<br>
&gt;<br>
<br>
<br>
<br>
--<br>
Brendan Dolan-Gavitt<br>
Assistant Professor, Department of Computer Science and Engineering<br>
NYU Tandon School of Engineering<br>
</div></div></blockquote></div><br></div></div>