No idea, what change list or commit number did you use as codebase? <6>binder: release 1035:1035 transaction 428 out, still active <6>binder: 873:877 transaction failed 29189, size4-0 <6>binder: send failed reply for transaction 428, target dead <6>binder: release 873:1058 transaction 3556 in, still active <6>binder: send failed reply for transaction 3556 to 1093:1093 <3>init: untracked pid 1073 exited <3>init: untracked pid 1100 exited <3>init: untracked pid 1127 exited <3>init: untracked pid 1030 exited <3>init: untracked pid 1093 exited <3>init: untracked pid 1130 exited <3>init: untracked pid 1060 exited <3>init: untracked pid 1152 exited
2009/8/10 pavan savoy <[email protected]> > 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 黃強 <[email protected]> > > adb bugreport > bugreport.txt >> It contains Binder transaction log. >> >> 2009/8/10 pavan savoy <[email protected]> >> >> 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, 黃強 <[email protected]> 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 <[email protected]> >>>> >>>> >>>>> 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 <[email protected]> >>>>> 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<[email protected]> 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<[email protected]> >>>>> 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 > > > > > --~--~---------~--~----~------------~-------~--~----~ unsubscribe: [email protected] website: http://groups.google.com/group/android-porting -~----------~----~----~----~------~----~------~--~---
