[Dot] Dot.exe freezes when using SchemasSpy 5.0.0 and force-metadata-jdbc-driver-2.2
Ported Issue from Mantis Original ID: 2309 Reported By: mikeyjamjams
SEVERITY: IMPORTANT Submitted: 2013-07-22 16:32:36
OS BUILD: SERVICE PACK 1
I am currently using SchemasSpy, the force-metadata-jbdc-driver, and Graphviz to draw ERD diagrams for a series of custom objects in Salesforce.com. When I launch SchemaSpy through the command prompt, the dot.exe application occasionally freezes when trying to draw 1-degree and 2-degree relationship diagrams and output them as PNG files.
What's interesting is that dot.exe freezes on the same objects every time I run SchemaSpy. Furthermore, I can kill dot.exe within the task manager, and SchemaSpy and Graphviz will continue drawing the remaining diagrams, unless it gets held up on another object, upon which I must kill dot.exe in the task manager once again.
After SchemaSpy finishes running, any object that caused dot.exe to freeze will not have any diagrams saved.
Killing dot.exe does generate an error message, which I've listed below. Also, regarding the objects that cause dot.exe to free, they are simple in nature and consist of a simple parent/child relationship. There are no self references or anything that I could see causing an infinite loop to crash dot.exe. Finally, these same objects are successfully drawn in the overall summary ERD diagram that draws the relationships between every object in Salesforce, so I'm not sure why the diagrams would fail when focusing on the objects individually.
STEPS TO REPRODUCE
Launch SchemasSpy from the command prompt:
java -cp schemaSpy_5.0.0.jar;force-metadata-jdbc-driver-2.2.jar net.sourceforge.schemaspy.Main -t force -u myusername -p mypassword -font Arial -fontsize 8 -hq -norows -o doc -db na14 -desc "Extracted from na14 on Force.com"
Here is the error message I receive whenever I use the task manager to kill the dot.exe file
Using database properties: [schemaSpy_5.0.0.jar]\force.properties ForceMetaDataDriver: Filter [exclusionNames=[user], inclusionNames=, keepCusto m=true, keepStandard=false] Gathering schema details................(10sec) Writing/graphing summary............(1sec) Writing/diagramming details......net.sourceforge.schemaspy.util.Dot$DotFailure: 'dot -Tpng:cairo doc3\diagrams\Candidate__c.1degree.dot -odoc3\diagrams\Candidat e__c.1degree.png -Tcmapx' failed with return code 1 .......net.sourceforge.schemaspy.util.Dot$DotFailure: 'dot -Tpng:cairo doc3\diag rams\Position__c.1degree.dot -odoc3\diagrams\Position__c.1degree.png -Tcmapx' fa iled with return code 1 (20sec) Wrote relationship details of 13 tables/views to directory 'doc3' in 32 seconds.
View the results by opening doc3\index.html