Re: Assert Failed: Internal Error - Bus Error
Posted in 1997
PROJECT Yakov Berkovitch 5055 wrote:
>
> Hello,
>
> we have a serious problem with our Informix release. I also don't know
> if newer release solved the problem.
>
> Here is our configuration:
> - Informix Online 7.12 UC1 on HPUX 9.05.
>
> The problem:
> Since a few days the oninit processes are going down almost one time per
> day. The big problem is that the application is already in service in
> one of our big customer. It's very difficult for us to reproduce the
> problem in our development site.
> My problem is also that i cannot look inside the memory dump
> 'shmem.316ced.0' with the onstat -i tool. I get this error:
>
> HP_shmgetat(): Virtual address 0xc043b000 not available got 0xc3286000
> rinfile: shmget/shmat error errno=2
Two things. 1) 7.12 is VERY buggy get 7.13 or later (7.21, 7.22 are
better anyway)
2) The problem seems to be one that we just ran into here. Check your
SHMMAX parameter. This is the max size of a single shared memory
segment and can probably be imferred from and 'ipcs -ma' output as the
size of the first Informix segment. The OS apparently uses this value
to guess how much shared memory your program will allocate total and
attaches shared libraries at that calculated value. If the value is too
small and Informix needs new segments for sorting and DSS queries the
next attach address for a new segment may bump into the shared libraries
and since Informix wants all shared memory to be contiguous it will not
try to recover from the shmat() error. This is not a shared allocation
problem, the shmget() has already succeeded, but an addressing problem.
Gen a new kernel with a value of SHMMAX just a little below the value of
total memory (we used 2000MB ie 2097152000, we have 3.5GB RAM).
Informix is still researching whether this is EXACTLY what happened but
this is the solution. According to Informix the value of SHMMAX is not
a 'recommended' value but just one that worked when they were testing
the engine during porting.
BTW a telltale that will nail down that this is your problem is someone
just started a large sort/index create/DSS query w/PDQPRIORITY>0 shortly
before the crash??? Then this is surely it.
Art S. Kagel