Is there a way I get to know the pid's for which the transaction is failing
?
Since this is at android runtime start - I don't get actually a chance to do
a ps ?
Any ideas ?

And I don;t think the pid is something which was already running, i.e I did
a ps and none of the pid's for which binder transaction failed were listed.

binder: 1083:1236 transaction failed 29189, size104-4

2009/8/11 pavan savoy <pavan.sa...@gmail.com>

> Any clues ??
>
> regards,
> Pavan
>
> 2009/8/10 pavan savoy <pavan.sa...@gmail.com>
>
>> Hi,
>>
>> find attached the bug-report. Nick's patch is in place. I checked the
>> source code.
>> [find 'START' in bug-report to find my cause of restart]
>> android_server_BluetoothEventLoop.cpp does have the changes mentioned in
>> patch.
>> [git log -- didn't tell me much - probably because we are on a mirror of
>> donut...]
>>
>> Also, just to repeat myself -- It is happening only when both hsp/hfp and
>> a2dp are being tried.
>> Not sure - if it's got anything to do with restart.
>>
>> regards,
>> Pavan
>>
>>
>> 2009/8/10 黃強 <shawnjoh...@gmail.com>
>>
>> adb bugreport > bugreport.txt
>>> It contains Binder transaction log.
>>>
>>> 2009/8/10 pavan savoy <pavan.sa...@gmail.com>
>>>
>>> Yes - does seem a binder error. As far as I remember dmesg didn't show me
>>>> anything different from the one which came on the logcat !!
>>>> < I suppose it was the kernel message which came -- I ran it on console
>>>> and not on adb>
>>>>
>>>> It does always happen only the 1st time !! - When I suppose the Settings
>>>> app is trying to read something from /data ? userdata or cache which has 
>>>> not
>>>> yet been created ?
>>>> Hence causing an exception -- and android restart !!
>>>>
>>>> Anyways How do I generate a bugreport ?
>>>>
>>>> regards,
>>>> Pavan
>>>>
>>>>
>>>> On Sat, Aug 8, 2009 at 12:46 AM, 黃強 <shawnjoh...@gmail.com> wrote:
>>>>
>>>>> It's not Binder error? If it's dbus issue, why did the log show
>>>>> Binder transaction failed?
>>>>> Pavan, do you have bugreport or last_kmsg? Is it related to Binder
>>>>> failure?
>>>>>
>>>>> 2009/8/8 Nick Pelly <npe...@google.com>
>>>>>
>>>>>
>>>>>> JK just pointed out to me that this might be a DBUS failure that we
>>>>>> fixed a while back.
>>>>>>
>>>>>> Can you make sure you have this patch in your build?
>>>>>>
>>>>>>
>>>>>> commit 4a364130fb072bf44367e537f8d24e7e00c6ca69
>>>>>> Author: Nick Pelly <npe...@google.com>
>>>>>> Date:   Thu Jun 18 15:05:34 2009 -0700
>>>>>>
>>>>>>    Fix runtime restarts due to sending the wrong flags to dbus.
>>>>>>
>>>>>>    In eventLoopMain we were correctly translating from unix events to
>>>>>> dbus flags,
>>>>>>    but a coding typo then gave the unix events to dbus. Fix this typo.
>>>>>>
>>>>>>    Also noticed that we were passing raw dbus flags to poll() in
>>>>>> another area.
>>>>>>    This did not cause any immediate problem, since POLLIN | POLLPRI is
>>>>>> harmless
>>>>>>    and we do not usually need POLLOUT. But fixed anyway.
>>>>>>
>>>>>> diff --git a/core/jni/android_server_BluetoothEventLoop.cpp
>>>>>> b/core/jni/android_server_BluetoothEventLoop.cpp
>>>>>> index ff8f28a..ad24136 100644
>>>>>> --- a/core/jni/android_server_BluetoothEventLoop.cpp
>>>>>> +++ b/core/jni/android_server_BluetoothEventLoop.cpp
>>>>>> @@ -162,6 +162,19 @@ static const DBusObjectPathVTable agent_vtable =
>>>>>> {
>>>>>>     NULL, agent_event_filter, NULL, NULL, NULL, NULL
>>>>>>  };
>>>>>>
>>>>>> +static unsigned int unix_events_to_dbus_flags(short events) {
>>>>>> +    return (events & DBUS_WATCH_READABLE ? POLLIN : 0) |
>>>>>> +           (events & DBUS_WATCH_WRITABLE ? POLLOUT : 0) |
>>>>>> +           (events & DBUS_WATCH_ERROR ? POLLERR : 0) |
>>>>>> +           (events & DBUS_WATCH_HANGUP ? POLLHUP : 0);
>>>>>> +}
>>>>>> +
>>>>>> +static short dbus_flags_to_unix_events(unsigned int flags) {
>>>>>> +    return (flags & POLLIN ? DBUS_WATCH_READABLE : 0) |
>>>>>> +           (flags & POLLOUT ? DBUS_WATCH_WRITABLE : 0) |
>>>>>> +           (flags & POLLERR ? DBUS_WATCH_ERROR : 0) |
>>>>>> +           (flags & POLLHUP ? DBUS_WATCH_HANGUP : 0);
>>>>>> +}
>>>>>>
>>>>>>  static jboolean setUpEventLoop(native_data_t *nat) {
>>>>>>     LOGV(__FUNCTION__);
>>>>>> @@ -385,8 +398,7 @@ static void handleWatchAdd(native_data_t *nat) {
>>>>>>     read(nat->controlFdR, &newFD, sizeof(int));
>>>>>>     read(nat->controlFdR, &flags, sizeof(unsigned int));
>>>>>>     read(nat->controlFdR, &watch, sizeof(DBusWatch *));
>>>>>> -    int events = (flags & DBUS_WATCH_READABLE ? POLLIN : 0)
>>>>>> -            | (flags & DBUS_WATCH_WRITABLE ? POLLOUT : 0);
>>>>>> +    short events = dbus_flags_to_unix_events(flags);
>>>>>>
>>>>>>     for (int y = 0; y<nat->pollMemberCount; y++) {
>>>>>>         if ((nat->pollData[y].fd == newFD) &&
>>>>>> @@ -430,8 +442,7 @@ static void handleWatchRemove(native_data_t *nat)
>>>>>> {
>>>>>>
>>>>>>     read(nat->controlFdR, &removeFD, sizeof(int));
>>>>>>     read(nat->controlFdR, &flags, sizeof(unsigned int));
>>>>>> -    int events = (flags & DBUS_WATCH_READABLE ? POLLIN : 0)
>>>>>> -            | (flags & DBUS_WATCH_WRITABLE ? POLLOUT : 0);
>>>>>> +    short events = dbus_flags_to_unix_events(flags);
>>>>>>
>>>>>>     for (int y = 0; y < nat->pollMemberCount; y++) {
>>>>>>         if ((nat->pollData[y].fd == removeFD) &&
>>>>>> @@ -495,13 +506,12 @@ static void *eventLoopMain(void *ptr) {
>>>>>>                     }
>>>>>>                 }
>>>>>>             } else {
>>>>>> -                  int event = nat->pollData[i].revents;
>>>>>> -                  int flags = (event & POLLIN ? DBUS_WATCH_READABLE :
>>>>>> 0) |
>>>>>> -                              (event & POLLOUT ? DBUS_WATCH_WRITABLE
>>>>>> : 0);
>>>>>> -                  dbus_watch_handle(nat->watchData[i], event);
>>>>>> -                  nat->pollData[i].revents = 0;
>>>>>> -                  // can only do one - it may have caused a 'remove'
>>>>>> -                  break;
>>>>>> +                short events = nat->pollData[i].revents;
>>>>>> +                unsigned int flags =
>>>>>> unix_events_to_dbus_flags(events);
>>>>>> +                dbus_watch_handle(nat->watchData[i], flags);
>>>>>> +                nat->pollData[i].revents = 0;
>>>>>> +                // can only do one - it may have caused a 'remove'
>>>>>> +                break;
>>>>>>             }
>>>>>>         }
>>>>>>         while (dbus_connection_dispatch(nat->conn) ==
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Fri, Aug 7, 2009 at 9:41 AM, Nick Pelly<npe...@google.com> wrote:
>>>>>> > Hi,
>>>>>> >
>>>>>> > Sorry for the late reply,
>>>>>> >
>>>>>> > This is a really strange failure log. We have never seen this
>>>>>> before.
>>>>>> > Sorry I know that is not very useful :(
>>>>>> >
>>>>>> > Nick
>>>>>> >
>>>>>> > On Wed, Jul 29, 2009 at 7:01 AM, pavan savoy<pavan.sa...@gmail.com>
>>>>>> wrote:
>>>>>> >> Hi,
>>>>>> >>
>>>>>> >> On the donut branch - a2dp connection the first time, when userdata
>>>>>> and
>>>>>> >> cache is empty always seem to fail - resulting in restart of whole
>>>>>> android.
>>>>>> >> Is android trying to read in some-parameter from userdata/cache
>>>>>> which hasn't
>>>>>> >> been created yet ?
>>>>>> >>
>>>>>> >> find below the logs, [also attached the complete log file]
>>>>>> >>
>>>>>> >> I/BT HSHFP( 1083): Successful RFCOMM socket connect.
>>>>>> >> D/BT HSHFP( 1083): RFCOMM connection attempt took 1775 ms
>>>>>> >> D/BT HSHFP( 1083): Rfcomm connected
>>>>>> >> D/BT HSHFP( 1083): Headset state 1 -> 2, result = 1
>>>>>> >> D/BluetoothA2dpService(  931): connectSink(00:13:17:72:30:B9)
>>>>>> >> I/Bluetooth AT recv( 1083): AT+BRSF=27
>>>>>> >> I/Bluetooth AT sent( 1083): +BRSF: 99
>>>>>> >> I/Bluetooth AT sent( 1083): OK
>>>>>> >> D/BluetoothA2dpService(  931): new bluez sink: 00:13:17:72:30:B9
>>>>>> >> (/org/bluez/audio/device0)
>>>>>> >> binder: release 931:936 transaction 4665 in, still active
>>>>>> >> binder: send failed reply for transaction 4665 to 1083:1083
>>>>>> >> binder: release 931:1099 transaction 4664 in, still active
>>>>>> >> binder: send failed reply for transaction 4664 to 1153:1153
>>>>>> >> E/BluetoothDevice( 1083):
>>>>>> >> E/BluetoothDevice( 1083): android.os.DeadObjectException
>>>>>> >> E/BluetoothDevice( 1083): \0x09at
>>>>>> android.os.BinderProxy.transact(Native
>>>>>> >> Method)
>>>>>> >> E/BluetoothDevice( 1083): \0x09at
>>>>>> >>
>>>>>> android.bluetooth.IBluetoothDevice$Stub$Proxy.getRemoteName(IBluetoothDevice.java:991)
>>>>>> >> binder: 1083:1236 transaction failed 29189, size104-4
>>>>>> >> .......
>>>>>> >> E/BluetoothDevice( 1083): \0x09at
>>>>>> >>
>>>>>> com.android.phone.BluetoothHandsfree.configAudioParameters(BluetoothHandsfree.java:270)
>>>>>> >> E/BluetoothDevice( 1083): \0x09at
>>>>>> >>
>>>>>> com.android.phone.BluetoothHandsfree.connectHeadset(BluetoothHandsfree.binder:
>>>>>> >> 1083:1083 transaction failed 29189, size120-0
>>>>>> >> java:232)
>>>>>> >> E/BluetoothDevice( 1083): \0x09at
>>>>>> >>
>>>>>> com.android.phone.BluetoothHandsfree.connectHeadset(BluetoothHandsfree.binder:
>>>>>> >> 1083:1083 transaction failed 29189, size120-0
>>>>>> >> java:232)
>>>>>> >> E/BluetoothDevice( 1083): \0x09at
>>>>>> >>
>>>>>> com.android.phone.BluetoothHeadsetService$6.handleMessage(BluetoothHeadsetService.java:466)
>>>>>> >> E/BluetoothDevice( 1083): \0x09at
>>>>>> >> android.os.Handler.dispatchMessage(Handler.java:99)
>>>>>> >> ......
>>>>>> >> E/BluetoothDevice( 1083): \0x09at
>>>>>> >>
>>>>>> com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
>>>>>> >> E/BluetoothDevice( 1083): \0x09at
>>>>>> >> com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
>>>>>> >> E/BluetoothDevice( 1083): \0x09at
>>>>>> dalvik.system.NativeStart.main(Native
>>>>>> >> Method)
>>>>>> >> I/ActivityThread( 1204): Removing dead content provider: settings
>>>>>> >> I/ActivityThread( 1186): Removing dead content provider: settings
>>>>>> >> I/ActivityThread( 1177): Removing dead content provider: settings
>>>>>> >> I/ActivityThread( 1107): Removing dead content provider:
>>>>>> settingsinit:
>>>>>> >> untracked pid 1120 exited
>>>>>> >>
>>>>>> >> I/ActivityThread( 1153): Removing dead content provider: settings
>>>>>> >> I/ServiceManager(  871): service 'battery' died
>>>>>> >> I/ServiceManager(  871): service 'hardware' died
>>>>>> >> I/ServiceManager(  871): service 'activity.senders' died
>>>>>> >> I/ServiceManager(  871): service 'meminfo' died
>>>>>> >> I/ServiceManager(  871): service 'cpuinfo' died
>>>>>> >> I/ServiceManager(  871): service 'isms' died
>>>>>> >> I/ServiceManager(  871): service 'simphonebook' died
>>>>>> >> I/ServiceManager(  871): service 'iphonesubinfo' died
>>>>>> >> I/ServiceManager(  871): service 'phone' died
>>>>>> >> D/AndroidRuntime( 1239):
>>>>>> >> D/AndroidRuntime( 1239): >>>>>>>>>>>>>> AndroidRuntime START
>>>>>> <<<<<<<<<<<<<<
>>>>>> >>
>>>>>> >>
>>>>>> >> --
>>>>>> >> --Pavan Savoy
>>>>>> >>
>>>>>> >>
>>>>>> >> >>
>>>>>> >>
>>>>>> >
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> --Pavan Savoy
>>>>
>>>>
>>>>
>>>>
>>>
>>> >>>
>>>
>>
>>
>> --
>> --Pavan Savoy
>>
>>
>
>
> --
> --Pavan Savoy
>
>


-- 
--Pavan Savoy

--~--~---------~--~----~------------~-------~--~----~
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting
-~----------~----~----~----~------~----~------~--~---

Reply via email to