Page 1 of 1

CO hangs when Applescript retreives many keywords

PostPosted: Sat Dec 29, 2018 12:38 am
by Eric Nepean
Folks, I have just submitted the following bug report. I thought that you might be interested in the details.

When retreiving a large number of keywords from many variants, above about 78500 retreived keywords, Capture One doesn't return any value nor any error message. It just hangs for a long time with 0 CPU utilisation. The AppleScript commands involved are:
tell application "Capture One 12" to get keyword of every variant -- this always breaks
tell application "Capture One 12" to get keyword of variants startVariantPtr thru stopVariantPtr -- this breaks depending on the number of keywords

Further info:
Test Subject: my Catalog of 16255 variants where most variants have between 2 and 12 hierarchical keywords
History: First noticed that the "get keyword of every variant" command would time out.
Then used "get keyword of variants startVariantPtr thru stopVariantPtr" to characterise the behaviour.
Observations:
Below the threshold number of keywords, Capture One takes about 11-15 seconds to respond, which is quite OK. Above the threshold, Capture One doesn't respond even with in a 1500 second timeout. CPU utilisation is high for about 15 seconds, and then goes to zero. Capture One has a beachball. System Memory utlization is unchanged and at a safe level.
The threshold can be triggered by adding just one keyword.
Below the threshold by 1 keyword - 11s-15s execution time. At the threshold - infinite time out.
The threshold, and behaviour is 100% repeatable for the same set of variants and keywords.
Starting from variant 1 of my Catalog the threshold is 78394 keywords retreived, in variant 10566; starting from the highest numbered variant the threshold is 78633 keywords retreived, in variant 9566.
I've replaced all the keywords for a variant where the threshold occurs, that doesn't affect the behaviour.
Removing keywords from a variant shifts the threshold to the next variant. Adding more keywords shifts the threshold back.
Choosing different keywords, different levels of hierachy doesn't affect the threshold.