andreasgal/B2G — Issue #186: framebuffer can't be initialized after unclean process exit on akami
Author: andreasgal
Created: 2012-02-19 09:02:35+00:00
State: open

(1)

I am seeing failures to open the frame buffer when the gecko process was killed while the display is off and gecko restarts

D/msm7k.gralloc( 460): splash screen display
E/FramebufferNativeWindow( 460): couldn't open framebuffer HAL (No such file or directory)

In FramebufferNativeWindow.cpp:

err = framebuffer_open(module, &fbDev);
LOGE_IF(err, "couldn't open framebuffer HAL (%s)", strerror(-err));

This eventually leads to a startup crash because the window is accessed anyway:

319 static inline int native_window_set_buffers_geometry(
320 ANativeWindow* window,
321 int w, int h, int format)
322 {
323 return window->perform(window, NATIVE_WINDOW_SET_BUFFERS_GEOMETRY,
324 w, h, format);

I think this is a bug in toro code. I am guessing the frame buffer is in some wedged semi-open state, and
framebuffer_open refused to open it again. Samsung's code in the Galaxy S2 doesn't have this problem.