Closed Bug 1128548 Opened 10 years ago Closed 10 years ago

EGL problems on browser startup during Android 4.4 emulator tests, on aws only

Categories

(Testing :: General, defect)

x86_64
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: gbrown, Assigned: gbrown)

References

Details

I can now run xpcshell tests with an Android 4.4 avd running in a newer (sdk r24) emulator, on the same type of aws instances we use for Android 2.3. But all attempts to run browser-based tests in that environment consistently fail during Fennec startup. https://treeherder.mozilla.org/#/jobs?repo=try&revision=1892cdbb4594 From http://ftp.mozilla.org/pub/mozilla.org/mobile/try-builds/gbrown@mozilla.com-1892cdbb4594/try-android-api-9/try_ubuntu64_vm_mobile_test-mochitest-1-bm115-tests1-linux64-build227.txt.gz, logcat shows: 13:52:28 INFO - 01-30 16:44:52.695 W/GeckoThread( 1313): zerdatime 530755 - runGecko 13:52:28 INFO - 01-30 16:44:53.695 I/ActivityManager( 390): Displayed org.mozilla.fennec/.App: +12s686ms 13:52:28 INFO - 01-30 16:44:53.885 E/EGL_emulation( 1313): rcCreateWindowSurface returned 0 13:52:28 INFO - 01-30 16:44:53.905 E/EGL_emulation( 1313): tid 1313: eglCreateWindowSurface(631): error 0x3003 (EGL_BAD_ALLOC) 13:52:28 INFO - 01-30 16:44:53.985 W/GeckoGLController( 1313): eglCreateWindowSurface returned no surface! 13:52:28 INFO - 01-30 16:44:55.695 I/GeckoConsole( 1313): Could not read chrome manifest 'file:///data/data/org.mozilla.fennec/chrome.manifest'. 13:52:28 INFO - 01-30 16:44:55.825 E/EGL_emulation( 1313): rcCreateWindowSurface returned 0 13:52:28 INFO - 01-30 16:44:55.825 E/EGL_emulation( 1313): tid 1313: eglCreateWindowSurface(631): error 0x3003 (EGL_BAD_ALLOC) 13:52:28 INFO - 01-30 16:44:55.845 W/GeckoGLController( 1313): eglCreateWindowSurface returned no surface! 13:52:28 INFO - 01-30 16:45:21.685 E/EGL_emulation( 1313): rcCreateWindowSurface returned 0 13:52:28 INFO - 01-30 16:45:21.705 E/EGL_emulation( 1313): tid 1313: eglCreateWindowSurface(631): error 0x3003 (EGL_BAD_ALLOC) 13:52:28 INFO - 01-30 16:45:21.705 W/GeckoGLController( 1313): eglCreateWindowSurface returned no surface! 13:52:29 INFO - 01-30 16:50:22.795 I/Gecko ( 1313): Attempting load of libEGL.so 13:52:29 INFO - 01-30 16:50:22.805 D/ ( 1313): HostConnection::get() New Host Connection established 0xb8e756e0, tid 1335 13:52:29 INFO - 01-30 16:50:47.535 I/dalvikvm( 1313): threadid=3: reacting to signal 3 13:52:29 INFO - 01-30 16:50:47.795 I/dalvikvm( 1313): Wrote stack traces to '/data/anr/traces.txt' 13:52:29 INFO - 01-30 16:50:55.805 F/libc ( 1313): Fatal signal 6 (SIGABRT) at 0x00000521 (code=-6), thread 1313 (.mozilla.fennec) The emulator log shows: 13:52:29 INFO - failed to create drawable 13:52:29 INFO - Renderer error: failed to create/resize pbuffer!! 13:52:29 INFO - failed to create drawable 13:52:29 INFO - Renderer error: failed to create/resize pbuffer!! 13:52:29 INFO - failed to create drawable 13:52:29 INFO - Renderer error: failed to create/resize pbuffer!!
Ideas from chat with :snorp today: - for 2.3, graydon did something with the egl drivers; we didn't expect this to still be an issue for 4.4, but maybe we should review what was done for 2.3. - graydon talked to someone at google about similar trouble with 2.3; can we renew that conversation? - maybe a different aws configuration would help? http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html
(In reply to Geoff Brown [:gbrown] from comment #0) > The emulator log shows: > > 13:52:29 INFO - failed to create drawable > 13:52:29 INFO - Renderer error: failed to create/resize pbuffer!! This is seen in the Android 2.3 logs as well -- this part may not be significant.
There were a lot of issues in bug 910092, and I think all of them are a little different from our current problem with 4.4. The patch that made a big difference for Graydon was https://bug910092.bugzilla.mozilla.org/attachment.cgi?id=8361456, but that *should* be specific to Gingerbread, as reported at https://code.google.com/p/android/issues/detail?id=65044. I cannot find specific mention of Graydon's contact at google. There is https://bugzilla.mozilla.org/show_bug.cgi?id=910092#c167, but I interpret that as a simple reference to the patch author, for https://android.googlesource.com/platform/development/+/4e6af749d5996edd6558821a7e400427f0457306. https://bugzilla.mozilla.org/show_bug.cgi?id=910092#c178 is more conclusive and again points to "digit".
Comparison of SurfaceFlinger egl logging in different environments, in case it means something to someone: Android 2.3 on aws (works): I/SurfaceFlinger( 64): EGL informations: I/SurfaceFlinger( 64): # of configs : 104 I/SurfaceFlinger( 64): vendor : Android I/SurfaceFlinger( 64): version : 1.4 Android META-EGL I/SurfaceFlinger( 64): extensions: EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_ANDROID_image_native_buffer EGL_ANDROID_swap_rectangle I/SurfaceFlinger( 64): Client API: OpenGL ES I/SurfaceFlinger( 64): EGLSurface: 8-8-8-8, config=0x20 I/SurfaceFlinger( 64): OpenGL informations: I/SurfaceFlinger( 64): vendor : Google (VMware, Inc.) I/SurfaceFlinger( 64): renderer : Android Emulator OpenGL ES Translator (Gallium 0.4 on llvmpipe (LLVM 0x300)) I/SurfaceFlinger( 64): version : OpenGL ES-CM 1.1 (2.1 Mesa 8.0.4) I/SurfaceFlinger( 64): extensions: GL_OES_blend_func_separate GL_OES_blend_equation_separate GL_OES_blend_subtract GL_OES_byte_coordinates GL_OES_compressed_paletted_texture GL_OES_point_size_array GL_OES_point_sprite GL_OES_single_precision GL_OES_stencil_wrap GL_OES_texture_env_crossbar GL_OES_texture_mirored_repeat GL_OES_EGL_image GL_OES_element_index_uint GL_OES_draw_texture GL_OES_texture_cube_map GL_OES_draw_texture GL_OES_read_format GL_OES_framebuffer_object GL_OES_depth24 GL_OES_depth32 GL_OES_fbo_render_mipmap GL_OES_rgb8_rgba8 GL_OES_stencil1 GL_OES_stencil4 GL_OES_stencil8 GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_APPLE_texture_format_BGRA8888 GL_OES_compressed_ETC1_RGB8_texture I/SurfaceFlinger( 64): GL_MAX_TEXTURE_SIZE = 16384 I/SurfaceFlinger( 64): GL_MAX_VIEWPORT_DIMS = 16384 I/SurfaceFlinger( 64): flags = 00010000 Android 4.4 on aws (not working): I/SurfaceFlinger( 57): EGL informations: I/SurfaceFlinger( 57): vendor : Android I/SurfaceFlinger( 57): version : 1.4 Android META-EGL I/SurfaceFlinger( 57): extensions: EGL_KHR_get_all_proc_addresses EGL_ANDROID_presentation_time EGL_KHR_image_base EGL_KHR_fence_sync EGL_ANDROID_image_native_buffer I/SurfaceFlinger( 57): Client API: OpenGL_ES I/SurfaceFlinger( 57): EGLSurface: 8-8-8-8, config=0x20 I/SurfaceFlinger( 57): OpenGL ES informations: I/SurfaceFlinger( 57): vendor : Google (VMware, Inc.) I/SurfaceFlinger( 57): renderer : Android Emulator OpenGL ES Translator (Gallium 0.4 on llvmpipe (LLVM 0x300)) I/SurfaceFlinger( 57): version : OpenGL ES 2.0 (2.1 Mesa 8.0.4) I/SurfaceFlinger( 57): extensions: GL_EXT_debug_marker GL_OES_EGL_image GL_OES_depth24 GL_OES_depth32 GL_OES_element_index_uint GL_OES_texture_float GL_OES_texture_float_linear GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth_texture GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_packed_depth_stencil GL_OES_vertex_half_float I/SurfaceFlinger( 57): GL_MAX_TEXTURE_SIZE = 4096 I/SurfaceFlinger( 57): GL_MAX_VIEWPORT_DIMS = 16384 D/SurfaceFlinger( 57): Screen acquired, type=0 flinger=0xb7a72450 E/SurfaceFlinger( 57): ro.sf.lcd_density must be defined as a build property Android 4.4 on my laptop (works): I/SurfaceFlinger( 56): EGL informations: I/SurfaceFlinger( 56): vendor : Android I/SurfaceFlinger( 56): version : 1.4 Android META-EGL I/SurfaceFlinger( 56): extensions: EGL_KHR_get_all_proc_addresses EGL_ANDROID_presentation_time EGL_KHR_image_base EGL_KHR_fence_sync EGL_ANDROID_image_native_buffer I/SurfaceFlinger( 56): Client API: OpenGL_ES I/SurfaceFlinger( 56): EGLSurface: 8-8-8-8, config=0x10 I/SurfaceFlinger( 56): OpenGL ES informations: I/SurfaceFlinger( 56): vendor : Google (Intel Open Source Technology Center) I/SurfaceFlinger( 56): renderer : Android Emulator OpenGL ES Translator (Mesa DRI Intel(R) Haswell Mobile ) I/SurfaceFlinger( 56): version : OpenGL ES 2.0 (3.0 Mesa 9.2.1) I/SurfaceFlinger( 56): extensions: GL_EXT_debug_marker GL_OES_EGL_image GL_OES_depth24 GL_OES_depth32 GL_OES_element_index_uint GL_OES_texture_float GL_OES_texture_float_linear GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth_texture GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_packed_depth_stencil GL_OES_vertex_half_float I/SurfaceFlinger( 56): GL_MAX_TEXTURE_SIZE = 8192 I/SurfaceFlinger( 56): GL_MAX_VIEWPORT_DIMS = 16384
I do not see this problem on Android 4.2 or Android 4.3 on aws -- tests run OK. I *think* the same problem occurs on Android 5.0 on aws. Android 4.2 on aws (works): I/SurfaceFlinger( 37): EGL informations: I/SurfaceFlinger( 37): vendor : Android I/SurfaceFlinger( 37): version : 1.4 Android META-EGL I/SurfaceFlinger( 37): extensions: EGL_KHR_image_base EGL_KHR_fence_sync EGL_ANDROID_image_native_buffer I/SurfaceFlinger( 37): Client API: OpenGL_ES I/SurfaceFlinger( 37): EGLSurface: 8-8-8-8, config=0x20 I/SurfaceFlinger( 37): OpenGL ES informations: I/SurfaceFlinger( 37): vendor : Google (VMware, Inc.) I/SurfaceFlinger( 37): renderer : Android Emulator OpenGL ES Translator (Gallium 0.4 on llvmpipe (LLVM 0x300)) I/SurfaceFlinger( 37): version : OpenGL ES-CM 1.1 (2.1 Mesa 8.0.4) I/SurfaceFlinger( 37): extensions: GL_EXT_debug_marker GL_OES_blend_func_separate GL_OES_blend_equation_separate GL_OES_blend_subtract GL_OES_byte_coordinates GL_OES_compressed_paletted_texture GL_OES_point_size_array GL_OES_point_sprite GL_OES_single_precision GL_OES_stencil_wrap GL_OES_texture_env_crossbar GL_OES_texture_mirored_repeat GL_OES_EGL_image GL_OES_element_index_uint GL_OES_draw_texture GL_OES_texture_cube_map GL_OES_draw_texture GL_OES_read_format GL_OES_framebuffer_object GL_OES_depth24 GL_OES_depth32 GL_OES_fbo_render_mipmap GL_OES_rgb8_rgba8 GL_OES_stencil1 GL_OES_stencil4 GL_OES_stencil8 GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_APPLE_texture_format_BGRA8888 GL_OES_compressed_ETC1_RGB8_texture I/SurfaceFlinger( 37): GL_MAX_TEXTURE_SIZE = 4096 I/SurfaceFlinger( 37): GL_MAX_VIEWPORT_DIMS = 16384 x 16384 Android 4.3 on aws (works): I/SurfaceFlinger( 37): EGL informations: I/SurfaceFlinger( 37): vendor : Android I/SurfaceFlinger( 37): version : 1.4 Android META-EGL I/SurfaceFlinger( 37): extensions: EGL_KHR_image_base EGL_KHR_fence_sync EGL_ANDROID_image_native_buffer I/SurfaceFlinger( 37): Client API: OpenGL_ES I/SurfaceFlinger( 37): EGLSurface: 8-8-8-8, config=0x20 I/SurfaceFlinger( 37): OpenGL ES informations: I/SurfaceFlinger( 37): vendor : Google (VMware, Inc.) I/SurfaceFlinger( 37): renderer : Android Emulator OpenGL ES Translator (Gallium 0.4 on llvmpipe (LLVM 0x300)) I/SurfaceFlinger( 37): version : OpenGL ES-CM 1.1 (2.1 Mesa 8.0.4) I/SurfaceFlinger( 37): extensions: GL_EXT_debug_marker GL_OES_blend_func_separate GL_OES_blend_equation_separate GL_OES_blend_subtract GL_OES_byte_coordinates GL_OES_compressed_paletted_texture GL_OES_point_size_array GL_OES_point_sprite GL_OES_single_precision GL_OES_stencil_wrap GL_OES_texture_env_crossbar GL_OES_texture_mirored_repeat GL_OES_EGL_image GL_OES_element_index_uint GL_OES_draw_texture GL_OES_texture_cube_map GL_OES_draw_texture GL_OES_read_format GL_OES_framebuffer_object GL_OES_depth24 GL_OES_depth32 GL_OES_fbo_render_mipmap GL_OES_rgb8_rgba8 GL_OES_stencil1 GL_OES_stencil4 GL_OES_stencil8 GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_APPLE_texture_format_BGRA8888 GL_OES_compressed_ETC1_RGB8_texture I/SurfaceFlinger( 37): GL_MAX_TEXTURE_SIZE = 4096 I/SurfaceFlinger( 37): GL_MAX_VIEWPORT_DIMS = 16384 x 16384 Android 5.0 on aws (probably not working): I/SurfaceFlinger( 54): EGL information: I/SurfaceFlinger( 54): vendor : Android I/SurfaceFlinger( 54): version : 1.4 Android META-EGL I/SurfaceFlinger( 54): extensions: EGL_KHR_get_all_proc_addresses EGL_ANDROID_presentation_time EGL_KHR_image_base EGL_KHR_fence_sync EGL_ANDROID_image_native_buffer I/SurfaceFlinger( 54): Client API: OpenGL_ES I/SurfaceFlinger( 54): EGLSurface: 8-8-8-8, config=0x20 I/SurfaceFlinger( 54): OpenGL ES informations: I/SurfaceFlinger( 54): vendor : Google (VMware, Inc.) I/SurfaceFlinger( 54): renderer : Android Emulator OpenGL ES Translator (Gallium 0.4 on llvmpipe (LLVM 0x300)) I/SurfaceFlinger( 54): version : OpenGL ES 2.0 (2.1 Mesa 8.0.4) I/SurfaceFlinger( 54): extensions: GL_EXT_debug_marker GL_OES_EGL_image GL_OES_depth24 GL_OES_depth32 GL_OES_element_index_uint GL_OES_texture_float GL_OES_texture_float_linear GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth_texture GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_packed_depth_stencil GL_OES_vertex_half_float I/SurfaceFlinger( 54): GL_MAX_TEXTURE_SIZE = 4096 I/SurfaceFlinger( 54): GL_MAX_VIEWPORT_DIMS = 16384
btw, I have verified with logging that the eglCreateWindowSurface call fails at http://hg.mozilla.org/mozilla-central/annotate/2cb22c058add/mobile/android/base/gfx/GLController.java#l292. eglCreateWindowSurface returns EGL10.EGL_NO_SURFACE. I also built aosp_arm-eng 4.4.4 KTU84Q, added those images to the existing 4.4 avd and repeated tests on try -- they failed in just the same way.
I added logging to libegl and reproduced the failures with my aosp build. In device/generic/goldfish/opengl/system/egl/egl.cpp, in function egl_window_surface_t::init(), the call to rcCreateWindowSurface returns null; I haven't logged deeper, yet.
I noticed something interesting when comparing logs from 4.3 and 4.4 emulator tests. On 4.3, where everything works, GLController is using the 24-bit config; on 4.4, where we fail, GLController is using the 16 bit config. Consider http://hg.mozilla.org/mozilla-central/annotate/2cb22c058add/mobile/android/base/gfx/GLController.java#l245 -- we select and set mEGLConfig based only on getScreenDepth(). But my 4.3 and 4.4 avds have exactly the same screen characteristics. Hmmm. getScreenDepth() is not only dependent on screen characteristics, but also on memory: http://hg.mozilla.org/mozilla-central/annotate/38058cb42a0e/mobile/android/base/GeckoAppShell.java#l1388. Fennec's notion of a "high memory device" is ultimately based on /proc/meminfo's MemTotal. If I set the ramSize avd parameter to 256, /proc/meminfo reports: MemTotal: 253904 kB and if I increase ramSize, I see corresponding increases in MemTotal...until somewhere around 750 MB! On Android 4.4, if I set ramSize to 1024, I see: MemTotal: 765372 kB If I request 2048, I still see: MemTotal: 765372 kB I also tried using the emulator -memory parameter and the emulator -qemu -m parameter, but could not increase MemTotal beyond 765372 kB. So as far as I can tell, there's no way to configure the 4.4 emulator as a Fennec "high memory" device. On Android 4.3, the emulator memory behavior is similar, but the max is just a little higher, so it is a "high memory" device, we see a screen depth of 24 bits, we select a 24 bit egl configuration, and all is well! I hacked getScreenDepth() to ignore memory and was finally able to run a reftest to completion on 4.4!!
Geoff and I figured out that this problem is due to the goldfish (emulator) kernel not having highmem support. The clue was in the dmesg output: <5>Truncating RAM at 00000000-7fffffff to -2f7fffff (vmalloc region overlap). <5>Virtual kernel memory layout: <5> vector : 0xffff0000 - 0xffff1000 ( 4 kB) <5> fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) <5> vmalloc : 0xf0000000 - 0xff000000 ( 240 MB) <5> lowmem : 0xc0000000 - 0xef800000 ( 760 MB) <5> .text : 0xc0008000 - 0xc044a190 (4361 kB) <5> .init : 0xc044b000 - 0xc0470000 ( 148 kB) <5> .data : 0xc0470000 - 0xc04a8fc0 ( 228 kB) <5> .bss : 0xc04a9000 - 0xc05f33c8 (1321 kB) My understanding is that we may be able to get a bit more usable memory by manipulating the vmalloc size, but what we really want is to enable highmem support. We'll need to build a new kernel with that enabled.
I built a new kernel with CONFIG_HIGHMEM, replaced kernel-qemu in the avd, and re-tested on aws via try. Now requesting 2G of memory actually gives us ~2G of memory in Android (/proc/meminfo - MemTotal), Fennec no longer considers the emulator a low memory device, we select a 24 bpp egl config, and egl initialization completes without error...and I can run reftests!
Summary: EGL problems on browser startup during Android 4.4 tests → EGL problems on browser startup during Android 4.4 emulator tests, on aws only
I found information on building a kernel for Android at http://source.android.com/source/building-kernels.html. There is also information in the AOSP source tree, at external/qemu/docs/ANDROID-KERNEL.TXT There is also a script at prebuilts/qemu-kernel/arm/rebuild.sh Kernel sources are at https://android.googlesource.com/kernel/goldfish.git. I selected the current head of the android-3.4 branch, https://android.googlesource.com/kernel/goldfish/+/ea97df67176b03fafd88b91339dd59aafba8127c and used that. gbrown@mozpad:~$ git clone https://android.googlesource.com/kernel/goldfish.git goldfish Cloning into 'goldfish'... remote: Sending approximately 666.15 MiB ... remote: Counting objects: 75070, done remote: Finding sources: 100% (5052/5052) remote: Total 3092176 (delta 2575669), reused 3091321 (delta 2575669) Receiving objects: 100% (3092176/3092176), 666.77 MiB | 744.00 KiB/s, done. Resolving deltas: 100% (2587948/2587948), done. Checking connectivity... done gbrown@mozpad:~$ cd goldfish gbrown@mozpad:~$ vi arch/arm/configs/goldfish_armv7_defconfig ... add "CONFIG_HIGHMEM=y" to the end of the file gbrown@mozpad:~/goldfish$ git checkout ea97df67176b03fafd88b91339dd59aafba8127c Checking out files: 100% (38890/38890), done. Note: checking out 'ea97df67176b03fafd88b91339dd59aafba8127c'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b new_branch_name HEAD is now at ea97df6... goldfish: Enable multinetwork kernel features. gbrown@mozpad:~/goldfish$ cd .. gbrown@mozpad:~$ mkdir rebuild gbrown@mozpad:~$ cd rebuild gbrown@mozpad:~/rebuild$ cp ~/aosp/prebuilts/qemu-kernel/arm/rebuild.sh . gbrown@mozpad:~/rebuild$ export ANDROID_BUILD_TOP=/home/gbrown/aosp gbrown@mozpad:~/rebuild$ ./rebuild.sh --verbose --out-dir=/home/gbrown/rebuild --cc=/home/gbrown/aosp/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-gcc /home/gbrown/goldfish Using output directory: /home/gbrown/rebuild Using cross-toolchain prefix: /home/gbrown/aosp/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi- Using ccache program: /usr/bin/ccache Cleaning up source tree. Setting up goldfish_defconfig... ### COMMAND: make goldfish_defconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o ... LD vmlinux SYSMAP System.map SYSMAP .tmp_System.map OBJCOPY arch/arm/boot/Image Kernel: arch/arm/boot/Image is ready AS arch/arm/boot/compressed/head.o GZIP arch/arm/boot/compressed/piggy.gzip CC arch/arm/boot/compressed/misc.o CC arch/arm/boot/compressed/decompress.o CC arch/arm/boot/compressed/string.o SHIPPED arch/arm/boot/compressed/lib1funcs.S SHIPPED arch/arm/boot/compressed/ashldi3.S AS arch/arm/boot/compressed/lib1funcs.o AS arch/arm/boot/compressed/ashldi3.o AS arch/arm/boot/compressed/piggy.gzip.o LD arch/arm/boot/compressed/vmlinux OBJCOPY arch/arm/boot/zImage Kernel: arch/arm/boot/zImage is ready Copying goldfish_armv7_defconfig binaries to /home/gbrown/rebuild. Done. gbrown@mozpad:~/rebuild$ cp kernel-qemu-armv7 ~/.android/avd/test-arm442.avd/kernel-qemu Before: gbrown@mozpad:~/aosp/prebuilts/qemu-kernel/arm$ dd if=kernel-qemu-armv7 bs=1 skip=$(LC_ALL=C grep -a -b -o $'\x1f\x8b\x08\x00\x00\x00\x00\x00' kernel-qemu-armv7 | cut -d ':' -f 1) | zgrep -a 'Linux version' Linux version 3.4.0-gd853d22 (nnk@nnk.mtv.corp.google.com) (gcc version 4.6.x-google 20120106 (prerelease) (GCC) ) #1 PREEMPT Tue Jul 9 17:46:46 PDT 2013 After: gbrown@mozpad:~/rebuild$ dd if=kernel-qemu-armv7 bs=1 skip=$(LC_ALL=C grep -a -b -o $'\x1f\x8b\x08\x00\x00\x00\x00\x00' kernel-qemu-armv7 | cut -d ':' -f 1) | zgrep -a 'Linux version' Linux version 3.4.67-gea97df6-dirty (gbrown@mozpad) (gcc version 4.6.x-google 20120106 (prerelease) (GCC) ) #1 PREEMPT Wed Feb 11 22:53:22 MST 2015
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
According to the history log of the prebuilt kernel in aosp 4.4.2_r2, it is based on kernel revision 6dff53caa619cef08ef4cfae48d3f186b0568a0f. http://androidxref.com/4.4.2_r2/history/prebuilts/qemu-kernel/arm/kernel-qemu-armv7 That seems a "safer" choice: git checkout 6dff53caa619cef08ef4cfae48d3f186b0568a0f ... gbrown@mozpad:~/rebuild$ dd if=kernel-qemu-armv7 bs=1 skip=$(LC_ALL=C grep -a -b -o $'\x1f\x8b\x08\x00\x00\x00\x00\x00' kernel-qemu-armv7 | cut -d ':' -f 1) | zgrep -a 'Linux version' Linux version 3.4.0-g6dff53c-dirty (gbrown@mozpad) (gcc version 4.6.x-google 20120106 (prerelease) (GCC) ) #1 PREEMPT Sun Feb 15 11:05:59 MST 2015
Additional experience in bug 1062365 suggests that the same issues arise on Android 4.3 if and only if it is run with a 3.4 kernel: It looks like this is not so much a problem with Android 4.4 as it is a problem with the 3.4 kernel.
You need to log in before you can comment on or make changes to this bug.