Closed Bug 997500 Opened 12 years ago Closed 12 years ago

[Tarako] Tapping any element spawns a flood of gralloc errors: gralloc_unregister_buffer(const gralloc_module_t*, const native_handle_t*)

Categories

(Firefox OS Graveyard :: Vendcom, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(blocking-b2g:1.3T+, b2g-v1.3T fixed)

RESOLVED FIXED
blocking-b2g 1.3T+
Tracking Status
b2g-v1.3T --- fixed

People

(Reporter: tchung, Assigned: ying.xu)

Details

(Whiteboard: [POVB])

Attachments

(1 file)

Attached file logcat
Tapping any elements on the screen (calendar, home button, etc..) spawns a flood of gralloc_unregister_buffer errors. i'm concerned that these gralloc buffers never get freed up and will OOM the device quickly. /cc mwu for further comments. logcat snippet ************ 04-16 16:40:04.660: E/[Gralloc-ERROR](84): int gralloc_unregister_buffer(const gralloc_module_t*, const native_handle_t*):274 Trying to unregister buffer 0x47a0bb50 from process 84 that was not created in current process: 84 04-16 16:40:04.660: E/[Gralloc-ERROR](84): int gralloc_unregister_buffer(const gralloc_module_t*, const native_handle_t*):274 Trying to unregister buffer 0x47a0bab0 from process 84 that was not created in current process: 84 04-16 16:40:04.660: E/[Gralloc-ERROR](84): int gralloc_unregister_buffer(const gralloc_module_t*, const native_handle_t*):274 Trying to unregister buffer 0x47804a60 from process 84 that was not created in current process: 84 04-16 16:40:04.660: E/[Gralloc-ERROR](84): int gralloc_unregister_buffer(const gralloc_module_t*, const native_handle_t*):274 Trying to unregister buffer 0x46332d80 from process 84 that was not created in current process: 84 Repro: 1) install 1.3T nightly user build on Tarako Gaia 718a06816327fcb6a18095f677cfff4b86adc292 Gecko https://hg.mozilla.org/releases/mozilla-b2g28_v1_3t/rev/9ef12c19ddc9 BuildID 20140416004007 Version 28.1 ro.build.version.incremental=215 2) tap any element on the screen (ie. contacts app, dialer app, browser, etc..) 3) watch logcat and verify gralloc_unregister_buffer errors Expected: - no gralloc_unregister_buffer errors
Component: Hardware → Vendcom
This comes from sprd/common/libs/gralloc/gralloc_module.cpp in gralloc_unregister_buffer. It suggests that we're not unregistering gralloc buffers, which seems bad. The check that says |else if (hnd->pid != getpid())| seems to be inverted according to the comment on that line.
Assignee: nobody → ying.xu
ying, please check this log with our graphic team and remove it.
(In reply to Michael Wu [:mwu] from comment #1) > This comes from sprd/common/libs/gralloc/gralloc_module.cpp in > gralloc_unregister_buffer. It suggests that we're not unregistering gralloc > buffers, which seems bad. The check that says |else if (hnd->pid != > getpid())| seems to be inverted according to the comment on that line. Please refer the register interface here. There would no graphic buffer that allocated and registered in the same process. registering the buffer handle would return directly. This make unregister interface be reasonable. static int gralloc_register_buffer(gralloc_module_t const* module, buffer_handle_t handle) { // if this handle was created in this process, then we keep it as is. private_handle_t* hnd = (private_handle_t*)handle; if (hnd->pid == getpid()) //here { AERR("Unable to register handle 0x%x coming from different process: %d", (unsigned int)hnd, hnd->pid ); return 0; }
commit 4d37004047ef9f6fbde01213a7f8336845aac859 Author: ying.xu <ying.xu@spreadtrum.com> Date: Fri Apr 18 10:23:22 2014 +0800 Bug#302801 remove error logs in graphic module [self test ] boot to homescreen Change-Id: Iee58ab1f16e5497fb4776ebfafd8350e0f181686
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
triage: give 1.3T already fixed by partner. 1.3T+
blocking-b2g: 1.3T? → 1.3T+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: