Hi Gary, For your experience on BusAttachment::LeaveHostedSession causing the Windows router service to malfunction, do you have a test application I can use to try to debug? Better yet, if you're familiar with windbg, please attach the debugger to the router service (you can use -p option) while it is in bad state and capture the process memory dump (using .dump /mfh memory.dmp command in windbg). From glancing at LeaveHostedSession handler, it appears the router is doing a lot of things here under lock and it's possible that other I/O's end up waiting on the same lock. A full process memory dump would definitely help. Also please see if using the asynchronous version of these session APIs make a difference.
For early SessionLost issue, you might be hitting a side effect of how AllJoyn implements ARDP protocol (over UDP). I believe if a remote RN, connected via UDP, isn't responding to the ARDP keep-alive packets fast enough (and this is originated by the app's RN), the app's RN would give up and send SessionLost notifications to its LNs. Also unlike TCP, the UDP transport makes the app's link timeout obsolete since it enforces the bus-to-bus timeouts, which is much shorter than the minimum application's link timeout allowed (40s). For both issues, could you please file Jira tickets<https://jira.allseenalliance.org/projects/ASACORE> to track? Thanks, Way From: [email protected] [mailto:[email protected]] On Behalf Of Poole, Gary Sent: Wednesday, June 15, 2016 12:02 PM To: [email protected] Cc: Cazier, Robb P (CEPS SW Development) <[email protected]>; Blayney, Jeff <[email protected]>; Singh, Baljit ((PPS-ASG)) <[email protected]>; Mozzetta, Jonathan <[email protected]> Subject: [Allseen-core] BusAttachment::LeaveHostedSession is causing the Windows AJ Router to stop responding Hello all, I need help with 2 issues: For Windows, the BusAttachment::LeaveHostedSession will sometimes not return until a long timeout and put the Windows AllJoyn Router in a bad state (meaning the service won't respond to request and we cannot restart that service). This could be from a race condition where we tried to leave a hosted SessionId that is no longer valid. Because we have not processed the corresponding SessionLost yet. We can reproduce this issue if we try to make the same LeaveHostedSession on a session where we are a client instead of a host. We have seen this issue in 15.09, 15.09a, and 16.04. We are also seeing a SessionListener::SessionLost for an Android device several seconds (about 5) after as session is connected. The frequency for this is about 4/6 attempts. We are using SetLinkTimeout for 40 seconds, but we see that the SessionLost is much quicker than that. The Android device is using 15.09a talking to a 15.09a or 16.04 Windows. --Gary Poole
_______________________________________________ Allseen-core mailing list [email protected] https://lists.allseenalliance.org/mailman/listinfo/allseen-core
