Re: ONLINE - Cannot sort Errors
Posted in 1996
junet@informix.com (June Tong) wrote: >: We are experiencing a problem with Online Version 6.00.UH1 running on AIX 3.2 >: The system runs quite happily for several days Usually) then we receive the >: following error (The offending program is being run by 40-50 users) :- >: Date: 15/02/96 Time: 16:02:56 >: Program error at "cus_con01.4gl", line number 389. >: SQL statement error number -566. >: Cannot initiate sort. >: SYSTEM error number -116. >: ISAM error: cannot allocate memory. >You are running out of memory. Perhaps your kernel shared memory parameters >are too low, or you have set SHMTOTAL too low in your onconfig, or you just >don't have enough memory on the machine. Or... >: The only solution that we can come up with is to bounce the engine. This is >: not acceptable with 60+ users requiring full-time access. The error seems to >: be accompanied by the following logs in online.log :- >: Tue Jan 30 00:24:01 1996 >: 11:44:43 User thread table overflow - user id 436 >: 11:44:43 (22608) connection rejected - too many users >: 14:07:33 Level 1 Archive started on rootdbs, chunk1, chunk2 >: 14:45:04 User thread table overflow - user id 374 >: 14:45:04 (23390) connection rejected - too many users >: 14:58:52 Archive on rootdbs, chunk1, chunk2 Completed. >: 14:59:20 shmat: [EINVAL][22]: shared memory base address illegal >: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >: 14:59:20 using 0xd0000000, needs 0xffffffff >: 14:59:20 out of virtual shared memory > >First of all, you have configured your user threads too low. Or you just have >too many users on your system. This may be related to the other problems. >The EINVAL error is caused by running out of shared memory (the last message). >The rest of it (illegal base address) is bogus. >: Fri Feb 9 08:58:00 1996 >: 08:58:00 INFORMIX-OnLine Initialized -- Shared Memory Initialized >: 08:58:00 Physical Recovery Started >: 8< SNIP SNIP >8 >: 08:58:06 Quiescent Mode >: 08:58:10 On-Line Mode >: 09:03:50 dynamically allocated new shared memory segment (size 8388608) >: 09:14:34 dynamically allocated new shared memory segment (size 8388608) >: 09:31:42 dynamically allocated new shared memory segment (size 8388608) >: 09:54:43 dynamically allocated new shared memory segment (size 8388608) >: 10:11:37 dynamically allocated new shared memory segment (size 8388608) >: 10:53:32 dynamically allocated new shared memory segment (size 8388608) >: 11:34:12 shmat: [EINVAL][22]: shared memory base address illegal >: 11:34:12 using 0xd0000000, needs 0xffffffff >: 11:34:12 out of virtual shared memory >: 12:02:01 shmat: [EINVAL][22]: shared memory base address illegal >: 12:02:01 using 0xd0000000, needs 0xffffffff >: 12:02:01 out of virtual shared memory >: 12:02:01 create_tcb: cannot allocate memory >: 12:02:01 (997) connection rejected - too many users >: 12:18:01 shmat: [EINVAL][22]: shared memory base address illegal >: 12:18:01 using 0xd0000000, needs 0xffffffff >: 12:18:01 out of virtual shared memory >Again, you are out of shared memory. Maybe your system just doesn't have >enough of it, or maybe there's a memory leak. The fact that it will run for >several days before failing argues against a memory leak. However, this >snippet of online.log shows it failing within 2 hours of re-initializing. It >does look like on this particular day, usage might have been so heavy that the >amount of memory that serves for most days is just not enough anymore. Again, >you are getting "too many users" errors. >You should definitely increase your SHMVIRTSIZE in your onconfig, since you >are dynamically adding many shared memory segments. Maybe your SHMSEG(?) >parameter is too low (number of shared memory segments) -- how many segments >were allocated (to OnLine and other uses) when this happened? What are your >kernel parameters set to? >: Does anybody have any idea of the cause of this error. Please don't say upgrade >: as the accounting system is not ported to V7. >Regardless of whether the system is written in ESQL/C or 4GL, it should still >work if you upgrade the engine to v.7. >I don't really have enough information to tell you what your problem is, or >whether you SHOULD upgrade to v.7, but hopefully you now have some more ideas >of what to look for. >June >---- June Tong Informix Software ---- >---- Senior Consultant (415) 926-6140 ---- >---- International Support junet@informix.com ---- >---- Location-du-jour: Menlo Park, on a break from Beijing ---- I agree with June.... you definitely have a problem with your virtual shared memory. Either you don't have enough memory or as June said, you need to increase the SHMVIRTSIZE parameter so that you are not allocating segments during the Online session. Also, you may want to look at your SHMTOTAL parameter and see if you are setting this too low causing no more virtual shared memory to be allocated. June mentioned that you can upgrade to 7.x and should not need to recompiled your 4gl or esql/c programs and that is true also...we've done it. In 7.x, the userthreads parameter becomes dynamic also and you don't have to worry about setting this parameter. -- Melvin Mariney, Informix DBA e-mail: melvin.mariney2@bridge.bellsouth.com