Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Link.Break and the FileSystemWatcher #614

Open
aplteam opened this issue Dec 16, 2023 · 2 comments
Open

Link.Break and the FileSystemWatcher #614

aplteam opened this issue Dec 16, 2023 · 2 comments
Labels
bug Something isn't working

Comments

@aplteam
Copy link
Contributor

aplteam commented Dec 16, 2023

Describe the bug

When I break a Link, shouldn't Link kill the threads running the FileSystemWatcher?

What I did:

      ]link.Break #.Cider
Unlinked: #.Cider
      )save
Cannot perform operation with threads running.
     ]link.status
No active links
      )si
·   ⎕SE.Link.Watcher.WatchEvent[5]
·   System.IO.FileSystemWatcher.OnChanged[]
·   System.IO.FileSystemWatcher.NotifyFileSystemEventArgs[]
·   System.IO.FileSystemWatcher.CompletionStatusChanged[]
·   System.Threading._IOCompletionCallback.PerformIOCompletionCallback[]
&285 (system thread:29768)
·   ⎕SE.Link.Watcher.DisposeFSW[6]
&286 (system thread:1804)   
     ]tools.Version
 Dyalog  18.2.47418 32-bit Unicode, BuildID c8e80564            
 OS      Windows 10 or Windows Server 2016 (10.0.19045) 32-bit  
 Link    3.0.19                                                 
 SALT    2.9                                                    
 UCMD    2.51                                                   
 .NET    .NET Framework 4.8.9181.0                              
 Tatin   0.103.1                                                
 Cider   0.38.0                                                 
 WS      18.2                                                   

For the record: my <02139>

@aplteam aplteam added the bug Something isn't working label Dec 16, 2023
@mkromberg
Copy link
Contributor

There are no "threads running the file system watcher", threads are created to handle FSW events as they are generated by instances FSW objects. In this case, it looks like the bit of code that is supposed to get rid of the FSW (Watcher.DisposeFSW) is hanging on the .Net call to the Dispose method. If you are able to reproduce this, I'm keen to take a look.

@aplteam
Copy link
Contributor Author

aplteam commented Dec 18, 2023

I led a function doing the critical steps in an endless loop but gave up after 100,000 laps.

However, I've seen this before, so it's a problem that shows every now and then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants