2014-05-24, 18:22
Hi all,
I built my own XBMC with the help of Buildroot, I'm currently trying to bump XBMC's version to Gotham, and I have a crash.
I build fine using the latests rpi-userland code along with XBMC's tag 13.0-Gotham.
Everything goes smoothly until I get to the Settings menu, or if a folder gets its icon displayed (don't know If I'm really clear here), it crashes with this message:
assertion failure:/path/to/rpi-userland_source/interface/khronos/egl/egl_client_surface.c:331:egl_surface_create():width > 0 && height > 0
After digging and bisecting XBMC's code, I got this bit of information:
Starting from the tag 12.3-Frodo where everything is working fine.
I reach 53b958aa26bd53553323bf52b0488f71ea6f6f7b and I get this assert when XBMC starts, so I can't do anything.
At this changeset af8a18a1afd09266fc71a63d28274cc31afdbd8f it works again fine apart from the menu settings (and maybe other menu, I did not try other menu). When I enter this menu, XBMC crash with this assert.
After some digging, I found that it seemed to came from:
xbmc/cores/omxplayer/OMXImage.cpp in the function 'void COMXImage::CreateContext()' where the egl function 'eglCreatePbufferSurface' is called.
When I looked at the code of 'eglCreatePbufferSurface' in interface/khronos/egl/egl_client.c, I noticed that width and height are initialized with a value of 0. And it doesn't seems to be changed anywhere. So when egl_surface_create() gets called, the assert is thrown.
If I set width and height to 1 as their initial value, it's working, but this seems really hackish and I'm pretty sure the bug is in XBMC and not in the rpi-userland's code.
Here's a debug.log leading to the crash: http://xbmclogs.com/show.php?id=209516
I'd really like to find that one, it's been a full day that I'm looking at it, but I'm really clueless at what's going on.
Thanks a lot !
I built my own XBMC with the help of Buildroot, I'm currently trying to bump XBMC's version to Gotham, and I have a crash.
I build fine using the latests rpi-userland code along with XBMC's tag 13.0-Gotham.
Everything goes smoothly until I get to the Settings menu, or if a folder gets its icon displayed (don't know If I'm really clear here), it crashes with this message:
assertion failure:/path/to/rpi-userland_source/interface/khronos/egl/egl_client_surface.c:331:egl_surface_create():width > 0 && height > 0
After digging and bisecting XBMC's code, I got this bit of information:
Starting from the tag 12.3-Frodo where everything is working fine.
I reach 53b958aa26bd53553323bf52b0488f71ea6f6f7b and I get this assert when XBMC starts, so I can't do anything.
At this changeset af8a18a1afd09266fc71a63d28274cc31afdbd8f it works again fine apart from the menu settings (and maybe other menu, I did not try other menu). When I enter this menu, XBMC crash with this assert.
After some digging, I found that it seemed to came from:
xbmc/cores/omxplayer/OMXImage.cpp in the function 'void COMXImage::CreateContext()' where the egl function 'eglCreatePbufferSurface' is called.
When I looked at the code of 'eglCreatePbufferSurface' in interface/khronos/egl/egl_client.c, I noticed that width and height are initialized with a value of 0. And it doesn't seems to be changed anywhere. So when egl_surface_create() gets called, the assert is thrown.
If I set width and height to 1 as their initial value, it's working, but this seems really hackish and I'm pretty sure the bug is in XBMC and not in the rpi-userland's code.
Here's a debug.log leading to the crash: http://xbmclogs.com/show.php?id=209516
I'd really like to find that one, it's been a full day that I'm looking at it, but I'm really clueless at what's going on.
Thanks a lot !