View Issue Details

IDProjectCategoryView StatusLast Update
0003751JEDI VCL00 JVCL Componentspublic2007-01-03 11:58
ReporteranudedeusAssigned Toobones 
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Product Version3.20 
Target VersionFixed in Version3.30 
Summary0003751: JvChangeNotify enters deadlock if directory is deleted
DescriptionIf you create a notification to watch a folder X, even if only with the caChangeFilename action, and that folder is deleted, it enters a deadlock constantly generating the notification event.
I even created another notification (caChangeDirname) to watch it and delete the file notification in case the folder is deleted, but that doesn't help.
I don't have a fix for it yet, but the sample files show how to reproduce the error.
Create a C:\x1\x2 folder, activate the component, and delete x2. Deadlock.
It does respond to deactivation, though.
TagsNo tags attached.

Activities

2006-06-08 02:53

 

Unit8.zip (1,029 bytes)

anudedeus

2006-06-08 09:19

reporter   ~0009497

I confirmed that the bug is present in JVCL 3.2.
But it only happens if you delete the folder by sending it to the recycle bin, if you delete it by pressing SHIFT-DEL it doesn't happen.
If this helps, Greatis DelphiToys FolderMon (www.greatis.com)doesn't have the problem (but as I don't have access to its source, so I can't check how it was done), so it's not a Windows API bug.
As far as I could understand, in JvChangeNotify.pas, line 563, I noticed that FindNextChangeNotification never fails, even after the directory is deleted, and that WaitForMultipleObjects also never timeout, suggesting that the object is kept signalled, but I haven't got a clue on how to fix this.

obones

2006-06-09 01:22

administrator   ~0009506

Should you find a way to fix that, please use the sources from the daily snapshot here

http://jvcl.sf.net/daily/

and create a diff file containing your changes. Even better, use the SVN repository
http://homepages.borland.com/jedi/wiki/index.php?title=Repository

and create a patch file
http://homepages.borland.com/jedi/wiki/index.php?title=Create_a_patch_file

obones

2007-01-03 11:57

administrator   ~0010490

I'm not seing this with the current SVN version so I'm assuming this is fixed.

Issue History

Date Modified Username Field Change
2006-06-08 02:53 anudedeus New Issue
2006-06-08 02:53 anudedeus File Added: Unit8.zip
2006-06-08 09:19 anudedeus Note Added: 0009497
2006-06-09 01:22 obones Note Added: 0009506
2006-06-09 01:22 obones Status new => feedback
2007-01-03 11:57 obones Status feedback => resolved
2007-01-03 11:57 obones Fixed in Version => Daily / SVN
2007-01-03 11:57 obones Resolution open => fixed
2007-01-03 11:57 obones Assigned To => obones
2007-01-03 11:57 obones Note Added: 0010490