Closed Bug 776742 Opened 13 years ago Closed 13 years ago

FramebufferNativeWindow doesn't implement ANativeWindow::cancelBuffer

Categories

(Core Graveyard :: Widget: Gonk, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla17

People

(Reporter: marshall, Assigned: marshall)

References

Details

Attachments

(1 file, 1 obsolete file)

On the emulator, When the b2g process tries to exit, a segfault happens when the emulator's EGL code tries to clean up it's internal buffers by calling eglCancelBuffer() -- unfortunately, ANativeWindow::cancelBuffer is not set by the FramebufferNativeWindow. This is technically an AOSP bug, but we don't currently maintain forks of either platform_frameworks_base or platform_development (where this would be ideally fixed). In the interest of maintainability, it is easy enough to set the cancelBuffer function pointer to a no-op so we can avoid segfaulting for now..
Attached patch cancelBuffer - v1 (obsolete) — Splinter Review
Attachment #645106 - Flags: review?(jones.chris.g)
I meant to say this happens in the EGL surface destructor. You can see the code in question here: egl_window_surface_t destructor: https://github.com/android/platform_development/blob/master/tools/emulator/opengl/system/egl/egl.cpp#L297 notice the missing set of cancelBuffer in FramebufferNativeWindow.cpp: https://github.com/android/platform_frameworks_base/blob/ics-plus-aosp/libs/ui/FramebufferNativeWindow.cpp#L139
Comment on attachment 645106 [details] [diff] [review] cancelBuffer - v1 >diff --git a/widget/gonk/nsWindow.cpp b/widget/gonk/nsWindow.cpp >+/* static */ int >+nsWindow::CancelBufferNoop(ANativeWindow* aWindow, ANativeWindowBuffer* aBuffer) Let's just make this a static function in this compilation unit, not part of nsWindow. r=me with that change.
Attachment #645106 - Flags: review?(jones.chris.g) → review+
Looks like this is environment related -- this definitely compiles locally in the B2G emulator config. Phil mentioned that the Tinderboxes aren't currently setup for ICS: Bug 776045
No longer blocks: 764683
Attachment #645106 - Attachment is obsolete: true
I've confirmed this build error
Depends on: 776045
* I've confirmed this build error occurs because of the GB toolchain in Tinderbox. ICS based toolchains are building this patch just fine..
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla17
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: