Dyalog / ride

Cross-platform IDE for Dyalog APL
https://dyalog.github.io/ride
MIT License
202 stars 31 forks source link

The session is ready but the Ride does not think so. #167

Closed lstefano71 closed 6 years ago

lstefano71 commented 7 years ago

Describe the issue you are having

The Ride session does not realise that the cursor is blinking in the session.

Did you connect to an already running interpreter or start the interpreter from RIDE?

I connect to an already running interpreter (15.0, classic, 32 bits) in which I have executed the following lines of code:

          +3502⌶'SERVE::4551' ⍝ Update init string
     0

           +3502⌶1             ⍝ Start RIDE
      0

How do you reproduce the issue?

I think the trick is to have a really huge session log. Mine comes from a "Session Log Size: 9999" and all of it is full, with some very long lines in its complex history. I've attached a zipped copy session_log.zip. And I think it's also necessary to have a relatively slow connection between the ODE and Ride: a connection to localhost with the same session file opened causes different problems which I might describe in a separate issue.

Immediately after the connection, the session appears empty in the Ride and the cursor remains blinking at the top left corner. I cannot type anything. If I type anything in the ODE session, then Ride wakes up. Or if I open the Workspace explorer in Ride, Ride also wakes up. Which reminds me: to reproduce the issue, make sure the Workspace Explorer flag and the Debug Pane in Ride are both not active before connecting.

I must say, I miss the "debug mode" from Ride 2.0 where I could watch the messages going back and forth the Ride and the interpreter.

Paste the contents of Help → About (Shift+F1)

IDE: Version: unknown Platform: Win32 Date: unknown Git commit: unknown Preferences:{ "kbdLocale":"it_IT" }

Interpreter: Version: 15.0.29488 Platform: Windows Edition: Classic/32 Date: Mar 14 2017 at 18:52:50

The Ride is compiled from the current master branch of the Github repo.

jayfoad commented 7 years ago

I must say, I miss the "debug mode" from Ride 2.0 where I could watch the messages going back and forth the Ride and the interpreter.

Ctrl+F12 opens a protocol log window.

lstefano71 commented 7 years ago

@jayfoad Thank you! I did not know that! The log for a session which hangs in the way described above is as follows:

191077 send SupportedProtocols=2
191077 send UsingProtocol=2
191077 send ["Identify",{"identity":1}]
191077 send ["Connect",{"remoteId":2}]
191077 send ["GetWindowLayout",{}]
191182 recv SupportedProtocols=2
191182 recv UsingProtocol=2
191182 recv ["Identify",{"Port":0,"IPAddress":"","Vendor":"Dyalog Limited","Language":"APL","version":"15.0.29488","Machine":"CTXP102","arch":"Classic/32","Project":"<A> [Sviluppo Generali Svi CS].dws","Process":"dyalog.exe","User":"stf","pid":5676,"token":"{B371C96E-BFD4-4746-8540-E0E0265F44E9}","date":"Created: Mar 14 2017 at 18:52:50","platform":"Windows"}]
191183 send ["SetPW",{"pw":123}]
191183 recv ["UpdateDisplayName",{"displayName":"<A> [Sviluppo Generali Svi CS].dws"}]
192863 resized recv buffer to 2097152
192952 resized recv buffer to 4194304

And if I open the Workspace explorer as described above the following lines are added to the log:

193133 resized recv buffer to 8388608
193256 recv ["AppendSessionOutput",{"result":["Dyalog APL/W Version 14.1.27360","Classic Edition","Thu May 26 11:01:01 2016","C:\\Users\\Public\\Documents\\Sofia\\Cache.BEK65JZE2QF6XOHUXLUKSLCU\\14.1.27360.0.0\\Strtapl.dws saved Thu Jan 27 18:25",":20 2011","","* Unable to rebuild user command cache: the path of \"\\\\aplstore04\\Citrix_Redirected\\stf\\My Documents\\Dyalog APL","14.1 Files\\UserCommand20.cache\" does not exist"," Executing init functions:   __Init_AFAA  __Init_AFSS  __Init_AFUB  __Init_AINI  _OS.__Init_D_OS  _CRC.__Init_DCR","      C  __Init_WOPT  PLUS.__Init_WPLU","UnLoaded font: DLOGBMST.FON","UnLoaded font: dlogttst.ttf","UnLoaded font: DLOGBMAL.FON","UnLoaded font: dlogttal.ttf","UnLoaded font: apl385.ttf","UnLoaded font: dysymb.ttf","Loaded font: DLOGBMST.FON","Loaded font: dlogttst.ttf","Loaded font: DLOGBMAL.FON","Loaded font: dlogttal.ttf","Loaded font: apl385.ttf","Loaded font: dysymb.ttf","Parametri iniziali in: h:\\aplw\\DAPLITDS\\StrtaplW.STR","====================...
346900 send ["TreeList",{"nodeId":0}]
346933 recv ["SetPromptType",{"type":1}]
346951 recv ["ReplyTreeList",{"classes":[-1,-1],"err":"","names":["#","⎕SE"],"nodeId":0,"nodeIds":[2,1]}]
346984 send ["SetPW",{"pw":102}]
lstefano71 commented 6 years ago

With the sessions I tried, v4.1 seems to work just fine. I'll close the issue.