RE: 4GL run-time error number -4339
Posted in 2010
Larry's compiled I4GL 7.32 program on Solaris 10 / IDS 11.50 (migrated from 32-bit Solaris 5.6 / IDS 7.32) fails on heavy-volume days with -406 "memory allocation failed" and -4339 "4GL has run out of data space memory". Suggestions offered: check and raise shell limits with ulimit (-d data, -s stack), review finderr -4339 advice, close/free unused cursors, forms and windows, recompile against the new Solaris libraries, consider Purify, and beware of the program forking child processes that may try to share the parent's database connection. No confirmed fix or follow-up is recorded in the thread.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: Connectivity: ESQL/C, 4GL & Embedded SQL, Platform-Specific Issues
I am running on Solaris 5.10 and IDs 11.50. I have I4GL 7.32 I would like some direction on what parameters that can be changed to alleviate this problem. There is plenty of memory on the server. I am currently checking into what program changes may have taken place, but I need direction in the mean time. Error Program error at "eob.4gl", line number 192. SQL statement error number -406. --- Similar -406 errors are reported after this one in different lines of the application. Memory allocation failed.Date: Time: 22:36:55Date: Time: 22:36:55 -- at this point the errors start getting jumbled Program error at "eob.4gl", line number 192 Program error at "eob.4gl", line number 192. SQL statement er. ror number -406.SQL statement error number -406. Memory allocation failed. Date: Time: 22:37:03 4GL run-time error number -4339. 4GL has run out of data space memory. Date: Time: 22:37:05 4GL run-time error number -4339. 4GL has run out of data space memory. Larry
Are you using shared memory connections or other type? Have you tried increasing the program environment limits with ulimit? Regards. On Tue, Mar 9, 2010 at 3:26 PM, LARRY SORENSEN <lsorensen25@msn.com> wrote: > I am running on Solaris 5.10 and IDs 11.50. I have I4GL 7.32 > > I would like some direction on what parameters that can be changed to > alleviate this problem. There is plenty of memory on the server. I am > currently checking into what program changes may have taken place, but I > need > direction in the mean time. > > Error > > Program error at "eob.4gl", line number 192. > SQL statement error number -406. --- Similar -406 errors are reported after > this one in different lines of the application. > Memory allocation failed.Date: Time: 22:36:55Date: Time: 22:36:55 -- at > this > point the errors start getting jumbled > Program error at "eob.4gl", line number 192 Program error at "eob.4gl", > line > number 192. > SQL statement er. > ror number -406.SQL statement error number -406. > Memory allocation failed. > > Date: Time: 22:37:03 > 4GL run-time error number -4339. > 4GL has run out of data space memory. > Date: Time: 22:37:05 > 4GL run-time error number -4339. > 4GL has run out of data space memory. > > Larry > > > > ******************************************************************************* > Forum Note: Use "Reply" to post a response in the discussion forum. > > -- Fernando Nunes Portugal http://informix-technology.blogspot.com My email works... but I don't check it frequently... --0016e649d9b6998b8904815ff570
We are using network connections rather than shared memory. I have not tried increasing the program environment limits with ulimit, but I could use some suggestions in this area. Also, since all users connecting to this server, connect over the network to run applications and access the database, are there Solaris 10 specific parameters that need to be looked at as well? Larry > To: ids@iiug.org > From: domusonline@gmail.com > Subject: Re: 4GL run-time error number -4339 [19284] > Date: Tue, 9 Mar 2010 10:37:33 -0500 > > Are you using shared memory connections or other type? > Have you tried increasing the program environment limits with ulimit? > > Regards. > > On Tue, Mar 9, 2010 at 3:26 PM, LARRY SORENSEN <lsorensen25@msn.com> wrote: > > > I am running on Solaris 5.10 and IDs 11.50. I have I4GL 7.32 > > > > I would like some direction on what parameters that can be changed to > > alleviate this problem. There is plenty of memory on the server. I am > > currently checking into what program changes may have taken place, but I > > need > > direction in the mean time. > > > > Error > > > > Program error at "eob.4gl", line number 192. > > SQL statement error number -406. --- Similar -406 errors are reported after > > this one in different lines of the application. > > Memory allocation failed.Date: Time: 22:36:55Date: Time: 22:36:55 -- at > > this > > point the errors start getting jumbled > > Program error at "eob.4gl", line number 192 Program error at "eob.4gl", > > line > > number 192. > > SQL statement er. > > ror number -406.SQL statement error number -406. > > Memory allocation failed. > > > > Date: Time: 22:37:03 > > 4GL run-time error number -4339. > > 4GL has run out of data space memory. > > Date: Time: 22:37:05 > > 4GL run-time error number -4339. > > 4GL has run out of data space memory. > > > > Larry > > > > > > > > > ******************************************************************************* > > Forum Note: Use "Reply" to post a response in the discussion forum. > > > > > > -- > Fernando Nunes > Portugal > > http://informix-technology.blogspot.com > My email works... but I don't check it frequently... > > --0016e649d9b6998b8904815ff570 > > > ******************************************************************************* > Forum Note: Use "Reply" to post a response in the discussion forum. >
Check the ulimit manual. Try doing an ulimit -a. That should show you the current limits: time(seconds) unlimited file(blocks) unlimited data(kbytes) 67108864 stack(kbytes) 2097152 memory(kbytes) 16245064 coredump(blocks) 0 nofiles(descriptors) 4096 vmemory(kbytes) 67108864 (this may vary with the platform). Then try to increase the data and eventually the stack size. Probably ulimit -d and ulimit -s The -4339 error is one I don't like to see. Usually, in my experience, it's not consistent and I'd say it went away most of the times without knowing why (which is something I truly don't like). Also check if you're using unnecessary arrays or something. Maybe some 4GL guru (hello Jonathan...?) can give you better clues. Regards. On Tue, Mar 9, 2010 at 5:16 PM, LARRY SORENSEN <lsorensen25@msn.com> wrote: > We are using network connections rather than shared memory. > > I have not tried increasing the program environment limits with ulimit, but > I > could use some suggestions in this area. Also, since all users connecting > to > this server, connect over the network to run applications and access the > database, are there Solaris 10 specific parameters that need to be looked > at > as well? > > Larry > > > To: ids@iiug.org > > From: domusonline@gmail.com > > Subject: Re: 4GL run-time error number -4339 [19284] > > Date: Tue, 9 Mar 2010 10:37:33 -0500 > > > > Are you using shared memory connections or other type? > > Have you tried increasing the program environment limits with ulimit? > > > > Regards. > > > > On Tue, Mar 9, 2010 at 3:26 PM, LARRY SORENSEN <lsorensen25@msn.com> > wrote: > > > > > I am running on Solaris 5.10 and IDs 11.50. I have I4GL 7.32 > > > > > > I would like some direction on what parameters that can be changed to > > > alleviate this problem. There is plenty of memory on the server. I am > > > currently checking into what program changes may have taken place, but > I > > > need > > > direction in the mean time. > > > > > > Error > > > > > > Program error at "eob.4gl", line number 192. > > > SQL statement error number -406. --- Similar -406 errors are reported > after > > > this one in different lines of the application. > > > Memory allocation failed.Date: Time: 22:36:55Date: Time: 22:36:55 -- at > > > this > > > point the errors start getting jumbled > > > Program error at "eob.4gl", line number 192 Program error at "eob.4gl", > > > line > > > number 192. > > > SQL statement er. > > > ror number -406.SQL statement error number -406. > > > Memory allocation failed. > > > > > > Date: Time: 22:37:03 > > > 4GL run-time error number -4339. > > > 4GL has run out of data space memory. > > > Date: Time: 22:37:05 > > > 4GL run-time error number -4339. > > > 4GL has run out of data space memory. > > > > > > Larry > > > > > > > > > > > > > > > > ******************************************************************************* > > > Forum Note: Use "Reply" to post a response in the discussion forum. > > > > > > > > > > -- > > Fernando Nunes > > Portugal > > > > http://informix-technology.blogspot.com > > My email works... but I don't check it frequently... > > > > --0016e649d9b6998b8904815ff570 > > > > > > > > ******************************************************************************* > > Forum Note: Use "Reply" to post a response in the discussion forum. > > > > > > ******************************************************************************* > Forum Note: Use "Reply" to post a response in the discussion forum. > > -- Fernando Nunes Portugal http://informix-technology.blogspot.com My email works... but I don't check it frequently... --0016e6d77e3cf898b00481619480
At this point I'd reach for my copy of Purify (http://www-01.ibm.com/software/awdtools/purify/) to see what it thought was going on. When you say 'the errors start to get jumbled' I thought 'recursion' and I never had much success with that & 4GL. Good luck. > To: ids@iiug.org > From: lsorensen25@msn.com > Subject: RE: 4GL run-time error number -4339 [19283] > Date: Tue, 9 Mar 2010 10:26:42 -0500 > > I am running on Solaris 5.10 and IDs 11.50. I have I4GL 7.32 > > I would like some direction on what parameters that can be changed to > alleviate this problem. There is plenty of memory on the server. I am > currently checking into what program changes may have taken place, but I need > direction in the mean time. > > Error > > Program error at "eob.4gl", line number 192. > SQL statement error number -406. --- Similar -406 errors are reported after > this one in different lines of the application. > Memory allocation failed.Date: Time: 22:36:55Date: Time: 22:36:55 -- at this > point the errors start getting jumbled > Program error at "eob.4gl", line number 192 Program error at "eob.4gl", line > number 192. > SQL statement er. > ror number -406.SQL statement error number -406. > Memory allocation failed. > > Date: Time: 22:37:03 > 4GL run-time error number -4339. > 4GL has run out of data space memory. > Date: Time: 22:37:05 > 4GL run-time error number -4339. > 4GL has run out of data space memory. > > Larry > > > ******************************************************************************* > Forum Note: Use "Reply" to post a response in the discussion forum. > _________________________________________________________________ We want to hear all your funny, exciting and crazy Hotmail stories. Tell us now http://clk.atdmt.com/UKM/go/195013117/direct/01/
There are suggestions in the output from "finderr -4339" for how to help resolve this problem. I also would look though at the code for this module to see if there are statements, forms, windows, etc. that have been opened and are no longer needed but have not been closed and freed. Is this Compiled 4GL (C4GL) or pcode 4GL (R4GL)? Art Art S. Kagel Advanced DataTools (www.advancedatatools.com) IIUG Board of Directors (art@iiug.org) See you at the 2010 IIUG Informix Conference April 25-28, 2010 Overland Park (Kansas City), KS www.iiug.org/conf Disclaimer: Please keep in mind that my own opinions are my own opinions and do not reflect on my employer, Advanced DataTools, the IIUG, nor any other organization with which I am associated either explicitly, implicitly, or by inference. Neither do those opinions reflect those of other individuals affiliated with any entity with which I am affiliated nor those of the entities themselves. On Tue, Mar 9, 2010 at 10:26 AM, LARRY SORENSEN <lsorensen25@msn.com> wrote: > I am running on Solaris 5.10 and IDs 11.50. I have I4GL 7.32 > > I would like some direction on what parameters that can be changed to > alleviate this problem. There is plenty of memory on the server. I am > currently checking into what program changes may have taken place, but I > need > direction in the mean time. > > Error > > Program error at "eob.4gl", line number 192. > SQL statement error number -406. --- Similar -406 errors are reported after > this one in different lines of the application. > Memory allocation failed.Date: Time: 22:36:55Date: Time: 22:36:55 -- at > this > point the errors start getting jumbled > Program error at "eob.4gl", line number 192 Program error at "eob.4gl", > line > number 192. > SQL statement er. > ror number -406.SQL statement error number -406. > Memory allocation failed. > > Date: Time: 22:37:03 > 4GL run-time error number -4339. > 4GL has run out of data space memory. > Date: Time: 22:37:05 > 4GL run-time error number -4339. > 4GL has run out of data space memory. > > Larry > > > > ******************************************************************************* > Forum Note: Use "Reply" to post a response in the discussion forum. > > --000e0cd1ff3e909bc004817277c4
This is code that has been compiled. It ran just fine on the Solaris 5.6, IDS 7.32 platform before we migrated. Apparently, parameters, etc. were set corrrectly and somehow missed during the migration. Now I am looking for something to tweak so that it will run as it did before the migration. Larry > To: ids@iiug.org > From: art.kagel@gmail.com > Subject: Re: 4GL run-time error number -4339 [19298] > Date: Wed, 10 Mar 2010 08:42:24 -0500 > > There are suggestions in the output from "finderr -4339" for how to help > resolve this problem. I also would look though at the code for this module > to see if there are statements, forms, windows, etc. that have been opened > and are no longer needed but have not been closed and freed. > > Is this Compiled 4GL (C4GL) or pcode 4GL (R4GL)? > > Art > > Art S. Kagel > Advanced DataTools (www.advancedatatools.com) > IIUG Board of Directors (art@iiug.org) > > See you at the 2010 IIUG Informix Conference > April 25-28, 2010 > Overland Park (Kansas City), KS > www.iiug.org/conf > > Disclaimer: Please keep in mind that my own opinions are my own opinions and > do not reflect on my employer, Advanced DataTools, the IIUG, nor any other > organization with which I am associated either explicitly, implicitly, or by > inference. Neither do those opinions reflect those of other individuals > affiliated with any entity with which I am affiliated nor those of the > entities themselves. > > On Tue, Mar 9, 2010 at 10:26 AM, LARRY SORENSEN <lsorensen25@msn.com> wrote: > > > I am running on Solaris 5.10 and IDs 11.50. I have I4GL 7.32 > > > > I would like some direction on what parameters that can be changed to > > alleviate this problem. There is plenty of memory on the server. I am > > currently checking into what program changes may have taken place, but I > > need > > direction in the mean time. > > > > Error > > > > Program error at "eob.4gl", line number 192. > > SQL statement error number -406. --- Similar -406 errors are reported after > > this one in different lines of the application. > > Memory allocation failed.Date: Time: 22:36:55Date: Time: 22:36:55 -- at > > this > > point the errors start getting jumbled > > Program error at "eob.4gl", line number 192 Program error at "eob.4gl", > > line > > number 192. > > SQL statement er. > > ror number -406.SQL statement error number -406. > > Memory allocation failed. > > > > Date: Time: 22:37:03 > > 4GL run-time error number -4339. > > 4GL has run out of data space memory. > > Date: Time: 22:37:05 > > 4GL run-time error number -4339. > > 4GL has run out of data space memory. > > > > Larry > > > > > > > > > ******************************************************************************* > > Forum Note: Use "Reply" to post a response in the discussion forum. > > > > > > --000e0cd1ff3e909bc004817277c4 > > > ******************************************************************************* > Forum Note: Use "Reply" to post a response in the discussion forum. >
Another bit of information - The 4gl program inserts data into tables and calls and forks off a call to another program that does further processing. It is usually quick, but if the data is too large, there may be a number of forked processes out there. First, could this result in the error message, and second, what parameters might I need to adjust to overcome this limitation? Larry > To: ids@iiug.org > From: lsorensen25@msn.com > Subject: RE: 4GL run-time error number -4339 [19299] > Date: Wed, 10 Mar 2010 11:54:47 -0500 > > This is code that has been compiled. It ran just fine on the Solaris 5.6, IDS > 7.32 platform before we migrated. Apparently, parameters, etc. were set > corrrectly and somehow missed during the migration. Now I am looking for > something to tweak so that it will run as it did before the migration. > > Larry > > > To: ids@iiug.org > > From: art.kagel@gmail.com > > Subject: Re: 4GL run-time error number -4339 [19298] > > Date: Wed, 10 Mar 2010 08:42:24 -0500 > > > > There are suggestions in the output from "finderr -4339" for how to help > > resolve this problem. I also would look though at the code for this module > > to see if there are statements, forms, windows, etc. that have been opened > > and are no longer needed but have not been closed and freed. > > > > Is this Compiled 4GL (C4GL) or pcode 4GL (R4GL)? > > > > Art > > > > Art S. Kagel > > Advanced DataTools (www.advancedatatools.com) > > IIUG Board of Directors (art@iiug.org) > > > > See you at the 2010 IIUG Informix Conference > > April 25-28, 2010 > > Overland Park (Kansas City), KS > > www.iiug.org/conf > > > > Disclaimer: Please keep in mind that my own opinions are my own opinions and > > do not reflect on my employer, Advanced DataTools, the IIUG, nor any other > > organization with which I am associated either explicitly, implicitly, or by > > inference. Neither do those opinions reflect those of other individuals > > affiliated with any entity with which I am affiliated nor those of the > > entities themselves. > > > > On Tue, Mar 9, 2010 at 10:26 AM, LARRY SORENSEN <lsorensen25@msn.com> wrote: > > > > > I am running on Solaris 5.10 and IDs 11.50. I have I4GL 7.32 > > > > > > I would like some direction on what parameters that can be changed to > > > alleviate this problem. There is plenty of memory on the server. I am > > > currently checking into what program changes may have taken place, but I > > > need > > > direction in the mean time. > > > > > > Error > > > > > > Program error at "eob.4gl", line number 192. > > > SQL statement error number -406. --- Similar -406 errors are reported > after > > > this one in different lines of the application. > > > Memory allocation failed.Date: Time: 22:36:55Date: Time: 22:36:55 -- at > > > this > > > point the errors start getting jumbled > > > Program error at "eob.4gl", line number 192 Program error at "eob.4gl", > > > line > > > number 192. > > > SQL statement er. > > > ror number -406.SQL statement error number -406. > > > Memory allocation failed. > > > > > > Date: Time: 22:37:03 > > > 4GL run-time error number -4339. > > > 4GL has run out of data space memory. > > > Date: Time: 22:37:05 > > > 4GL run-time error number -4339. > > > 4GL has run out of data space memory. > > > > > > Larry > > > > > > > > > > > > > > > ******************************************************************************* > > > Forum Note: Use "Reply" to post a response in the discussion forum. > > > > > > > > > > --000e0cd1ff3e909bc004817277c4 > > > > > > > ******************************************************************************* > > Forum Note: Use "Reply" to post a response in the discussion forum. > > > > > ******************************************************************************* > Forum Note: Use "Reply" to post a response in the discussion forum. >
Have you recompiled the code under Solaris 10? The shared libraries are likely changed enough to cause some problems without crashing your apps. A recompile using the new libraries may help. Art Art S. Kagel Advanced DataTools (www.advancedatatools.com) IIUG Board of Directors (art@iiug.org) See you at the 2010 IIUG Informix Conference April 25-28, 2010 Overland Park (Kansas City), KS www.iiug.org/conf Disclaimer: Please keep in mind that my own opinions are my own opinions and do not reflect on my employer, Advanced DataTools, the IIUG, nor any other organization with which I am associated either explicitly, implicitly, or by inference. Neither do those opinions reflect those of other individuals affiliated with any entity with which I am affiliated nor those of the entities themselves. On Wed, Mar 10, 2010 at 11:54 AM, LARRY SORENSEN <lsorensen25@msn.com>wrote: > This is code that has been compiled. It ran just fine on the Solaris 5.6, > IDS > 7.32 platform before we migrated. Apparently, parameters, etc. were set > corrrectly and somehow missed during the migration. Now I am looking for > something to tweak so that it will run as it did before the migration. > > Larry > > > To: ids@iiug.org > > From: art.kagel@gmail.com > > Subject: Re: 4GL run-time error number -4339 [19298] > > Date: Wed, 10 Mar 2010 08:42:24 -0500 > > > > There are suggestions in the output from "finderr -4339" for how to help > > resolve this problem. I also would look though at the code for this > module > > to see if there are statements, forms, windows, etc. that have been > opened > > and are no longer needed but have not been closed and freed. > > > > Is this Compiled 4GL (C4GL) or pcode 4GL (R4GL)? > > > > Art > > > > Art S. Kagel > > Advanced DataTools (www.advancedatatools.com) > > IIUG Board of Directors (art@iiug.org) > > > > See you at the 2010 IIUG Informix Conference > > April 25-28, 2010 > > Overland Park (Kansas City), KS > > www.iiug.org/conf > > > > Disclaimer: Please keep in mind that my own opinions are my own opinions > and > > do not reflect on my employer, Advanced DataTools, the IIUG, nor any > other > > organization with which I am associated either explicitly, implicitly, or > by > > inference. Neither do those opinions reflect those of other individuals > > affiliated with any entity with which I am affiliated nor those of the > > entities themselves. > > > > On Tue, Mar 9, 2010 at 10:26 AM, LARRY SORENSEN <lsorensen25@msn.com> > wrote: > > > > > I am running on Solaris 5.10 and IDs 11.50. I have I4GL 7.32 > > > > > > I would like some direction on what parameters that can be changed to > > > alleviate this problem. There is plenty of memory on the server. I am > > > currently checking into what program changes may have taken place, but > I > > > need > > > direction in the mean time. > > > > > > Error > > > > > > Program error at "eob.4gl", line number 192. > > > SQL statement error number -406. --- Similar -406 errors are reported > after > > > this one in different lines of the application. > > > Memory allocation failed.Date: Time: 22:36:55Date: Time: 22:36:55 -- at > > > this > > > point the errors start getting jumbled > > > Program error at "eob.4gl", line number 192 Program error at "eob.4gl", > > > line > > > number 192. > > > SQL statement er. > > > ror number -406.SQL statement error number -406. > > > Memory allocation failed. > > > > > > Date: Time: 22:37:03 > > > 4GL run-time error number -4339. > > > 4GL has run out of data space memory. > > > Date: Time: 22:37:05 > > > 4GL run-time error number -4339. > > > 4GL has run out of data space memory. > > > > > > Larry > > > > > > > > > > > > > > > > ******************************************************************************* > > > Forum Note: Use "Reply" to post a response in the discussion forum. > > > > > > > > > > --000e0cd1ff3e909bc004817277c4 > > > > > > > > ******************************************************************************* > > Forum Note: Use "Reply" to post a response in the discussion forum. > > > > > > ******************************************************************************* > Forum Note: Use "Reply" to post a response in the discussion forum. > > --0015174027a6542b41048176d465
Yes, everything has been recompiled. We moved from Solary 5.6 32-bit to Solaris 5.10 64-bit along with the latest versions of IDS and 4gl. The program works under normal workloads 3 days per week. On the other 2 heavier days with more entries, the program fails with the below listed message. Larry > To: ids@iiug.org > From: art.kagel@gmail.com > Subject: Re: 4GL run-time error number -4339 [19301] > Date: Wed, 10 Mar 2010 13:54:45 -0500 > > Have you recompiled the code under Solaris 10? The shared libraries are > likely changed enough to cause some problems without crashing your apps. A > recompile using the new libraries may help. > > Art > > Art S. Kagel > Advanced DataTools (www.advancedatatools.com) > IIUG Board of Directors (art@iiug.org) > > See you at the 2010 IIUG Informix Conference > April 25-28, 2010 > Overland Park (Kansas City), KS > www.iiug.org/conf > > Disclaimer: Please keep in mind that my own opinions are my own opinions and > do not reflect on my employer, Advanced DataTools, the IIUG, nor any other > organization with which I am associated either explicitly, implicitly, or by > inference. Neither do those opinions reflect those of other individuals > affiliated with any entity with which I am affiliated nor those of the > entities themselves. > > On Wed, Mar 10, 2010 at 11:54 AM, LARRY SORENSEN <lsorensen25@msn.com>wrote: > > > This is code that has been compiled. It ran just fine on the Solaris 5.6, > > IDS > > 7.32 platform before we migrated. Apparently, parameters, etc. were set > > corrrectly and somehow missed during the migration. Now I am looking for > > something to tweak so that it will run as it did before the migration. > > > > Larry > > > > > To: ids@iiug.org > > > From: art.kagel@gmail.com > > > Subject: Re: 4GL run-time error number -4339 [19298] > > > Date: Wed, 10 Mar 2010 08:42:24 -0500 > > > > > > There are suggestions in the output from "finderr -4339" for how to help > > > resolve this problem. I also would look though at the code for this > > module > > > to see if there are statements, forms, windows, etc. that have been > > opened > > > and are no longer needed but have not been closed and freed. > > > > > > Is this Compiled 4GL (C4GL) or pcode 4GL (R4GL)? > > > > > > Art > > > > > > Art S. Kagel > > > Advanced DataTools (www.advancedatatools.com) > > > IIUG Board of Directors (art@iiug.org) > > > > > > See you at the 2010 IIUG Informix Conference > > > April 25-28, 2010 > > > Overland Park (Kansas City), KS > > > www.iiug.org/conf > > > > > > Disclaimer: Please keep in mind that my own opinions are my own opinions > > and > > > do not reflect on my employer, Advanced DataTools, the IIUG, nor any > > other > > > organization with which I am associated either explicitly, implicitly, or > > by > > > inference. Neither do those opinions reflect those of other individuals > > > affiliated with any entity with which I am affiliated nor those of the > > > entities themselves. > > > > > > On Tue, Mar 9, 2010 at 10:26 AM, LARRY SORENSEN <lsorensen25@msn.com> > > wrote: > > > > > > > I am running on Solaris 5.10 and IDs 11.50. I have I4GL 7.32 > > > > > > > > I would like some direction on what parameters that can be changed to > > > > alleviate this problem. There is plenty of memory on the server. I am > > > > currently checking into what program changes may have taken place, but > > I > > > > need > > > > direction in the mean time. > > > > > > > > Error > > > > > > > > Program error at "eob.4gl", line number 192. > > > > SQL statement error number -406. --- Similar -406 errors are reported > > after > > > > this one in different lines of the application. > > > > Memory allocation failed.Date: Time: 22:36:55Date: Time: 22:36:55 -- at > > > > this > > > > point the errors start getting jumbled > > > > Program error at "eob.4gl", line number 192 Program error at "eob.4gl", > > > > line > > > > number 192. > > > > SQL statement er. > > > > ror number -406.SQL statement error number -406. > > > > Memory allocation failed. > > > > > > > > Date: Time: 22:37:03 > > > > 4GL run-time error number -4339. > > > > 4GL has run out of data space memory. > > > > Date: Time: 22:37:05 > > > > 4GL run-time error number -4339. > > > > 4GL has run out of data space memory. > > > > > > > > Larry > > > > > > > > > > > > > > > > > > > > > > > > ******************************************************************************* > > > > Forum Note: Use "Reply" to post a response in the discussion forum. > > > > > > > > > > > > > > --000e0cd1ff3e909bc004817277c4 > > > > > > > > > > > > > > ******************************************************************************* > > > Forum Note: Use "Reply" to post a response in the discussion forum. > > > > > > > > > > > > ******************************************************************************* > > Forum Note: Use "Reply" to post a response in the discussion forum. > > > > > > --0015174027a6542b41048176d465 > > > ******************************************************************************* > Forum Note: Use "Reply" to post a response in the discussion forum. >
On Wed, Mar 10, 2010 at 09:49, LARRY SORENSEN <lsorensen25@msn.com> wrote: > Another bit of information - > > The 4gl program inserts data into tables and calls and forks off a call to > another program that does further processing. It is usually quick, but if > the > data is too large, there may be a number of forked processes out there. > First, > could this result in the error message, and second, what parameters might I > need to adjust to overcome this limitation? > What form does the 'further processing' take? Specifically, does the forked process try to use the database? If so, you are going to have problems; connections are not for sharing between processes, and if you have two processes trying to use 'the same connection' then you run into problems which could easily include the error you are seeing. > Larry > > > To: ids@iiug.org > > From: lsorensen25@msn.com > > Subject: RE: 4GL run-time error number -4339 [19299] > > Date: Wed, 10 Mar 2010 11:54:47 -0500 > > > > This is code that has been compiled. It ran just fine on the Solaris 5.6, > IDS > > 7.32 platform before we migrated. Apparently, parameters, etc. were set > > corrrectly and somehow missed during the migration. Now I am looking for > > something to tweak so that it will run as it did before the migration. > > > > Larry > > > > > To: ids@iiug.org > > > From: art.kagel@gmail.com > > > Subject: Re: 4GL run-time error number -4339 [19298] > > > Date: Wed, 10 Mar 2010 08:42:24 -0500 > > > > > > There are suggestions in the output from "finderr -4339" for how to > help > > > resolve this problem. I also would look though at the code for this > module > > > to see if there are statements, forms, windows, etc. that have been > opened > > > and are no longer needed but have not been closed and freed. > > > > > > Is this Compiled 4GL (C4GL) or pcode 4GL (R4GL)? > > > > > > > > > > > On Tue, Mar 9, 2010 at 10:26 AM, LARRY SORENSEN <lsorensen25@msn.com> > wrote: > > > > > > > I am running on Solaris 5.10 and IDs 11.50. I have I4GL 7.32 > > > > > > > > I would like some direction on what parameters that can be changed to > > > > alleviate this problem. There is plenty of memory on the server. I am > > > > currently checking into what program changes may have taken place, > but I > > > > need > > > > direction in the mean time. > > > > > > > > Error > > > > > > > > Program error at "eob.4gl", line number 192. > > > > SQL statement error number -406. --- Similar -406 errors are reported > > after > > > > this one in different lines of the application. > > > > Memory allocation failed.Date: Time: 22:36:55Date: Time: 22:36:55 -- > at > > > > this > > > > point the errors start getting jumbled > > > > Program error at "eob.4gl", line number 192 Program error at > "eob.4gl", > > > > line > > > > number 192. > > > > SQL statement er. > > > > ror number -406.SQL statement error number -406. > > > > Memory allocation failed. > > > > > > > > Date: Time: 22:37:03 > > > > 4GL run-time error number -4339. > > > > 4GL has run out of data space memory. > > > > Date: Time: 22:37:05 > > > > 4GL run-time error number -4339. > > > > 4GL has run out of data space memory. > -- Jonathan Leffler #include <disclaimer.h> Email: jleffler@earthlink.net, jleffler@us.ibm.com Guardian of DBD::Informix v2008.0513 -- http://dbi.perl.org/ "Blessed are we who can laugh at ourselves, for we shall never cease to be amused." NB: Please do not use this email for correspondence. I don't necessarily read it every week, even. --001636b2b0304f2adb048178dc13
The load is handled by a separate process; each record is entered by a program one at a time and committed each time. Once the claim is in, the Traffic Cop moves the record along a series of Java programs; it is the final step in the services that spawns out the thread to a 4ge program. The 4ge program reads data from the Informix database and creates a 4GL report (that is later printed and sent out. It updates one record in the one table which indicates that the report has been completed and saves a compressed copy of the report to the another table. Each set of programs handles one record at a time and begins and commits work as appropriate. I believe that the problem arises when the process that calls the 4ge program continues on to the next record while the 4ge is still running. As a result we get a situation where multiple 4ge threads are running for different record reports and a wall might be hit; I don't know if the wall relates to just the Shared Memory limits or if it has to do with the number of open files being written to or some other limiting factor but once that wall is hit no more reports are created for a while. Then "magically" the reports start up again until the wall is again hit. So when you look at the first record table you see a number of entries where the record_id is set (indicating the report was created and saved to the correct table). Then there will be a series of records that don't have a record_id, then some with record_ids, and so one. So it appears that the original process continues to spawn out the threads but they are killed during or just before the 4ge program is run. Any clearer? I know that was involved. I tried to leave it a little generic on purpose leaving off program and table names. > To: ids@iiug.org > From: jleffler.iiug@gmail.com > Subject: Re: 4GL run-time error number -4339 [19304] > Date: Wed, 10 Mar 2010 16:20:03 -0500 > > On Wed, Mar 10, 2010 at 09:49, LARRY SORENSEN <lsorensen25@msn.com> wrote: > > > Another bit of information - > > > > The 4gl program inserts data into tables and calls and forks off a call to > > another program that does further processing. It is usually quick, but if > > the > > data is too large, there may be a number of forked processes out there. > > First, > > could this result in the error message, and second, what parameters might I > > need to adjust to overcome this limitation? > > > > What form does the 'further processing' take? > > Specifically, does the forked process try to use the database? > > If so, you are going to have problems; connections are not for sharing > between processes, and if you have two processes trying to use 'the same > connection' then you run into problems which could easily include the error > you are seeing. > > > Larry > > > > > To: ids@iiug.org > > > From: lsorensen25@msn.com > > > Subject: RE: 4GL run-time error number -4339 [19299] > > > Date: Wed, 10 Mar 2010 11:54:47 -0500 > > > > > > This is code that has been compiled. It ran just fine on the Solaris 5.6, > > IDS > > > 7.32 platform before we migrated. Apparently, parameters, etc. were set > > > corrrectly and somehow missed during the migration. Now I am looking for > > > something to tweak so that it will run as it did before the migration. > > > > > > Larry > > > > > > > To: ids@iiug.org > > > > From: art.kagel@gmail.com > > > > Subject: Re: 4GL run-time error number -4339 [19298] > > > > Date: Wed, 10 Mar 2010 08:42:24 -0500 > > > > > > > > There are suggestions in the output from "finderr -4339" for how to > > help > > > > resolve this problem. I also would look though at the code for this > > module > > > > to see if there are statements, forms, windows, etc. that have been > > opened > > > > and are no longer needed but have not been closed and freed. > > > > > > > > Is this Compiled 4GL (C4GL) or pcode 4GL (R4GL)? > > > > > > > > > > > > > > > > > On Tue, Mar 9, 2010 at 10:26 AM, LARRY SORENSEN <lsorensen25@msn.com> > > wrote: > > > > > > > > > I am running on Solaris 5.10 and IDs 11.50. I have I4GL 7.32 > > > > > > > > > > I would like some direction on what parameters that can be changed to > > > > > alleviate this problem. There is plenty of memory on the server. I am > > > > > currently checking into what program changes may have taken place, > > but I > > > > > need > > > > > direction in the mean time. > > > > > > > > > > Error > > > > > > > > > > Program error at "eob.4gl", line number 192. > > > > > SQL statement error number -406. --- Similar -406 errors are reported > > > after > > > > > this one in different lines of the application. > > > > > Memory allocation failed.Date: Time: 22:36:55Date: Time: 22:36:55 -- > > at > > > > > this > > > > > point the errors start getting jumbled > > > > > Program error at "eob.4gl", line number 192 Program error at > > "eob.4gl", > > > > > line > > > > > number 192. > > > > > SQL statement er. > > > > > ror number -406.SQL statement error number -406. > > > > > Memory allocation failed. > > > > > > > > > > Date: Time: 22:37:03 > > > > > 4GL run-time error number -4339. > > > > > 4GL has run out of data space memory. > > > > > Date: Time: 22:37:05 > > > > > 4GL run-time error number -4339. > > > > > 4GL has run out of data space memory. > > > > -- > Jonathan Leffler #include <disclaimer.h> > Email: jleffler@earthlink.net, jleffler@us.ibm.com > Guardian of DBD::Informix v2008.0513 -- http://dbi.perl.org/ > "Blessed are we who can laugh at ourselves, for we shall never cease to be > amused." > NB: Please do not use this email for correspondence. > I don't necessarily read it every week, even. > > --001636b2b0304f2adb048178dc13 > > > ******************************************************************************* > Forum Note: Use "Reply" to post a response in the discussion forum. >
Maybe the comment about recursion isn't so off base or my suggestion that there are things being allocated but not freed later. Art Art S. Kagel Advanced DataTools (www.advancedatatools.com) IIUG Board of Directors (art@iiug.org) See you at the 2010 IIUG Informix Conference April 25-28, 2010 Overland Park (Kansas City), KS www.iiug.org/conf Disclaimer: Please keep in mind that my own opinions are my own opinions and do not reflect on my employer, Advanced DataTools, the IIUG, nor any other organization with which I am associated either explicitly, implicitly, or by inference. Neither do those opinions reflect those of other individuals affiliated with any entity with which I am affiliated nor those of the entities themselves. On Wed, Mar 10, 2010 at 3:59 PM, LARRY SORENSEN <lsorensen25@msn.com> wrote: > Yes, everything has been recompiled. We moved from Solary 5.6 32-bit to > Solaris 5.10 64-bit along with the latest versions of IDS and 4gl. The > program > works under normal workloads 3 days per week. On the other 2 heavier days > with > more entries, the program fails with the below listed message. > > Larry > > > To: ids@iiug.org > > From: art.kagel@gmail.com > > Subject: Re: 4GL run-time error number -4339 [19301] > > Date: Wed, 10 Mar 2010 13:54:45 -0500 > > > > Have you recompiled the code under Solaris 10? The shared libraries are > > likely changed enough to cause some problems without crashing your apps. > A > > recompile using the new libraries may help. > > > > Art > > > > Art S. Kagel > > Advanced DataTools (www.advancedatatools.com) > > IIUG Board of Directors (art@iiug.org) > > > > See you at the 2010 IIUG Informix Conference > > April 25-28, 2010 > > Overland Park (Kansas City), KS > > www.iiug.org/conf > > > > Disclaimer: Please keep in mind that my own opinions are my own opinions > and > > do not reflect on my employer, Advanced DataTools, the IIUG, nor any > other > > organization with which I am associated either explicitly, implicitly, or > by > > inference. Neither do those opinions reflect those of other individuals > > affiliated with any entity with which I am affiliated nor those of the > > entities themselves. > > > > On Wed, Mar 10, 2010 at 11:54 AM, LARRY SORENSEN <lsorensen25@msn.com > >wrote: > > > > > This is code that has been compiled. It ran just fine on the Solaris > 5.6, > > > IDS > > > 7.32 platform before we migrated. Apparently, parameters, etc. were set > > > corrrectly and somehow missed during the migration. Now I am looking > for > > > something to tweak so that it will run as it did before the migration. > > > > > > Larry > > > > > > > To: ids@iiug.org > > > > From: art.kagel@gmail.com > > > > Subject: Re: 4GL run-time error number -4339 [19298] > > > > Date: Wed, 10 Mar 2010 08:42:24 -0500 > > > > > > > > There are suggestions in the output from "finderr -4339" for how to > help > > > > resolve this problem. I also would look though at the code for this > > > module > > > > to see if there are statements, forms, windows, etc. that have been > > > opened > > > > and are no longer needed but have not been closed and freed. > > > > > > > > Is this Compiled 4GL (C4GL) or pcode 4GL (R4GL)? > > > > > > > > Art > > > > > > > > Art S. Kagel > > > > Advanced DataTools (www.advancedatatools.com) > > > > IIUG Board of Directors (art@iiug.org) > > > > > > > > See you at the 2010 IIUG Informix Conference > > > > April 25-28, 2010 > > > > Overland Park (Kansas City), KS > > > > www.iiug.org/conf > > > > > > > > Disclaimer: Please keep in mind that my own opinions are my own > opinions > > > and > > > > do not reflect on my employer, Advanced DataTools, the IIUG, nor any > > > other > > > > organization with which I am associated either explicitly, > implicitly, > or > > > by > > > > inference. Neither do those opinions reflect those of other > individuals > > > > affiliated with any entity with which I am affiliated nor those of > the > > > > entities themselves. > > > > > > > > On Tue, Mar 9, 2010 at 10:26 AM, LARRY SORENSEN <lsorensen25@msn.com > > > > > wrote: > > > > > > > > > I am running on Solaris 5.10 and IDs 11.50. I have I4GL 7.32 > > > > > > > > > > I would like some direction on what parameters that can be changed > to > > > > > alleviate this problem. There is plenty of memory on the server. I > am > > > > > currently checking into what program changes may have taken place, > but > > > I > > > > > need > > > > > direction in the mean time. > > > > > > > > > > Error > > > > > > > > > > Program error at "eob.4gl", line number 192. > > > > > SQL statement error number -406. --- Similar -406 errors are > reported > > > after > > > > > this one in different lines of the application. > > > > > Memory allocation failed.Date: Time: 22:36:55Date: Time: 22:36:55 > -- > at > > > > > this > > > > > point the errors start getting jumbled > > > > > Program error at "eob.4gl", line number 192 Program error at > "eob.4gl", > > > > > line > > > > > number 192. > > > > > SQL statement er. > > > > > ror number -406.SQL statement error number -406. > > > > > Memory allocation failed. > > > > > > > > > > Date: Time: 22:37:03 > > > > > 4GL run-time error number -4339. > > > > > 4GL has run out of data space memory. > > > > > Date: Time: 22:37:05 > > > > > 4GL run-time error number -4339. > > > > > 4GL has run out of data space memory. > > > > > > > > > > Larry > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ******************************************************************************* > > > > > Forum Note: Use "Reply" to post a response in the discussion forum. > > > > > > > > > > > > > > > > > > --000e0cd1ff3e909bc004817277c4 > > > > > > > > > > > > > > > > > > > > > > ******************************************************************************* > > > > Forum Note: Use "Reply" to post a response in the discussion forum. > > > > > > > > > > > > > > > > > > > > ******************************************************************************* > > > Forum Note: Use "Reply" to post a response in the discussion forum. > > > > > > > > > > --0015174027a6542b41048176d465 > > > > > > > > ******************************************************************************* > > Forum Note: Use "Reply" to post a response in the discussion forum. > > > > > > ******************************************************************************* > Forum Note: Use "Reply" to post a response in the discussion forum. > > --0015174754aa4c3fa304817a15f9
Jonathan's point is this: - When you fork a child process, whether the parent process is written in C, C4GL, R4GL (ie run by the 4Gl p-machine), or Java (ie is run by the JRE) the child inherits shared memory, network connections, and file handles from its parent. - If you did not disconnect the child process or thread from the parent's connection to the database before execing the new process the new process is using the parent's connection and the two processes may be interfering with each other. IDS does not expect to be receiving instructions from two processes on a single connection. Art Art S. Kagel Advanced DataTools (www.advancedatatools.com) IIUG Board of Directors (art@iiug.org) See you at the 2010 IIUG Informix Conference April 25-28, 2010 Overland Park (Kansas City), KS www.iiug.org/conf Disclaimer: Please keep in mind that my own opinions are my own opinions and do not reflect on my employer, Advanced DataTools, the IIUG, nor any other organization with which I am associated either explicitly, implicitly, or by inference. Neither do those opinions reflect those of other individuals affiliated with any entity with which I am affiliated nor those of the entities themselves. On Wed, Mar 10, 2010 at 4:53 PM, LARRY SORENSEN <lsorensen25@msn.com> wrote: > The load is handled by a separate process; each record is entered by a > program > one at a time and committed each time. Once the claim is in, the Traffic > Cop > moves the record along a series of Java programs; it is the final step in > the > services that spawns out the thread to a 4ge program. > > The 4ge program reads data from the Informix database and creates a 4GL > report > (that is later printed and sent out. It updates one record in the one table > which indicates that the report has been completed and saves a compressed > copy > of the report to the another table. > > Each set of programs handles one record at a time and begins and commits > work > as appropriate. I believe that the problem arises when the process that > calls > the 4ge program continues on to the next record while the 4ge is still > running. As a result we get a situation where multiple 4ge threads are > running > for different record reports and a wall might be hit; I don't know if the > wall > relates to just the Shared Memory limits or if it has to do with the number > of > open files being written to or some other limiting factor but once that > wall > is hit no more reports are created for a while. Then "magically" the > reports > start up again until the wall is again hit. So when you look at the first > record table you see a number of entries where the record_id is set > (indicating the report was created and saved to the correct table). Then > there > will be a series of records that don't have a record_id, then some with > record_ids, and so one. So it appears that the original process continues > to > spawn out the threads but they are killed during or just before the 4ge > program is run. > > Any clearer? I know that was involved. I tried to leave it a little generic > on > purpose leaving off program and table names. > > > To: ids@iiug.org > > From: jleffler.iiug@gmail.com > > Subject: Re: 4GL run-time error number -4339 [19304] > > Date: Wed, 10 Mar 2010 16:20:03 -0500 > > > > On Wed, Mar 10, 2010 at 09:49, LARRY SORENSEN <lsorensen25@msn.com> > wrote: > > > > > Another bit of information - > > > > > > The 4gl program inserts data into tables and calls and forks off a call > to > > > another program that does further processing. It is usually quick, but > if > > > the > > > data is too large, there may be a number of forked processes out there. > > > First, > > > could this result in the error message, and second, what parameters > might > I > > > need to adjust to overcome this limitation? > > > > > > > What form does the 'further processing' take? > > > > Specifically, does the forked process try to use the database? > > > > If so, you are going to have problems; connections are not for sharing > > between processes, and if you have two processes trying to use 'the same > > connection' then you run into problems which could easily include the > error > > you are seeing. > > > > > Larry > > > > > > > To: ids@iiug.org > > > > From: lsorensen25@msn.com > > > > Subject: RE: 4GL run-time error number -4339 [19299] > > > > Date: Wed, 10 Mar 2010 11:54:47 -0500 > > > > > > > > This is code that has been compiled. It ran just fine on the Solaris > 5.6, > > > IDS > > > > 7.32 platform before we migrated. Apparently, parameters, etc. were > set > > > > corrrectly and somehow missed during the migration. Now I am looking > for > > > > something to tweak so that it will run as it did before the > migration. > > > > > > > > Larry > > > > > > > > > To: ids@iiug.org > > > > > From: art.kagel@gmail.com > > > > > Subject: Re: 4GL run-time error number -4339 [19298] > > > > > Date: Wed, 10 Mar 2010 08:42:24 -0500 > > > > > > > > > > There are suggestions in the output from "finderr -4339" for how to > > > help > > > > > resolve this problem. I also would look though at the code for this > > > module > > > > > to see if there are statements, forms, windows, etc. that have been > > > opened > > > > > and are no longer needed but have not been closed and freed. > > > > > > > > > > Is this Compiled 4GL (C4GL) or pcode 4GL (R4GL)? > > > > > > > > > > > > > > > > > > > > > > > On Tue, Mar 9, 2010 at 10:26 AM, LARRY SORENSEN < > lsorensen25@msn.com> > > > wrote: > > > > > > > > > > > I am running on Solaris 5.10 and IDs 11.50. I have I4GL 7.32 > > > > > > > > > > > > I would like some direction on what parameters that can be > changed > to > > > > > > alleviate this problem. There is plenty of memory on the server. > I > am > > > > > > currently checking into what program changes may have taken > place, > > > but I > > > > > > need > > > > > > direction in the mean time. > > > > > > > > > > > > Error > > > > > > > > > > > > Program error at "eob.4gl", line number 192. > > > > > > SQL statement error number -406. --- Similar -406 errors are > reported > > > > after > > > > > > this one in different lines of the application. > > > > > > Memory allocation failed.Date: Time: 22:36:55Date: Time: 22:36:55 > -- > > > at > > > > > > this > > > > > > point the errors start getting jumbled > > > > > > Program error at "eob.4gl", line number 192 Program error at > > > "eob.4gl", > > > > > > line > > > > > > number 192. > > > > > > SQL statement er. > > > > > > ror number -406.SQL statement error number -406. > > > > > > Memory allocation failed. > > > > > > > > > > > > Date: Time: 22:37:03 > > > > > > 4GL run-time error number -4339. > > > > > > 4GL has run out of data space memory. > > > > > > Date: Time: 22:37:05 > > > > > > 4GL run-time error number -4339. > > > > > > 4GL has run out of data sp
I am checking on the flow of the program, but in the meantime, the same program was working on our previous server before the migration. Which configuration parameters, whether Informix or kernel, should I be looking at to possibly fix this problem. Thanks > To: ids@iiug.org > From: art.kagel@gmail.com > Subject: Re: 4GL run-time error number -4339 [19309] > Date: Wed, 10 Mar 2010 19:48:54 -0500 > > Jonathan's point is this: > > - When you fork a child process, whether the parent process is written in > > C, C4GL, R4GL (ie run by the 4Gl p-machine), or Java (ie is run by the JRE) > > the child inherits shared memory, network connections, and file handles from > > its parent. > > - If you did not disconnect the child process or thread from the parent's > > connection to the database before execing the new process the new process is > > using the parent's connection and the two processes may be interfering with > > each other. IDS does not expect to be receiving instructions from two > > processes on a single connection. > > Art > > Art S. Kagel > Advanced DataTools (www.advancedatatools.com) > IIUG Board of Directors (art@iiug.org) > > See you at the 2010 IIUG Informix Conference > April 25-28, 2010 > Overland Park (Kansas City), KS > www.iiug.org/conf > > Disclaimer: Please keep in mind that my own opinions are my own opinions and > do not reflect on my employer, Advanced DataTools, the IIUG, nor any other > organization with which I am associated either explicitly, implicitly, or by > inference. Neither do those opinions reflect those of other individuals > affiliated with any entity with which I am affiliated nor those of the > entities themselves. > > On Wed, Mar 10, 2010 at 4:53 PM, LARRY SORENSEN <lsorensen25@msn.com> wrote: > > > The load is handled by a separate process; each record is entered by a > > program > > one at a time and committed each time. Once the claim is in, the Traffic > > Cop > > moves the record along a series of Java programs; it is the final step in > > the > > services that spawns out the thread to a 4ge program. > > > > The 4ge program reads data from the Informix database and creates a 4GL > > report > > (that is later printed and sent out. It updates one record in the one table > > which indicates that the report has been completed and saves a compressed > > copy > > of the report to the another table. > > > > Each set of programs handles one record at a time and begins and commits > > work > > as appropriate. I believe that the problem arises when the process that > > calls > > the 4ge program continues on to the next record while the 4ge is still > > running. As a result we get a situation where multiple 4ge threads are > > running > > for different record reports and a wall might be hit; I don't know if the > > wall > > relates to just the Shared Memory limits or if it has to do with the number > > of > > open files being written to or some other limiting factor but once that > > wall > > is hit no more reports are created for a while. Then "magically" the > > reports > > start up again until the wall is again hit. So when you look at the first > > record table you see a number of entries where the record_id is set > > (indicating the report was created and saved to the correct table). Then > > there > > will be a series of records that don't have a record_id, then some with > > record_ids, and so one. So it appears that the original process continues > > to > > spawn out the threads but they are killed during or just before the 4ge > > program is run. > > > > Any clearer? I know that was involved. I tried to leave it a little generic > > on > > purpose leaving off program and table names. > > > > > To: ids@iiug.org > > > From: jleffler.iiug@gmail.com > > > Subject: Re: 4GL run-time error number -4339 [19304] > > > Date: Wed, 10 Mar 2010 16:20:03 -0500 > > > > > > On Wed, Mar 10, 2010 at 09:49, LARRY SORENSEN <lsorensen25@msn.com> > > wrote: > > > > > > > Another bit of information - > > > > > > > > The 4gl program inserts data into tables and calls and forks off a call > > to > > > > another program that does further processing. It is usually quick, but > > if > > > > the > > > > data is too large, there may be a number of forked processes out there. > > > > First, > > > > could this result in the error message, and second, what parameters > > might > > I > > > > need to adjust to overcome this limitation? > > > > > > > > > > What form does the 'further processing' take? > > > > > > Specifically, does the forked process try to use the database? > > > > > > If so, you are going to have problems; connections are not for sharing > > > between processes, and if you have two processes trying to use 'the same > > > connection' then you run into problems which could easily include the > > error > > > you are seeing. > > > > > > > Larry > > > > > > > > > To: ids@iiug.org > > > > > From: lsorensen25@msn.com > > > > > Subject: RE: 4GL run-time error number -4339 [19299] > > > > > Date: Wed, 10 Mar 2010 11:54:47 -0500 > > > > > > > > > > This is code that has been compiled. It ran just fine on the Solaris > > 5.6, > > > > IDS > > > > > 7.32 platform before we migrated. Apparently, parameters, etc. were > > set > > > > > corrrectly and somehow missed during the migration. Now I am looking > > for > > > > > something to tweak so that it will run as it did before the > > migration. > > > > > > > > > > Larry > > > > > > > > > > > To: ids@iiug.org > > > > > > From: art.kagel@gmail.com > > > > > > Subject: Re: 4GL run-time error number -4339 [19298] > > > > > > Date: Wed, 10 Mar 2010 08:42:24 -0500 > > > > > > > > > > > > There are suggestions in the output from "finderr -4339" for how to > > > > help > > > > > > resolve this problem. I also would look though at the code for this > > > > module > > > > > > to see if there are statements, forms, windows, etc. that have been > > > > opened > > > > > > and are no longer needed but have not been closed and freed. > > > > > > > > > > > > Is this Compiled 4GL (C4GL) or pcode 4GL (R4GL)? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Mar 9, 2010 at 10:26 AM, LARRY SORENSEN < > > lsorensen25@msn.com> > > > > wrote: > > > > > > > > > > > > > I am running on Solaris 5.10 and IDs 11.50. I have I4GL 7.32 > > > > > > > > > > > > > > I would like some direction on what parameters that can be > > changed > > to > > > > > > > alleviate this problem. There is plenty of memory on the server. > > I > > am > > > > > > > currently checking into what program changes may have taken > > place, > > > > but I > > > > > > > need > > > > > > > direction in the mean time. > > > > > > > > > > > > > > Error > > > > > > > > > > > > > > Program error at "eob.4gl", line number 192. > > > > > > > SQL statement error number -406. --- Similar -406 errors are > > reported > > > > > after > > > > > > > this one in different lines of
It's unlikely that this is a configuration problem. Most likely has always been a problem, but it is expressing itself on the new server because of the differences in the memory handling and memory layout between the two systems. Art Art S. Kagel Advanced DataTools (www.advancedatatools.com) IIUG Board of Directors (art@iiug.org) See you at the 2010 IIUG Informix Conference April 25-28, 2010 Overland Park (Kansas City), KS www.iiug.org/conf Disclaimer: Please keep in mind that my own opinions are my own opinions and do not reflect on my employer, Advanced DataTools, the IIUG, nor any other organization with which I am associated either explicitly, implicitly, or by inference. Neither do those opinions reflect those of other individuals affiliated with any entity with which I am affiliated nor those of the entities themselves. On Thu, Mar 11, 2010 at 12:26 PM, LARRY SORENSEN <lsorensen25@msn.com>wrote: > I am checking on the flow of the program, but in the meantime, the same > program was working on our previous server before the migration. Which > configuration parameters, whether Informix or kernel, should I be looking > at > to possibly fix this problem. > > Thanks > > > To: ids@iiug.org > > From: art.kagel@gmail.com > > Subject: Re: 4GL run-time error number -4339 [19309] > > Date: Wed, 10 Mar 2010 19:48:54 -0500 > > > > Jonathan's point is this: > > > > - When you fork a child process, whether the parent process is written in > > > > C, C4GL, R4GL (ie run by the 4Gl p-machine), or Java (ie is run by the > JRE) > > > > the child inherits shared memory, network connections, and file handles > from > > > > its parent. > > > > - If you did not disconnect the child process or thread from the parent's > > > > connection to the database before execing the new process the new process > is > > > > using the parent's connection and the two processes may be interfering > with > > > > each other. IDS does not expect to be receiving instructions from two > > > > processes on a single connection. > > > > Art > > > > Art S. Kagel > > Advanced DataTools (www.advancedatatools.com) > > IIUG Board of Directors (art@iiug.org) > > > > See you at the 2010 IIUG Informix Conference > > April 25-28, 2010 > > Overland Park (Kansas City), KS > > www.iiug.org/conf > > > > Disclaimer: Please keep in mind that my own opinions are my own opinions > and > > do not reflect on my employer, Advanced DataTools, the IIUG, nor any > other > > organization with which I am associated either explicitly, implicitly, or > by > > inference. Neither do those opinions reflect those of other individuals > > affiliated with any entity with which I am affiliated nor those of the > > entities themselves. > > > > On Wed, Mar 10, 2010 at 4:53 PM, LARRY SORENSEN <lsorensen25@msn.com> > wrote: > > > > > The load is handled by a separate process; each record is entered by a > > > program > > > one at a time and committed each time. Once the claim is in, the > Traffic > > > Cop > > > moves the record along a series of Java programs; it is the final step > in > > > the > > > services that spawns out the thread to a 4ge program. > > > > > > The 4ge program reads data from the Informix database and creates a 4GL > > > report > > > (that is later printed and sent out. It updates one record in the one > table > > > which indicates that the report has been completed and saves a > compressed > > > copy > > > of the report to the another table. > > > > > > Each set of programs handles one record at a time and begins and > commits > > > work > > > as appropriate. I believe that the problem arises when the process that > > > calls > > > the 4ge program continues on to the next record while the 4ge is still > > > running. As a result we get a situation where multiple 4ge threads are > > > running > > > for different record reports and a wall might be hit; I don't know if > the > > > wall > > > relates to just the Shared Memory limits or if it has to do with the > number > > > of > > > open files being written to or some other limiting factor but once that > > > wall > > > is hit no more reports are created for a while. Then "magically" the > > > reports > > > start up again until the wall is again hit. So when you look at the > first > > > record table you see a number of entries where the record_id is set > > > (indicating the report was created and saved to the correct table). > Then > > > there > > > will be a series of records that don't have a record_id, then some with > > > record_ids, and so one. So it appears that the original process > continues > > > to > > > spawn out the threads but they are killed during or just before the 4ge > > > program is run. > > > > > > Any clearer? I know that was involved. I tried to leave it a little > generic > > > on > > > purpose leaving off program and table names. > > > > > > > To: ids@iiug.org > > > > From: jleffler.iiug@gmail.com > > > > Subject: Re: 4GL run-time error number -4339 [19304] > > > > Date: Wed, 10 Mar 2010 16:20:03 -0500 > > > > > > > > On Wed, Mar 10, 2010 at 09:49, LARRY SORENSEN <lsorensen25@msn.com> > > > wrote: > > > > > > > > > Another bit of information - > > > > > > > > > > The 4gl program inserts data into tables and calls and forks off a > call > > > to > > > > > another program that does further processing. It is usually quick, > but > > > if > > > > > the > > > > > data is too large, there may be a number of forked processes out > there. > > > > > First, > > > > > could this result in the error message, and second, what parameters > > > might > > > I > > > > > need to adjust to overcome this limitation? > > > > > > > > > > > > > What form does the 'further processing' take? > > > > > > > > Specifically, does the forked process try to use the database? > > > > > > > > If so, you are going to have problems; connections are not for > sharing > > > > between processes, and if you have two processes trying to use 'the > same > > > > connection' then you run into problems which could easily include the > > > error > > > > you are seeing. > > > > > > > > > Larry > > > > > > > > > > > To: ids@iiug.org > > > > > > From: lsorensen25@msn.com > > > > > > Subject: RE: 4GL run-time error number -4339 [19299] > > > > > > Date: Wed, 10 Mar 2010 11:54:47 -0500 > > > > > > > > > > > > This is code that has been compiled. It ran just fine on the > Solaris > > > 5.6, > > > > > IDS > > > > > > 7.32 platform before we migrated. Apparently, parameters, etc. > were > > > set > > > > > > corrrectly and somehow missed during the migration. Now I am > looking > > > for > > > > > > something to tweak so that it will run as it did before the > > > migration. > > > > > > > > > > > > Larry > > > > > > > > > > > > > To: ids@iiug.org > > > > > > > From: art.kagel@gmail.com > > > > > > > Subject: Re: 4GL run-time error number -4339 [19298] > > > > > > > Date
> -----Original Message----- > From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of > LARRY SORENSEN > Sent: Wednesday, March 10, 2010 2:54 PM > To: ids@iiug.org > Subject: RE: 4GL run-time error number -4339 [19306] > > The load is handled by a separate process; each record is entered by a > program > one at a time and committed each time. Once the claim is in, the > Traffic Cop > moves the record along a series of Java programs; it is the final step > in the > services that spawns out the thread to a 4ge program. > > The 4ge program reads data from the Informix database and creates a 4GL > report > (that is later printed and sent out. It updates one record in the one > table > which indicates that the report has been completed and saves a > compressed copy > of the report to the another table. > > Each set of programs handles one record at a time and begins and > commits work > as appropriate. I believe that the problem arises when the process that > calls > the 4ge program continues on to the next record while the 4ge is still > running. As a result we get a situation where multiple 4ge threads are > running > for different record reports and a wall might be hit; I don't know if > the wall > relates to just the Shared Memory limits or if it has to do with the > number of > open files being written to or some other limiting factor but once that > wall > is hit no more reports are created for a while. Then "magically" the > reports > start up again until the wall is again hit. So when you look at the > first > record table you see a number of entries where the record_id is set > (indicating the report was created and saved to the correct table). > Then there > will be a series of records that don't have a record_id, then some with > record_ids, and so one. So it appears that the original process > continues to > spawn out the threads but they are killed during or just before the 4ge > program is run. > Larry, This is a bit of a long shot, but... Do you see any long transaction rollbacks in the message log when things come to a halt?? What is your "set lock mode to wait ..." set to? HTH, Paul M.