Re: IDS 11.10.xC2 on Solaris 10
Posted in 2008
Topics: Performance & Tuning, Platform-Specific Issues
> The Solaris 10 + IDS 11 system runs really well (50%+ speed improvement)
> until after a couple of days we start seeing:-
>
> 05:49:39 listener-thread: err = -25575: oserr = 12: errstr = :
> Network driver cannot allocate the call structure. System error = 12.
>
> The operating system has been configured in accordance with the Machine
> Notes for the IDS 11.10.FC2 distribution - curiously there is no mention
> of tuning the TCP stack through ndd.
>
> Unfortunately the IBM (Informix) response has been a flat 'its an os
> error - speak to Sun' which is correct, but they wont help with any
> clues on what the call that is failing possibly is.... Sun are asking
> for source code and/or a truss of the failing process.
>
>
> Regards,
> Nick
Well the 25575 error only seems to be generated in a couple spots.
The majority of those spots is a t_alloc() call where the type
arguement to t_alloc() is a T_CALL structure. Then 1 spot we are
doing a t_alloc() call where the type is T_DIS. So in that sense the
call that would be failing is t_alloc(), but it could be possibly
trying to allocate 1 of 2 types of structures, either a T_CALL or a
T_DIS.
Once you get the 25575 error on a connection attempt do all connection
attempts fail, or is it just occasional new connections? Do you just
bring the instance off-line to clear it up, or do you have to reboot
the box? As the previous poster mentioned, errno 12 is ENOMEM.
If Sun wants a truss and all new connection attempts start to get the
error, I wouldn't think it would be a problem to truss the oninit
process, or multiple oninit processes. I would however request from
sun the specific truss output they'd want though, as the oninit
process is going to be making, generally speaking, a large number of
system calls that would show up in the truss output.
Jacques
On 8 Apr, 15:50, jpren...@yahoo.com wrote:
> > The Solaris 10 + IDS 11 system runs really well (50%+ speed improvement)
> > until after a couple of days we start seeing:-
>
> > 05:49:39 listener-thread: err = -25575: oserr = 12: errstr = :
> > Network driver cannot allocate the call structure. System error = 12.
>
> > The operating system has been configured in accordance with the Machine
> > Notes for the IDS 11.10.FC2 distribution - curiously there is no mention
> > of tuning the TCP stack through ndd.
>
> > Unfortunately the IBM (Informix) response has been a flat 'its an os
> > error - speak to Sun' which is correct, but they wont help with any
> > clues on what the call that is failing possibly is.... Sun are asking
> > for source code and/or a truss of the failing process.
>
> > Regards,
> > Nick
>
> Well the 25575 error only seems to be generated in a couple spots.
> The majority of those spots is a t_alloc() call where the type
> arguement to t_alloc() is a T_CALL structure. Then 1 spot we are
> doing a t_alloc() call where the type is T_DIS. So in that sense the
> call that would be failing is t_alloc(), but it could be possibly
> trying to allocate 1 of 2 types of structures, either a T_CALL or a
> T_DIS.
>
> Once you get the 25575 error on a connection attempt do all connection
> attempts fail, or is it just occasional new connections? Do you just
> bring the instance off-line to clear it up, or do you have to reboot
> the box? As the previous poster mentioned, errno 12 is ENOMEM.
>
> If Sun wants a truss and all new connection attempts start to get the
> error, I wouldn't think it would be a problem to truss the oninit
> process, or multiple oninit processes. I would however request from
> sun the specific truss output they'd want though, as the oninit
> process is going to be making, generally speaking, a large number of
> system calls that would show up in the truss output.
>
> Jacques- Hide quoted text -
>
> - Show quoted text -
Use whatever Solaris 10 uses instead of netstat -k to check no kernel
memory structures are overflowing.
(The kstat stuff).
Does top show free memory on the host?
What does onstat -g seg say?
Any other message in the online.log?
Any messages in the OS syslog log?
Try truss'ing all the oninit pids for the instance.
You should soon be able to work out what exclude (semop?)
For later Solaris versions try truss -u all well and also the truss
flag to truss each thread seperately.
There's some really good advice here -- thanks, we restarted the engine (*not* the o/s) this morning (UK) so I'm waiting to see if the error comes back in another 48 hours time.
-----Original Message-----
From: informix-list-bounces@iiug.org [mailto:informix-list-bounces@iiug.org] On Behalf Of david@smooth1.co.uk
Sent: 08 April 2008 22:22
To: informix-list@iiug.org
Subject: Re: IDS 11.10.xC2 on Solaris 10
On 8 Apr, 15:50, jpren...@yahoo.com wrote:
> > The Solaris 10 + IDS 11 system runs really well (50%+ speed improvement)
> > until after a couple of days we start seeing:-
>
> > 05:49:39 listener-thread: err = -25575: oserr = 12: errstr = :
> > Network driver cannot allocate the call structure. System error = 12.
>
> > The operating system has been configured in accordance with the Machine
> > Notes for the IDS 11.10.FC2 distribution - curiously there is no mention
> > of tuning the TCP stack through ndd.
>
> > Unfortunately the IBM (Informix) response has been a flat 'its an os
> > error - speak to Sun' which is correct, but they wont help with any
> > clues on what the call that is failing possibly is.... Sun are asking
> > for source code and/or a truss of the failing process.
>
> > Regards,
> > Nick
>
> Well the 25575 error only seems to be generated in a couple spots.
> The majority of those spots is a t_alloc() call where the type
> arguement to t_alloc() is a T_CALL structure. Then 1 spot we are
> doing a t_alloc() call where the type is T_DIS. So in that sense the
> call that would be failing is t_alloc(), but it could be possibly
> trying to allocate 1 of 2 types of structures, either a T_CALL or a
> T_DIS.
>
> Once you get the 25575 error on a connection attempt do all connection
> attempts fail, or is it just occasional new connections? Do you just
> bring the instance off-line to clear it up, or do you have to reboot
> the box? As the previous poster mentioned, errno 12 is ENOMEM.
>
> If Sun wants a truss and all new connection attempts start to get the
> error, I wouldn't think it would be a problem to truss the oninit
> process, or multiple oninit processes. I would however request from
> sun the specific truss output they'd want though, as the oninit
> process is going to be making, generally speaking, a large number of
> system calls that would show up in the truss output.
>
> Jacques- Hide quoted text -
>
> - Show quoted text -
Use whatever Solaris 10 uses instead of netstat -k to check no kernel
memory structures are overflowing.
(The kstat stuff).
Does top show free memory on the host?
What does onstat -g seg say?
Any other message in the online.log?
Any messages in the OS syslog log?
Try truss'ing all the oninit pids for the instance.
You should soon be able to work out what exclude (semop?)
For later Solaris versions try truss -u all well and also the truss
flag to truss each thread seperately.
_______________________________________________
Informix-list mailing list
Informix-list@iiug.org
http://www.iiug.org/mailman/listinfo/informix-list