question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

if parallel=true, some files are not rendered

See original GitHub issue

Expected Behavior

all files are rendered

Actual Behavior

some files are skipped with error “folder could not be created”. seemingly randomly in documents, but consistently between builds

Steps to Reproduce

render a document with a lot of topics in the same subfolder (?)

Copy of the error message, log file or stack trace

[xslt] Failed to transform document: Failed to transform document: Failed to create directory

Environment

  • DITA-OT version: 3.7.1, 3.6.1
  • Operating system and version: Linux, Windows
  • How did you run DITA-OT? dita command
  • Transformation type: HTML5

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:14 (14 by maintainers)

github_iconTop GitHub Comments

2reactions
chrispy-snpscommented, May 5, 2022

I found that for N topics, if I edit “do.sh” to put sqrt(N) topics in each directory:

# change this to the number of topics and topics-in-group you want
./make_topics.pl 1000 33

then the probability for collision is maximized:

% do.sh
     [xslt] Failed to transform document: Failed to transform document: Failed to create directory /chrispy/dita/out/826_to_858
     [xslt] Failed to transform document: Failed to transform document: Failed to create directory /chrispy/dita/out/397_to_429
     [xslt] Failed to transform document: Failed to transform document: Failed to create directory /chrispy/dita/out/727_to_759
     [xslt] Failed to transform document: Failed to transform document: Failed to create directory /chrispy/dita/out/397_to_429
     [xslt] Failed to transform document: Failed to transform document: Failed to create directory /chrispy/dita/out/793_to_825
     [xslt] Failed to transform document: Failed to transform document: Failed to create directory /chrispy/dita/out/826_to_858
     [xslt] Failed to transform document: Failed to transform document: Failed to create directory /chrispy/dita/out/1_to_33
993
     [xslt] Failed to transform document: Failed to transform document: Failed to create directory /chrispy/dita/out/826_to_858
     [xslt] Failed to transform document: Failed to transform document: Failed to create directory /chrispy/dita/out/397_to_429
     [xslt] Failed to transform document: Failed to transform document: Failed to create directory /chrispy/dita/out/397_to_429
     [xslt] Failed to transform document: Failed to transform document: Failed to create directory /chrispy/dita/out/364_to_396
996
     [xslt] Failed to transform document: Failed to transform document: Failed to create directory /chrispy/dita/out/67_to_99
     [xslt] Failed to transform document: Failed to transform document: Failed to create directory /chrispy/dita/out/826_to_858
     [xslt] Failed to transform document: Failed to transform document: Failed to create directory /chrispy/dita/out/826_to_858
     [xslt] Failed to transform document: Failed to transform document: Failed to create directory /chrispy/dita/out/397_to_429
     [xslt] Failed to transform document: Failed to transform document: Failed to create directory /chrispy/dita/out/463_to_495
     [xslt] Failed to transform document: Failed to transform document: Failed to create directory /chrispy/dita/out/397_to_429
994

thus making a more effective testcase. And with this configuration, even my 12-core machine starts giving occasional failures too.

@raducoravu - with your suggested fix, the issue is completely resolved on both machines:

% do.sh
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
...continues...

@jelovirt - Radu’s suggested fix is a one-word addition to line 238 at

https://github.com/dita-ot/dita-ot/blob/hotfix/3.7.2/src/main/java/org/dita/dost/store/StreamStore.java#L238

Do you want me to make a pull request, or is this simple enough to fix with a bare commit?

1reaction
raducoravucommented, May 5, 2022

In general in our Oxygen user’s guide at least the parallel processing has not brought any significant time decrease so I have not used it much. The store-type=memory seems to help quite a lot on Windows though.

Read more comments on GitHub >

github_iconTop Results From Across the Web

pandoc: openBinaryFile: does not exist (No such file ... - GitHub
When I am using rmarkdown::render() in BiocParallel::bplapply() , Pandoc throws this error: pandoc: /tmp/RtmpW06rTD/rmarkdown-str3bc26dd971b5.
Read more >
Parallel execution of test throws exception when parallel is set ...
Please, how do I get the test to execute successfully when parallel=true in dataprovider. I'm I missing something maybe the WebDriver instance ...
Read more >
Create TestNG XML File & Execute Parallel Testing
This TestNG guide will help you in creating a TestNG XML file and then executing multiple test cases in parallel on a Selenium...
Read more >
Debug a parallel application - Visual Studio (Windows)
Walkthrough: Debugging a Parallel Application in Visual Studio (C#, ... If the start window is not open, choose File > Start Window.
Read more >
27 R Markdown | R for Data Science
When R Markdown renders your file, it will build and append a bibliography to the end of your document. The bibliography will contain...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found