[panda-users] replay records with PANDROID

Brendan Dolan-Gavitt brendandg at nyu.edu
Mon Jul 11 08:06:16 EDT 2016


Hi,

It looks like you are missing the "-android" option when replaying line2.

Also, if you are using the most recent git version of PANDA, note that
a recent change introduced a regression to the ARM record/replay
support. If you roll back to commit 38e9caf ARM record/replay will
work correctly. This issue is currently being tracked at
https://github.com/moyix/panda/issues/91 and we'll try to get it fixed
soon.

-Brendan

On Mon, Jul 11, 2016 at 7:34 AM, gilles B <gillusg75 at gmail.com> wrote:
> Actually in the example above, I don't use both dummy.qcow2 and dummy2.qcow2
> like in the tutorial, however even if I use both, I have the same issue:
>
> root at pandavm:/home/panda/Desktop/line_android_test#
> /home/panda/panda/qemu/arm-softmmu/qemu-system-arm -m 2048 -replay line2 -M
> android_arm -cpu cortex-a9 -kernel /dev/null -global
> goldfish_mmc.sd_path=/dev/null -global
> goldfish_nand.system_path=/home/panda/Desktop/line_android_test/dummy2.qcow2
> -global
> goldfish_nand.user_data_path=/home/panda/Desktop/line_android_test/dummy.qcow2
> goldfish_add_device: goldfish_device_bus, base ff001000 1000, irq 1 1
> goldfish_device_bus: ff001000  30
> goldfish_add_device: goldfish_int, base ff000000 1000, irq 0 0
> goldfish_int: ff000000  38
> goldfish_add_device: goldfish_timer, base ff003000 1000, irq 3 1
> goldfish_timer: ff003000  40
> goldfish_add_device: goldfish_rtc, base ff010000 1000, irq 10 1
> goldfish_rtc: ff010000  48
> goldfish_add_device: goldfish_tty, base ff002000 1000, irq 4 1
> goldfish_tty: ff002000  50
> android_arm_init serial 1 0
> android_arm_init serial 2 0
> android_arm_init serial 3 0
> goldfish_add_device: smc91x, base ff011000 1000, irq 11 1
> goldfish_add_device: goldfish_fb, base ff012000 1000, irq 12 1
> goldfish_fb: ff012000  68
> goldfish_add_device: goldfish_mmc, base ff005000 1000, irq 13 1
> goldfish_mmc: ff005000  70
> goldfish_add_device: goldfish_memlog, base ff006000 1000, irq 0 0
> goldfish_memlog: ff006000  78
> goldfish_add_device: goldfish-battery, base ff013000 1000, irq 14 1
> goldfish-battery: ff013000  80
> goldfish_add_device: goldfish_events, base ff014000 1000, irq 15 1
> goldfish_events: ff014000  88
> Using event IRQ
> Invalid system partition size for non-QCOW image: 0emulator: geometry says
> there are 2048 blocks
>
> emulator: rounding devsize up to a full eraseunit, now e7000
>
> emulator: Dev size of /home/panda/Desktop/line_android_test/dummy2.qcow2 is
> e7000
>
> Invalid data partition size for non-QCOW image: 0emulator: Dev size 0x0 came
> from argument
>
> emulator: geometry says there are 2048 blocks
>
> emulator: rounding devsize up to a full eraseunit, now e7000
>
> emulator: Dev size of /home/panda/Desktop/line_android_test/dummy.qcow2 is
> e7000
>
> emulator: Dev size 0x0 came from argument
>
> emulator: geometry says there are 0 blocks
>
> emulator: Dev size of /tmp/android-root/emulator-sPg44b is 0
>
> goldfish_add_device: goldfish_nand, base ff015000 1000, irq 16 1
> goldfish_nand: ff015000  90
> goldfish_add_device: qemu_pipe, base ff016000 2000, irq 17 1
> qemu_pipe: ff016000  98
> emulator: control console listening on port 5554, ADB on port 5555
> emulator: can't connect to ADB server: Connection refused
> emulator: Realistic sensor emulation is not available, since the remote
> controller is not accessible:
>  Connection refused
> loading snapshot
> qemu: warning: error while loading state for instance 0x0 of device 'qemud'
> qemu-system-arm: Error -5 while loading VM state
> ... done.
> opening nondet log for read : ./line2-rr-nondet.log
> Infinite loop detected during replay, aborting.
> {guest_instr_count=1 pc=0x00000000, secondary=0x00000000}
> line2:           1 (  0.00%) instrs.    1.64 sec.  2.04 GB ram.
> total_instr in replay: 10367712943
> ERROR: replay failed!
> Time taken was: 0 seconds.
> Stats:
> RR_INPUT_1 number = 0, size = 0 bytes
> RR_INPUT_2 number = 0, size = 0 bytes
> RR_INPUT_4 number = 0, size = 0 bytes
> RR_INPUT_8 number = 0, size = 0 bytes
> RR_INTERRUPT_REQUEST number = 3, size = 84 bytes
> RR_EXIT_REQUEST number = 0, size = 0 bytes
> RR_SKIPPED_CALL number = 0, size = 0 bytes
> RR_DEBUG number = 0, size = 0 bytes
> max_queue_len = 1
> 0 items on recycle list, 0 bytes total
> ERROR: replay failed!
> Aborted
> root at pandavm:/home/panda/Desktop/line_android_test#
>
>
> 2016-07-11 12:16 GMT+01:00 gilles B <gillusg75 at gmail.com>:
>>
>> Hello guys,
>>
>> Hope you are doing well.
>> I've been playing with PANDA on x86 using different plugins over the last
>> months and I quite like it )
>> I would like now to go further and to use it with Android on ARM. I am now
>> able to create some records of my Android OS running in QEMU, unfortunately
>> I cannot replay any of my Android records with PANDA.
>> In order to see if this came from my records, I have tried to replay a
>> record from rrsahre.org, I have done exactly the same steps as for this
>> example:
>> https://github.com/moyix/panda/blob/master/docs/LINE_Censorship.md
>> When I replay the record of "line2" I have some issues: see logs enclosed.
>> Surprisingly if I run twice the same replay command consecutively, I have
>> either the error of log_replay.txt or the one of log_replay2.txt, but it is
>> the first one most of the time...
>> Did anybody ever have this problem ?
>>
>> I have also been able to create my own Android records based on
>> https://github.com/moyix/panda/blob/master/docs/Android.md
>> Unfortunately I end up with the same errors.
>>
>> Regards,
>>
>> Gilles
>
>
>
> _______________________________________________
> panda-users mailing list
> panda-users at mit.edu
> http://mailman.mit.edu/mailman/listinfo/panda-users
>



-- 
Brendan Dolan-Gavitt
Assistant Professor, Department of Computer Science and Engineering
NYU Tandon School of Engineering


More information about the panda-users mailing list