[progress Communities] [progress Openedge Abl] Forum Post: Re: Warning: -l Exceeded....

  • Thread starter Thread starter jbijker
  • Start date Start date
Status
Not open for further replies.
J

jbijker

Guest
OK this is proving to be very confusing on OE11. This is my code to generate lots of buffers to let OE increase the local buffer size: ----- DEFINE TEMP-TABLE ttHandle FIELD hBuffer AS HANDLE FIELD hQuery AS HANDLE. DEFINE VARIABLE iLoop AS INTEGER NO-UNDO. DEFINE VARIABLE iRecord AS INTEGER NO-UNDO. DO iLoop = 1 TO 50: MESSAGE iLoop. SHOW-STATS. FOR EACH _file NO-LOCK WHERE _file._tbl-type = "T":U: CREATE ttHandle. CREATE BUFFER ttHandle.hBuffer FOR TABLE _file._file-name. CREATE QUERY ttHandle.hQuery. ttHandle.hQuery:SET-BUFFERS(ttHandle.hBuffer). ttHandle.hQuery:QUERY-PREPARE("FOR EACH " + _file._file-name + " NO-LOCK"). ttHandle.hQuery:QUERY-OPEN(). DO iRecord = 1 TO iLoop: ttHandle.hQuery:GET-NEXT(). IF ttHandle.hQuery:QUERY-OFF-END THEN LEAVE. END. END. END. FINALLY: FOR EACH ttHandle: IF VALID-HANDLE(ttHandle.hQuery) THEN DELETE OBJECT ttHandle.hQuery. IF VALID-HANDLE(ttHandle.hBuffer) THEN DELETE OBJECT ttHandle.hBuffer. END. END. ----- As you see I'm using the SHOW-STATS command (need the -y startup parameter for this) to write statistics to client.mon in the working directory. From there I can see the local buffer size is steadily increasing: Local buffer usage: 128480 168608 Local buffer usage: 165600 168608 Local buffer usage: 200256 200256 .... Local buffer usage: 1402176 1402176 Local buffer usage: 1423392 1423392 Local buffer usage: 5280 1423392 But funny enough nowhere in the log file (webspeed agent) I can see the WARNING: -l exceeded. Automatically increasing from to . (5408) message. If I set a -hardlimit with -l set to 500 (i.e. 500kb) I get the following error message: Resource limit reached. Raising untrappable STOP condition. (5411) The reason why I want to reproduce is because we're running into situations where we execute code inside a DO ON STOP block, and use the undocumented _msg(1) function to get an error number back which we can translate back to a proper error message. It seems the STOP condition gets raised and _msg(1) returns 5408, but I think the number is misleading. However I see no other error messages in the log file, so at this point I'm clueless of what caused the STOP condition. It's definitely not a hard limit because a hard limit causes an untrappable STOP.

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