Version 5 vs. Version 6 error handling difference

In the flowable5-test module there is a test file, org.activiti.engine.test.api.repository.DeployInvalidXmlTest, that has a test method, testExternalEntityResolvingTest(). [Last test method in the file.]

There is a corresponding version of the same test in flowable-engine module in the file, org.flowable.engine.test.api.repository.DeployInvalidXmlTest.

The two test methods are the same except for the addition of one extra method call in the version 5 code:

 .deploymentProperty(DeploymentProperties.DEPLOY_AS_FLOWABLE5_PROCESS_DEFINITION, Boolean.TRUE)

The BPMN xml file in both cases is identical.

But when I run the version 5 code (on Windows) it complains about not finding the file /etc/passwd (which is part of the BPMN xml file):

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE definitions[<!ENTITY foo SYSTEM "file:///etc/passwd">]>

When I run it in version 6 (again on Windows) no such error appears.

If I change the version 5 BPMN file to something more Windows friendly:

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE definitions[<!ENTITY foo SYSTEM "file:///c:">]>

The error does not appear.

I know this is minor but I can’t seem to find the root cause for the difference.

Any ideas?

I think it’s actually trying to load that file and on mac that passwd file exists and not on Windows.
So it’s not a cross platform unit test, and it also doesn’t make a lot of sense. Maybe we should remove it.

Best regards,



I would agree that it is trying to load the file but I was stymied why the “flowable-5” version fails and the “flowable” (version 6) works given that the BPMN file is exactly the same. I would have expected them both to fail in the same way.


Hi David,

That’s indeed strange, and can’t explain that either without deep diving into it.

Best regards,