On 05/13/2011 09:58 AM, Jon Pry wrote:
> I had the same idea. Unfortunately strace is built with android libs, so
> it doesn't work. I even changed it to statically linked, no go. Same
> binaries work on all manner of kernels I have. .27, .35. no .39.

My advice was geared to hedwin's situation, where he said that
programs ran, but error'ed out without any logcat or dmesg
info.

For your problem, do ALL statically linked binaries fail, or just
some?  (Is this the same as Mario or not).

If the kernel can't even start /init, you're in pretty bad
shape, and I'd suspect a kernel configuration issue (as Mario found).
I can't think of any arch-specific code that should affect the
kernel/user interface, but you never know.  Maybe it's a "thumb"
setting? It would be good to know the reason the processes are
segfaulting.

If you can start in a busybox shell, then use statically-linked
gdb/gdbserver to capture the illegal instruction, it might help
to find the problem.  If none of the bionic-based programs
run, you can try putting a glibc-based statically linked
busybox on the system.

Sorry if you've tried all these.  Just tossing out ideas...
 -- Tim


> On Fri, May 13, 2011 at 12:26 PM, Tim Bird <tim.b...@am.sony.com
> <mailto:tim.b...@am.sony.com>> wrote:
> 
>     On 05/13/2011 06:16 AM, hedwin wrote:
>     > Well, zygoto does start but after some time it just exits, and after 4
>     > times the service manager will reboot the system.
>     >
>     > There is no info in logcat or dmesg that provides any feedback
>     about why
>     > zygoto did exit.
>     >
>     > Don't think that init.rc is the problem, booting the same android
>     system
>     > with 2.6.32 is just fine.
> 
>     For startup problems, make sure to set "loglevel 7"
>     in /init.rc
> 
>     And a really good way to delve into the system is with strace.
> 
>     This should be particularly useful for this problem, since
>     it appears it's some interaction between the user-space
>     and the kernel, which is exactly what strace instruments.
>     (well... minus the page faults)
> 
>     Use it with both 2.6.32 and whatever kernel is failing,
>     and compare the results
> 
>     To use strace to trace zygote, just use it as a wrapper
>     in /init.rc.
> 
>     Change:
>     service zygote /system/bin/app_process -Xzygote /system/bin --zygote
>     --start-system-server
> 
>     to
> 
>     service zygote /system/xbin/strace -f -tt -o
>     /cache/debug/boot.strace /system/bin/app_process -Xzygote
>     /system/bin --zygote --start-system-server
> 
>     /cache/debug/boot.strace is a writable place on my hardware
>     with lots of space - you can use any output path you want.
> 
>     Then adb pull the boot.strace file to the host, and start comparing.
> 
>     I hope this helps.
>     �-- Tim
> 
>     =============================
>     Tim Bird
>     Architecture Group Chair, CE Workgroup of the Linux Foundation
>     Senior Staff Engineer, Sony Network Entertainment
>     =============================
> 
>     --
>     unsubscribe: android-kernel+unsubscr...@googlegroups.com
>     <mailto:android-kernel%2bunsubscr...@googlegroups.com>
>     website: http://groups.google.com/group/android-kernel
> 
> 
> -- 
> unsubscribe: android-kernel+unsubscr...@googlegroups.com
> website: http://groups.google.com/group/android-kernel


-- 
=============================
Tim Bird
Architecture Group Chair, CE Workgroup of the Linux Foundation
Senior Staff Engineer, Sony Network Entertainment
=============================

-- 
unsubscribe: android-kernel+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-kernel

Reply via email to