Add error message for hints when exceptions occur during binder transactions.

It can help to detect some kind of error, such as why GraphicBuffer::flatten
will crash when handle is null.

Change-Id: I703cd035b96edb7afb324cf24d8230d4e55f4f52
Signed-off-by: Jun Jiang <jun.a.jiang@intel.com>
This commit is contained in:
Jun Jiang 2014-04-29 14:22:10 +08:00
parent 108ed9fa94
commit abf8a2c608
1 changed files with 6 additions and 1 deletions

View File

@ -25,6 +25,7 @@
#include <binder/ProcessState.h>
#include <binder/TextOutput.h>
#include <errno.h>
#include <utils/Debug.h>
#include <utils/Log.h>
#include <utils/String8.h>
@ -1229,7 +1230,11 @@ status_t Parcel::read(FlattenableHelperInterface& val) const
status_t err = NO_ERROR;
for (size_t i=0 ; i<fd_count && err==NO_ERROR ; i++) {
fds[i] = dup(this->readFileDescriptor());
if (fds[i] < 0) err = BAD_VALUE;
if (fds[i] < 0) {
err = BAD_VALUE;
ALOGE("dup() failed in Parcel::read, i is %d, fds[i] is %d, fd_count is %d, error: %s",
i, fds[i], fd_count, strerror(errno));
}
}
if (err == NO_ERROR) {