4GL - Looping Question
Posted in 2000
Topics: Connectivity: ESQL/C, 4GL & Embedded SQL, Platform-Specific Issues
We are running Informix 5.08.UD1 on AIX 4.2.1.0. The users access the Informix 4GL application over a network using Host Explorer for Windows (6.1.0.0) from Hummingbird Communications Ltd. Occasionally, the users do not log off but close the window by pressing 'X' on the window, without logging off the 4GL application first. When this happens (at times) certain application programs seem to go into a loop, inserting dummy rows into the database table every 2 seconds. This continues till the users finally shutdown their windows at the end of the day. Another 4GL program under similar conditions, just sits there are keeps on using up system resources. The % utilization of the CPU grows over a period of time from single digit numbers to upto 50% or higher. The 'w' command in AIX shows their JCPU and PCPU advancing equally, as much as the elapsed time. The idle time is always at zero (even though the users are nowhere near the system). So far, we have been unable to simulate this in a test environment. These processes finally go away upon the scheduled weekly re-boot. Has anyone experienced this before. Can anyone give me some insight into what needs to be done to fix this problem? Regards!!!
In article <387E1395.8E5B0A77@worldnet.att.net>, Victor Parker <vparker@worldnet.att.net> writes >We are running Informix 5.08.UD1 on AIX 4.2.1.0. The users access the >Informix 4GL application over a network using Host Explorer for Windows >(6.1.0.0) from Hummingbird Communications Ltd. Occasionally, the users >do not log off but close the window by pressing 'X' on the window, >without logging off the 4GL application first. When this happens (at >times) certain application programs seem to go into a loop, inserting >dummy rows into the database table every 2 seconds. This continues till >the users finally shutdown their windows at the end of the day. Another >4GL program under similar conditions, just sits there are keeps on using >up system resources. The % utilization of the CPU grows over a period of >time from single digit numbers to upto 50% or higher. The 'w' command in >AIX shows their JCPU and PCPU advancing equally, as much as the elapsed >time. The idle time is always at zero (even though the users are nowhere >near the system). So far, we have been unable to simulate this in a test >environment. These processes finally go away upon the scheduled weekly >re-boot. > >Has anyone experienced this before. Can anyone give me some insight into >what needs to be done to fix this problem? > Known bug in 4gl. Upgrade 4gl to later version. >Regards!!! > -- David Williams
Victor Parker wrote: > We are running Informix 5.08.UD1 on AIX 4.2.1.0. The users access the > Informix 4GL application over a network using Host Explorer for Windows > (6.1.0.0) from Hummingbird Communications Ltd. Occasionally, the users > do not log off but close the window by pressing 'X' on the window, > without logging off the 4GL application first. When this happens (at > times) certain application programs seem to go into a loop, inserting > dummy rows into the database table every 2 seconds. This continues till > the users finally shutdown their windows at the end of the day. Another > 4GL program under similar conditions, just sits there are keeps on using > up system resources. The % utilization of the CPU grows over a period of > time from single digit numbers to upto 50% or higher. The 'w' command in > AIX shows their JCPU and PCPU advancing equally, as much as the elapsed > time. The idle time is always at zero (even though the users are nowhere > near the system). So far, we have been unable to simulate this in a test > environment. These processes finally go away upon the scheduled weekly > re-boot. > > Has anyone experienced this before. Can anyone give me some insight into > what needs to be done to fix this problem? I've not heard of the looping and inserting variant, but the others are familiar enough. First of all, which version of I4GL are you using? Since you aren't using a Y2-complian database engine (you need 5.10 for that), I guess you are not using a Y2K-compliant version of I4GL either -- 4.10? 4.12? 4.14? Something like that, at a guess. There are a couple of circumstances that can cause grief, depending on the version of I4GL and the o/s. For example, one variant of the problem shows up if the lowest level character read returns zero characters (indicating nothing more to read -- EOF), this was sometimes ignored and the program would spin reading more characters, saturating the CPU. This has been fixed in more recent versions of I4GL; I don't recall exactly which ones. Another more complicated variant of the problem was that the program would receive a SIGHUP signal indicating that the process on the client machine was no longer there. The signal handler would carefully make sure it was called if another SIGHUP was received (routine practice in signal handlers of the old school), and then try to reset the terminal characteristics to the state they were in before the program switched into forms mode, and then exited. Unfortunately, on some systems (Pyramid for one), when you tried to reset the tty characteristics on the dead terminal connection, the kernel generated a SIGHUP signal. So, the signal handler was called, and ... it took a long time to stop. You might be suffering from one of these bugs. The insert loop is weirder, but might be related to inappropriate ignoring of INT_FLAG or some error indication in a loop somewhere. I really am not sure about that one. I'd recommend an overhaul of your versions to a Y2K-safe state. I guestimate there's a 95% chance that would also fix the runaways too. -- Jonathan Leffler (jleffler@informix.com, jleffler@earthlink.net) Guardian of DBD::Informix v0.95 -- see http://www.perl.com/CPAN #include <disclaimer.h>
Victor Parker wrote: > We are running Informix 5.08.UD1 on AIX 4.2.1.0. The users access the > Informix 4GL application over a network using Host Explorer for Windows > (6.1.0.0) from Hummingbird Communications Ltd. Occasionally, the users > do not log off but close the window by pressing 'X' on the window, > without logging off the 4GL application first. When this happens (at > times) certain application programs seem to go into a loop, inserting > dummy rows into the database table every 2 seconds. This continues till > the users finally shutdown their windows at the end of the day. Another > 4GL program under similar conditions, just sits there are keeps on using > up system resources. The % utilization of the CPU grows over a period of > time from single digit numbers to upto 50% or higher. The 'w' command in > AIX shows their JCPU and PCPU advancing equally, as much as the elapsed > time. The idle time is always at zero (even though the users are nowhere > near the system). So far, we have been unable to simulate this in a test > environment. These processes finally go away upon the scheduled weekly > re-boot. > > Has anyone experienced this before. Can anyone give me some insight into > what needs to be done to fix this problem? > > Regards!!! This due to bugs in your 4gl version, upgrade. -- Compliments of QueriX -------------------------------------------------------------------------------------------------- QueriX 4GL Compilers are Informix 4GL Compatible, and Connection to other RDBMS such as Oracle. Hydra 4GL Compiler (Compatible with I4GL) Compile once, run everywhere Phoenix Windows GUI. (Front End to 4GL) Chimera Java GUI The only GUI you will ever need... (Front End to 4GL) Arachne Web Technology (Front End to 4GL on the Web) For more details visit: http://www.querix.com/ ---------------------------------------------------------------------------------------------------