Running checks on Data Integrity Module Throws StackOverflowError

When I run a check defined in Data Integrity Module which Uses DWR to fire Ajax requests I get a 500 server internal error. The server log indicates a StackOverflowError which according to this SO post is caused by the excessive recursive calls which eats up all the stack memory. A closer examination of the log shows that the following DWR methods keep calling each other until the error is thrown.

at org.directwebremoting.dwrp.DefaultConverterManager.convertOutbound(DefaultConverterManager.java:192) at org.directwebremoting.convert.CollectionConverter.convertOutbound(CollectionConverter.java:206)

I don’t have a good working knowledge of DWR and may be this question suits DWR forums more but since it has to do with OpeMRS module, I think it is fair to get input from the community as well. ( @jeremy since you coded this module specifically this piece may be you can have something to say about this)

I am using Data Integrity module version 2.1 and OpenMRS 1.9.7.

DWR is abandonware, we should get rid of it

1 Like

Sure but I need to make this work and very soon :slight_smile: . I would think of getting rid of it but if there is an easy fix I would go for it while hoping to re-write the code sometime in the future.

I don’t know how to explain this but restarting the server seems to fix the issue.