Highlighted
Absent Member.
Absent Member.
3972 views

[archive] Accept recursion limit reached!

[Migrated content. Thread originally posted on 17 October 2006]

I am getting this error on our system when trying to run it through thin client. I have no problems running it locally.

Does anyone have any ideas?

Thanks
0 Likes
10 Replies
Highlighted
Absent Member.
Absent Member.

RE: [archive] Accept recursion limit reached!

Quite often a recursion limit exception is the result of threads which are not properly terminated. Are you using threads in you program?
0 Likes
Highlighted
Absent Member.
Absent Member.

RE: [archive] Accept recursion limit reached!

Yes we are using threads. I will check the programs that seem to be causing the problems to make sure we are closing them on exit.
0 Likes
Highlighted
Absent Member.
Absent Member.

RE: [archive] Accept recursion limit reached!

I have checked and we are stoping all threads as we leave a program. I believe the problem may be that we have instances where we have an entry field that does an after procedure event that calls another program that displays another screen that accepts input.

Does anyone have any ideas how we may be able to stop this message from occuring.

Thanks
0 Likes
Highlighted
Absent Member.
Absent Member.

RE: [archive] Accept recursion limit reached!

What version are you running with?

Do you use grids for display/drilldown. i.e. clicking on a cell displays another screen with further information.

As far as I understand, after procedures on fields which then display another screen are fine.

Shaun
0 Likes
Highlighted
Absent Member.
Absent Member.

RE: [archive] Accept recursion limit reached!

We are on version 7.0.

We do have grids that drill down to other pages but get the message without going to those programs.
0 Likes
Highlighted
Absent Member.
Absent Member.

RE: [archive] Accept recursion limit reached!

It might still be a thread issue. A couple of months ago I had the same message on the screen. It was quite easy to trace back its reason as I started to compare the changes that we have done before. Does it happen in older versions of your software?

Here is the source code of the part that malfunctioned. It is a copy member that we use to display a rotating icon. It appears with a "busy..." message and a cancel button to interrupt the process. The cancel button is the part where the thread is used:

UWBUSY-DISPLAY-BUSY-WINDOW SECTION.
MOVE KEY-STATUS TO UWBUSY-KEY.
MOVE ZERO TO KEY-STATUS.
SET UWBUSY-ABORT TO FALSE.
SET UWBUSY-CANCEL TO FALSE.
DISPLAY FLOATING WINDOW
LINES 3 SIZE 40
BOXED
HANDLE UWBUSY-WINDOW-HANDLE.
DISPLAY BUSY-SCREEN.
EXIT SECTION.

*-----------------------------------------------------------------
* Select a cancel option on the window
*-----------------------------------------------------------------

UWBUSY-ADD-CANCEL-BUTTON SECTION.
SET UWBUSY-CANCEL TO TRUE.
MODIFY WINDOW UWBUSY-WINDOW-HANDLE LINES = 5.
DISPLAY PUSH-BUTTON
LINE 4,
COLUMN 12,
TITLE 'Cancel'
SELF-ACT,
TERMINATION-VALUE = UWBUSY-EXIT-ID,
SIZE 20 CELLS
HANDLE UWBUSY-CANCEL-HANDLE.
PERFORM THREAD UWBUSY-CANCEL-THREAD,
HANDLE UWBUSY-THREAD-HANDLE.
EXIT SECTION.

*-----------------------------------------------------------------
* Threadstart for the cancel button
*-----------------------------------------------------------------

UWBUSY-CANCEL-THREAD SECTION.
ACCEPT UWBUSY-CANCEL-HANDLE.
IF UWBUSY-CANCEL AND KEY-STATUS = UWBUSY-EXIT-ID
SET UWBUSY-ABORT TO TRUE
END-IF.
EXIT SECTION.

*-----------------------------------------------------------------
* Close window for the busy screen / destroys existing threads
* as well
*-----------------------------------------------------------------

UWBUSY-CLOSE-BUSY-WINDOW SECTION.
* Here I closed the thread which created the error
MOVE UWBUSY-KEY TO KEY-STATUS.
CLOSE WINDOW UWBUSY-WINDOW-HANDLE.
EXIT SECTION.

Surprisingly this works. I do not close the thread when I close the window. When I was closing the thread it went into a Recursion limit error after the 10th time. There is no logic explanation for that but without the commented line it works beautifully.

Good luck...

Chefdecuisine
0 Likes
Highlighted
Absent Member.
Absent Member.

RE: [archive] Accept recursion limit reached!

We are on version 7.0.

We do have grids that drill down to other pages but get the message without going to those programs.


We had loads of this happening to us with our application and threads were involved.

Couple of things, if you use push buttons to start a program say from a main menu or such, make sure the buttons use exception-cmd-clicked, and not event-cmd-clicked.

On your grids which you click lines to drill down, make sure that you avoid doing all the processing of the new window logic from within the goto-cell-mouse event.
Terminate the event and process from the exception procedure of the grid.

All this worked wonders for us, together with a couple of patches from AcuCorp.
We're now on V7.2 just recently upgraded from 6.2 which was quite heavily patched.

We still have 3 ecn's patched on 7.2 though, you'll probably only need 1 of these maybe? Its ECN-3314 - talk to support about it.

But, even without this patch, make sure you check out the 2 points I've mentioned.

Shaun
0 Likes
Highlighted
Absent Member.
Absent Member.

RE: [archive] Accept recursion limit reached!

Thanks for the response.

I will look at both sugestions and see if either will fix the problem.

Thanks again
0 Likes
Highlighted
Absent Member.
Absent Member.

RE: [archive] Accept recursion limit reached!

We get this using the Print Preview.
We can print 5 reports. After the fifth, all the entry and display fields on our screen turn black. When we try to print the sixth report we get the recursion message. We are using version 6.2
0 Likes
Highlighted
Absent Member.
Absent Member.

RE: [archive] Accept recursion limit reached!

Thanks for all the help.

We solved the problem by changing all of our pushbuttons from an event routine to an exeception routine.
0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.