Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
Database Servers
DB2InformixIngresMS SQLOraclePervasive.SQLPostgreSQLProgressSybase
Desktop Databases
FileMakerFoxProMS AccessParadox
General
General DB TopicsDatabase Theory
Related Topics
Java Development.NET DevelopmentVB DevelopmentMore Topics ...

Database Forum / Informix Topics / April 2008

Tip: Looking for answers? Try searching our database.

IDS 11.10.xC2 on Solaris 10

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Lello, Nick - 08 Apr 2008 11:56 GMT
I'm looking for any ideas here as we seem to be getting the usual
round-around from both Informix and Sun...

We have an multi-database installation of IDS 10.0.UC4 on Solaris 9 (Sun
fire v480) which we are replacing with a reloaded engine IDS 11.10.FC2
on Solaris 10 (Sun fire v490).

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.

I have tried setting the following prior to IDS startup:-

       ndd -set /dev/tcp tcp_time_wait_interval 15000
       ndd -set /dev/tcp tcp_conn_req_max_q 4096
       ndd -set /dev/tcp tcp_conn_req_max_q0 16384
       ndd -set /dev/tcp tcp_max_buf 655350
       ndd -set /dev/tcp tcp_cwnd_max 655350

Following my gut instinct for dealing with networking issues that
*appear* to be with the queue depth

However, I'd love to hear from someone who has any solid ideas or
experience with this version mix....

Regards,
Nick
Christian Knappke - 08 Apr 2008 12:26 GMT
From the keyboard of "Lello, Nick" <Nick.Lello@nielsen.com>:

> I'm looking for any ideas here as we seem to be getting the
> usual round-around from both Informix and Sun...
[quoted text clipped - 10 lines]
> Network driver cannot allocate the call structure.  System error
> = 12.

from /usr/include/sys/errno.h:

#define         ENOMEM  12      /* Not enough core      */

I'd look for memory issues.

HTH
Christian
Signature

#include <std_disclaimer.h>
/* The opinions stated above are my own and not
  necessarily those of my employer. */

jprenaut@yahoo.com - 08 Apr 2008 15:50 GMT
> The Solaris 10 + IDS 11 system runs really well (50%+ speed improvement)
> until after a couple of days we start seeing:-
[quoted text clipped - 13 lines]
> 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
david@smooth1.co.uk - 08 Apr 2008 22:22 GMT
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:-
[quoted text clipped - 37 lines]
>
> - 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.
Lello, Nick - 08 Apr 2008 22:29 GMT
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:-
[quoted text clipped - 37 lines]
>
> - 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
jprenaut@yahoo.com - 14 Apr 2008 18:17 GMT
> I'm looking for any ideas here as we seem to be getting the usual
> round-around from both Informix and Sun...
[quoted text clipped - 34 lines]
> Regards,
> Nick

I'm posting this as general information for other people that might
show up here with the same problem.  I was working with the engineer
at IBM who was working on your PMR and we discovered that it looks
like the cause of your ENOMEM errors was the default address for
SHMBASE from the onconfig.std and even from the release notes for
11.10.FCx appears to be far too close to the address that Solaris
wants to use for the starting heap address.  So the process does not
have much space for it's private heap before it runs into SHMBASE
which will then prohibit private heap growth.  The solution appears to
be to just use a larger address for SHMBASE to give more space between
the private memory heap and the IDS shared memory segments.   You can
use the pmap tool so show the addresses for where things are being
mapped out in your oninit proccesses address space, then find a good
empty spot to change your SHMBASE too and that should resolve the
issue.

Example of the problem, pmap output for 11.10.FC1

10754:  oninit
0000000100000000      14320K r-x--  /spare1/product/1110FC1/bin/oninit
0000000100EFA000       2480K rwx--  /spare1/product/1110FC1/bin/oninit
0000000101166000       1000K rwx--    [ heap ]
000000010A000000      16384K rwxs-    [ shmid=0x330 ]
000000010B000000       8192K rwxs-    [ shmid=0x331 ]
000000010B800000       9216K rwxs-    [ shmid=0x76 ]

So from this output you can see the Solaris private heap starts at
0x101166000 and SHMBASE from the onconfig file would appear to be set
to 0x10A000000, and those addresses are just far too close together to
allow sufficient private memory heap growth.

Jacques
Gary Quiring - 23 Apr 2008 19:55 GMT
On Apr 14, 1:17 pm, jpren...@yahoo.com wrote:

> > I'm looking for any ideas here as we seem to be getting the usual
> > round-around from both Informix and Sun...
[quoted text clipped - 69 lines]
>
> - Show quoted text -

Just curious would IDS 9.4 have the same issues using Solaris 10?  I
am replacing a V880 this summer with with a new server running Solaris
10.

Thanks
Gary Quiring
jprenaut@yahoo.com - 24 Apr 2008 22:45 GMT
> Just curious would IDS 9.4 have the same issues using Solaris 10?  I
> am replacing a V880 this summer with with a new server running Solaris
> 10.
>
> Thanks
> Gary Quiring

It's possible that 9.40 would have the same problem.  I would assume
that the heap starting address is determined by the OS, and then it
would depend on what the SHMBASE defaults to 9.4FCx, which on the
9.40.FC8 product I just looked at appears to default to the same value
as 10.00.FC6.  So if you hadn't changed SHMBASE in 9 then yeah it
would appear as though the starting heap address and SHMBASE  for
64bit product on the 9 family are also fairly close together and could
cause problems if you didn't  change your SHMBASE.

Jacques
david@smooth1.co.uk - 23 Apr 2008 21:23 GMT
On 14 Apr, 18:17, jpren...@yahoo.com wrote:

> > I'm looking for any ideas here as we seem to be getting the usual
> > round-around from both Informix and Sun...
[quoted text clipped - 69 lines]
>
> - Show quoted text -

Planning to update the machine notes for this then?
jprenaut@yahoo.com - 24 Apr 2008 22:48 GMT
> > I'm posting this as general information for other people that might
> > show up here with the same problem.  I was working with the engineer
[quoted text clipped - 32 lines]
>
> Planning to update the machine notes for this then?

I spoke to the engineer and a defect is going to be entered, at this
point I'm not sure if it will just be a modification to machine notes,
release notes, or a change to the SHMBASE in the onconfig.std itself.
But something will get changed/added for this.

Jacques.
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.