We have noticed that some of the sessions are left idle on the session list from many days ago and we cannot manually stop them (we have a mod to stop them from sessions page, using the STOPSESSION command). It normally works but for some particular sessions it just won't work. Even worse, they'll stay even after restarting the service. We have noticed this behavior since some weeks ago.
The only workaround I've found so far to keep the session list clean is removing them directly from the Active Session table through SQL.
The context is on a bigger problem scenario, as we are having heavy performance issues in one NAV database (upgraded some years ago from a NAV2013R2 database). And not sure if this "immune" sessions could be a symptom or a cause or nothing to do at all with the overall bad performance situation.
The issues itself are some transactions that used to work immediately now sometimes (randomly) take minutes and minutes to complete leaving the users hang for minutes. It is a complex scenario (database upgraded from NAV2013R2, 2 NAV servers with two services each, working through a NLB, etc).
Coming back to the persistent sessions, among many other avenues, we have tried cleaning the session event table as described here but same resultshttps://community.dynamics.com/business/b/stefanodemiliani/posts/nav-session-event-table-cleanup
Also, checked this thread where the users were not being disconnected using Idle parameters. We tried to set up Idle timeout to see if that could stop them but the result was quite bad, as the users were reporting that active sessions were being stopped.
In the thread they mention that the issue with them was something to do with the dbo and the nav$listener but I'm not sure what they are referring to.
"Someone... has changed the user mapping from dbo to the old nav$listner... in sql server. The navservice user has permissions problems."https://community.dynamics.com/nav/f/microsoft-dynamics-nav-forum/182460/nav2013r2---clients-sessions-aren-t-disconnected