nx-libs
nx-libs copied to clipboard
dialogs during reconnect
From a session based on an self-compiled nx 3.5.0.32 (with some small changes, to the line numbers might differ) I see this on reconnect (I have also seen this on newer versions, but I cannot offer a backtrace, so let's use this for now):
#0 0x00007f2ce6038933 in __select_nocancel () from /lib64/libc.so.6
#1 0x00007f2ce7dfa817 in NXTransSelect () from /usr/local/nx/3.5.0/lib64/libXcomp.so.3
#2 0x00007f2ce7e07732 in NXTransContinue () from /usr/local/nx/3.5.0/lib64/libXcomp.so.3
#3 0x00000000004d39f4 in nxagentFailedReconnectionDialog (alert=17, error=0x481a9e0 "Default display depth doesn't match.") at Dialog.c:377
#4 0x00000000004ce610 in nxagentReconnectSession () at Reconnect.c:686
#5 0x00000000004cea96 in nxagentHandleConnectionChanges () at Reconnect.c:795
#6 0x00000000004cec5d in nxagentHandleConnectionStates () at Reconnect.c:191
#7 0x00000000004afe9d in nxagentWakeupHandler (data=<optimized out>, count=1, mask=0xb71b00 <LastSelectMask>) at Handlers.c:589
#8 0x000000000047519b in WakeupHandler (result=1, pReadmask=0xb71b00 <LastSelectMask>) at dixutils.c:472
#9 0x00000000004803dc in WaitForSomething (pClientsReady=0x7ffc6504e460) at WaitFor.c:389
#10 0x000000000044d379 in Dispatch () at X/NXdispatch.c:618
#11 0x00000000004797a8 in main (argc=24, argv=0x7ffc6504ea58, envp=<optimized out>) at main.c:450
It looks like there's a workflow problem here. Some code tries to present a dialog when a problem during reconnect arises. But as there session has not been reconnected yet the dialog cannot be shown (or maybe it is shown inside nxagent but (naturally) invisible for the user so the user is unable to properly answer the dialog - need to investigate)
A solution could be to hanlde over the task of displaying a dialog to the nxproxy. Another solution could be not to wait for the dialog to be answered. And the obvious solution is not to show any dialogs during reconnect but only log that situation.
I doubt the version number above is correct...