D.S

adndevblog.typepad.com

Deadlock using AcquireFiles() Vault 2014 - Manufacturing DevBlog

Deadlock using AcquireFiles() Vault 2014 - Manufacturing DevBlog Manufacturing DevBlog The resource for software developers working with Design, Lifecycle and Simulation technologies from Autodesk. Home Subscribe Follow Useful Links Autodesk About this Blog « Webinar announcement | Main | find components displaying in section drawing view » 05/30/2013 Deadlock using AcquireFiles() Vault 2014 By Wayne Brill There is a known issue where the AcquireFiles() function can stop responding. (This will be addressed in a future service pack).  Here is some detail about this issue: The Vault Development Framework (VDF) needs to be initialized and told whether it is operating in the context of a UI application or not (if not specified, it will make the assumption that this *is* a UI application).  During download some of the “file reference update” extension handlers (e.g. Inventor, AutoCAD specific code) will do their work on the main UI thread (if the application is indeed a UI based application).  If the VDF thinks it is operating in the context of a UI application but it is not, (2014 JobProcessor) then you *may* (not always—it depends on whether or not file references need to be updated, and what type of file you are downloading) end up with a deadlock during AcquireFiles. In 2013, the JobProcessor was one UI application (and thus initializing the VDF as a UI application was appropriate).  In 2014, the JobProcessor has a UI component (JobProcessor.exe) and a non-UI component (Connectivity.JobProcessor.Delegate.Host.exe).  The Connectivity.JobProcessor.Delegate.Host.exe is where the job handlers run.  Solution: As early as possible in your Job Handler’s implementation of IJobHandler.Execute, add the following line: Autodesk.DataManagement.Client.Framework.Library.Initialize(false /* ui Application */); Note: Console applications should add this line also (Under the right circumstances, it can encounter this same deadlock). Posted at 02:55 PM in Vault , Wayne Brill | Permalink | | | Comments Deadlock using AcquireFiles() Vault 2014 By Wayne Brill There is a known issue where the AcquireFiles() function can stop responding. (This will be addressed in a future service pack).  Here is some detail about this issue: The Vault Development Framework (VDF) needs to be initialized and told whether it is operating in the context of a UI application or not (if not specified, it will make the assumption that this *is* a UI application).  During download some of the “file reference update” extension handlers (e.g. Inventor, AutoCAD specific code) will do their work on the main UI thread (if the application is indeed a UI based application).  If the VDF thinks it is operating in the context of a UI application but it is not, (2014 JobProcessor) then you *may* (not always—it depends on whether or not file references need to be updated, and what type of file you are downloading) end up with a deadlock during AcquireFiles. In 2013, the JobProcessor was one UI application (and thus initializing the VDF as a UI application was appropriate).  In 2014, the JobProcessor has a UI component (JobProcessor.exe) and a non-UI component (Connectivity.JobProcessor.Delegate.Host.exe).  The Connectivity.JobProcessor.Delegate.Host.exe is where the job handlers run.  Solution: As early as possible in your Job Handler’s implementation of IJobHandler.Execute, add the following line: Autodesk.DataManagement.Client.Framework.Library.Initialize(false /* ui Application */); Note: Console applications should add this line also (Under the right circumstances, it can encounter this same deadlock). View the entire comment thread. Please enable JavaScript if you would like to comment on this blog. Search Submit Mfg DevBloggers Adam Nagy Augusto Goncalves Balaji Ramamoorthy Daniel Du Philippe Leefsma Sajith Subramanian Vladimir Ananyev Wayne Brill Xiaodong Liang February 2017 Sun Mon Tue Wed Thu Fri Sat       1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28         Autodesk Blogs ADN DevBlog - AEC Our DevBlog for Revit, Navisworks, AEC and BIM technology APIs. ADN DevBlog - AutoCAD Our DevBlog for AutoCAD and other platform technology APIs. Forge Developer Blog Our DevBlog for Cloud and Mobile technologies with a strong emphasis on the Autodesk Forge APIs. ADN DevBlog - Infrastructure Modeling Our DevBlog for Infrastructure Modeling technology APIs. ADN DevBlog - Manufacturing Our DevBlog for Design, Lifecycle and Simulation technologies. Around the Corner Cyrille Fauvel's Maya platform developer blog - Autodesk Media and Entertainment technology. Civilized Development Isaac Rodriguez's AutoCAD Civil 3D developer blog Dances with Elephants Jim Quanci's blog on partnering with large companies. It's All Just Ones and Zeros Doug Redmond's Vault developer blog Mod the Machine Brian Ekins' and Adam Nagy's Inventor developer blog The 360 View Mikako Harada's BIM 360 developer blog The 3D Web Coder Jeremy Tammik's web and mobile programming b