[Progress Communities] [Progress OpenEdge ABL] Forum Post: RE: .NET Framework with PASOE

  • Thread starter Thread starter brianlafertewk
  • Start date Start date
Status
Not open for further replies.
B

brianlafertewk

Guest
This morning I tried adding '-preloadCLR' into the ABL Web App 'Agent Startup Parameters' just for fun. The behavior is the same. Essentially, one thread on the agent will throw the error relating to a static class, and looking at the 'Stack' for the agent thread I see that the class is not loaded. All other threads for the agent DO show the class as loaded. It always appears to be the first thread that is accessed that throws the error. Based on the behavior is does not seem like this issue is related to the static class, as it runs fine on other threads under the agent. These classes and programs all work without issue under WebSpeed Classic and on PASOE configurations running the apsv transport. Digging further, I noticed that the static class that was failing was calling a method in the constructor, and that method referenced some .Net code (Progress.ClrBridge.AssemblyStore to be specific). If I remove the call to that method from the constructor, the issue goes away. I simplified the code down to a method as follows (simply System.Math call), to see if this was specific to Progress.ClrBridge.AssemblyStore. Adding a call to the following method in the constructor causes the error to occur. Again, only on the first thread accessed. METHOD PUBLIC STATIC VOID doDec(): DEFINE VARIABLE vDec AS DECIMAL NO-UNDO. vDec = System.Math:Ceiling(3.5 * 100 ) / 100. END. If you execute the logic in the method directly in the constructor, the error does not occur. Only when calling a method from the constructor. Is this a known issue in 11.7.2? It may be possible to remove the method call for the static class in question, but why should I have to make this change? We'd rather not need to review every class to make sure constructors aren't calling methods that access .Net resources.

Continue reading...
 
Status
Not open for further replies.
Back
Top