Description of problem: I tried to salvage a arm system ( a freerunner ) by running the system with qemu, using ./boot/uImage-GTA02.bin as kernel ( the kernel is the one from debian ported on the freerunner ) Version-Release number of selected component: qemu-system-arm-1.2.2-1.fc18 Additional info: backtrace_rating: 4 cmdline: qemu-system-arm -kernel ./boot/uImage-GTA02.bin /dev/mmcblk0p1 crash_function: cpu_abort executable: /usr/bin/qemu-system-arm kernel: 3.6.11-3.fc18.x86_64 remote_result: NOTFOUND uid: 0 Truncated backtrace: Thread no. 1 (8 frames) #2 cpu_abort at /usr/src/debug/qemu-kvm-1.2.0/exec.c:1772 #3 get_page_addr_code at /usr/src/debug/qemu-kvm-1.2.0/cputlb.c:336 #4 tb_find_slow at /usr/src/debug/qemu-kvm-1.2.0/cpu-exec.c:96 #5 tb_find_fast at /usr/src/debug/qemu-kvm-1.2.0/cpu-exec.c:152 #6 cpu_arm_exec at /usr/src/debug/qemu-kvm-1.2.0/cpu-exec.c:569 #7 tcg_cpu_exec at /usr/src/debug/qemu-kvm-1.2.0/cpus.c:1113 #8 tcg_exec_all at /usr/src/debug/qemu-kvm-1.2.0/cpus.c:1145 #9 qemu_tcg_cpu_thread_fn at /usr/src/debug/qemu-kvm-1.2.0/cpus.c:840
Created attachment 667756 [details] File: backtrace
Created attachment 667757 [details] File: cgroup
Created attachment 667758 [details] File: core_backtrace
Created attachment 667759 [details] File: dso_list
Created attachment 667760 [details] File: environ
Created attachment 667761 [details] File: limits
Created attachment 667762 [details] File: maps
Created attachment 667763 [details] File: open_fds
Created attachment 667764 [details] File: proc_pid_status
Created attachment 667765 [details] File: smolt_data
Created attachment 667766 [details] File: var_log_messages
Was the crash a oneoff or is it reproducible? Can you provide a link to that kernel? At least googling "qemu freerunner" seems to indicate that a custom qemu is needed to even run it: http://wiki.openmoko.org/wiki/Openmoko_under_QEMU So not sure if this should 'just work'
It is reproductible. And yep, I know that not everything will work on qemu with the freerunner, but I just wanted to try. The issue is not that it doesn't work, more that it does make qemu coredump instead of showing a error message. The kernel can be found on http://pkg-fso.alioth.debian.org/debian/pool/main/l/linux-2.6-qtmoko/linux-image-2.6.37-qtmoko-gta02_20110412.git425779c72-1_armel.deb just open with ar x, and it is in data.tar.gz I just checked and I have a coredump with qemu-system-arm-1.2.2-6.fc18.x86_64 /tmp $ qemu-system-arm -kernel ./boot/uImage.bin-2.6.37-qtmoko qemu: fatal: Trying to execute code outside RAM or ROM at 0x30008000 R00=00000000 R01=00000113 R02=00000100 R03=00000000 R04=00000000 R05=00000000 R06=00000000 R07=00000000 R08=00000000 R09=00000000 R10=00000000 R11=00000000 R12=00000000 R13=00000000 R14=00000000 R15=30008000 PSR=400001d3 -Z-- A svc32 zsh: abort (core dumped) qemu-system-arm -kernel ./boot/uImage.bin-2.6.37-qtmoko
Yeah qemu-system-arm error reporting is pretty bad: passing it the wrong series of options, too much or too little ram, specifying incorrect machine type can make it crash in various ways. Upstream knows about it, but in many cases the fix isn't simple and they have spent their time on other work. For traditional arm board virtualization it likely won't ever improve unless someone else steps up to do the work. If you want to follow up, you can file a bug upstream, but it will likely just linger for a very long time (which is why I'm not opening this upstream :) )