How do I trace and resolve Android App’s BLASTBufferQueue Faking releaseBufferCallback?

Here are some of the findings I got related to this issue.

1) What is BlastBufferQueue?

I believe this must be happening in Android S and above and that too after december update 2022.
BlastBufferQueue is kind of message queue, where the geometry of the app layout window changes ,it will be submitted to Android platform’s surface renderer. The buffers sent by multiple application will be synchronized.

Prior to Android S , the changes will be posted through Transaction. Here the buffers are not synchronized when they are sent from multiple app process.

This BlastBufferQueue helps to open up connection between buffers sent from multiple app process.

Links to know more about BBQ:

https://www.jianshu.com/p/50a30fa6952e

https://www.jianshu.com/p/cdc60627df90

enter image description here

Here is the below code where the blastbuffer is getting update from ViewRootImpl.

enter image description here
Source Link

2) Root cause of the log.

I got able to find the commit where this particular log is added.

Link to Commit

This was a fix for issue where ANR occurred where the view transactions gets updated but the buffer callback was never released(In some cases). So this commit was workaround to fake releasing the buffer callback, when TransactionCompleteCallback is completed.

enter image description here

In this commit , it has been mentioned that it was a safe work around. The root issue linked in commit is private.
This is the commit change where android team have added to fake release the buffer callback. This reason you might be getting this log.

Finally, to summarise this log can be safely ignored.

EDIT:
I see some people having fatal crashes because of this due to some overflow. We have to wait for a fix for the issue raised by Greg.
Temporarily , the logs can be made silent in Logcat Window. Please refer to the comments under the Question.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)