Hi Alexey, here is my logcat after removing the locks from gralloc:
I/SurfaceFlinger( 651): SurfaceFlinger is starting I/SurfaceFlinger( 651): SurfaceFlinger's main thread ready to run. Initializing graphics H/W... Clock CLCDCLK: setting VCO reg params: S=1 R=99 V=98 Clock CLCDCLK: setting VCO reg params: S=1 R=99 V=98 W/gralloc ( 651): page flipping not supported (yres_virtual=480, requested=960) I/gralloc ( 651): using (fd=23) I/gralloc ( 651): id = CLCD FB I/gralloc ( 651): xres = 320 px I/gralloc ( 651): yres = 480 px I/gralloc ( 651): xres_virtual = 320 px I/gralloc ( 651): yres_virtual = 480 px I/gralloc ( 651): bpp = 16 I/gralloc ( 651): r = 0:5 I/gralloc ( 651): g = 5:6 I/gralloc ( 651): b = 11:5 I/gralloc ( 651): width = 51 mm (159.372543 dpi) I/gralloc ( 651): height = 76 mm (160.421051 dpi) I/gralloc ( 651): refresh rate = 125.36 Hz E/FramebufferNativeWindow( 651): xDpi -2046820352 E/FramebufferNativeWindow( 651): yDpi -2046820352 D/libEGL ( 651): egl.cfg not found, using default config D/libEGL ( 651): loaded /system/lib/egl/libGLES_android.so I/SurfaceFlinger( 651): EGL informations: I/SurfaceFlinger( 651): # of configs : 8 I/SurfaceFlinger( 651): vendor : Android I/SurfaceFlinger( 651): version : 1.4 Android META-EGL I/SurfaceFlinger( 651): extensions: EGL_KHR_image EGL_KHR_image_base EGL_KHR_im age_pixmap EGL_ANDROID_image_native_buffer EGL_ANDROID_swap_rectangle EGL_ANDROI D_get_render_buffer I/SurfaceFlinger( 651): Client API: OpenGL ES I/SurfaceFlinger( 651): EGLSurface: 5-6-5-0, config=0x1000000 I/SurfaceFlinger( 651): flags : 001c0000 W/SurfaceFlinger( 651): ro.sf.lcd_density not defined, using 160 dpi by default I/SurfaceFlinger( 651): OpenGL informations: I/SurfaceFlinger( 651): vendor : Android I/SurfaceFlinger( 651): renderer : Android PixelFlinger 1.1 I/SurfaceFlinger( 651): version : OpenGL ES-CM 1.0 I/SurfaceFlinger( 651): extensions: GL_OES_byte_coordinates GL_OES_fixed_point GL_OES_single_precision GL_OES_read_format GL_OES_compressed_paletted_texture GL _OES_draw_texture GL_OES_matrix_get GL_OES_query_matrix GL_OES_EGL_image GL_ARB_ texture_compression GL_ARB_texture_non_power_of_two GL_ANDROID_user_clip_plane G L_ANDROID_vertex_buffer_object GL_ANDROID_generate_mipmap I/sysproc ( 651): System server: starting Android runtime. I/sysproc ( 651): System server: starting Android services. I/SystemServer( 651): Entered the Android system server! init: no such service 'bootanim' I/SystemServer( 651): Entropy Service I/SystemServer( 651): Power Manager I/SystemServer( 651): Activity Manager I/sysproc ( 651): System server: entering thread pool. I/ActivityManager( 651): Memory class: 16 W/UsageStats( 651): Usage stats version changed; dropping W/dalvikvm( 651): threadid=19: thread exiting with uncaught exception (group=0x 4001b168) E/AndroidRuntime( 651): Uncaught handler: thread ActivityManager exiting due to uncaught exception E/AndroidRuntime( 651): *** EXCEPTION IN SYSTEM PROCESS. System will crash. E/AndroidRuntime( 651): java.lang.NumberFormatException: unable to parse '' as integer E/AndroidRuntime( 651): at java.lang.Integer.parseInt (Integer.java:353) E/AndroidRuntime( 651): at java.lang.Integer.parseInt (Integer.java:323) E/AndroidRuntime( 651): at java.lang.Integer.valueOf (Integer.java:666) E/AndroidRuntime( 651): at com.android.server.am.ActivityManagerService. <init>(ActivityManagerService.java:1470) E/AndroidRuntime( 651): at com.android.server.am.ActivityManagerService. <init>(ActivityManagerService.java:126) E/AndroidRuntime( 651): at com.android.server.am.ActivityManagerService$ AThread.run(ActivityManagerService.java:1307) E/AndroidRuntime( 651): Crash logging skipped, no checkin service I/Process ( 651): Sending signal. PID: 651 SIG: 9 I/ServiceManager( 553): service 'SurfaceFlinger' died I/ServiceManager( 553): service 'entropy' died I/ServiceManager( 553): service 'power' died I/Zygote ( 650): Exit zygote because system server (651) has terminated request_suspend_state: wakeup (0->0) at 58135894000 (1970-01-01 00:00:59.1747180 00 UTC) D/AndroidRuntime( 671): Regards, Achim On Nov 22, 6:04 pm, Alexey Roslyakov <[email protected]> wrote: > Yes, it's mot safe, we also must add lock&&unlock before and after > call to gralloc_alloc_buffer in function gralloc_alloc. But I guess > your uncaught exception is essentially another problem, not gralloc- > deadlock-related one. > Can you post logcat? > > On 21 ноя, 13:08, AchimNohl <[email protected]> wrote: > > > > > Hi Alexey, > > > > solution is simple: just remove lock&&unlock of mutex. > > > it is locked before (in the same thread), so deadlock occurs. > > > this does not seem to be safe. I have tried that and got beyond the > > point. But now the system crashes later with an uncaught exception in > > thread 19 PID 419 in my case. It is comeing somewhere from the dvm. > > Android will report a EXCEPTION IN SYSTEM PROCESS and will die. I > > rather think we have to find the solution for the deadlock. > > > Regards, > > Achim- Hide quoted text - > > - Show quoted text - -- unsubscribe: [email protected] website: http://groups.google.com/group/android-porting
