errnoile 3401 when connecting to database

General discussion on Zend Server for IBM System i
Post Reply
dere4448
Posts: 3
Joined: Thu Jun 09, 2016 4:00 pm

errnoile 3401 when connecting to database

Post by dere4448 » Thu Jun 09, 2016 4:22 pm

Hi All,

I see the following in the toolkit API error log:

<errnoile>3401</errnoile>
<errnoilemsg><![CDATA[Permission denied.]]></errnoilemsg>
<errnoxml>1301011</errnoxml>
<xmlerrmsg><![CDATA[IPC shmat fail 1]]></xmlerrmsg>
<xmlhint><![CDATA[failure]]></xmlhint>
</error>

I found a comment on the YIPs site (google "errnoile 3401") that this "usually means another process with a different user profile is using IPC".

IPC seems to have something to do with a database connection, so I tried the same code over the test database tables with no problems.

So I changed the user profile to have *allobj authority, and the error went away. Obviously, not a permanent solution, so I'm looking for some guidance on finding out what is really going on here.

aseiden
Posts: 875
Joined: Thu Apr 09, 2009 5:45 pm

Re: errnoile 3401 when connecting to database

Post by aseiden » Fri Jun 10, 2016 2:51 am

Hi, the IPC means the InternalKey you used when connecting to the toolkit (e.g. /tmp/alan1). If you use stateless mode instead, the problem will probably go away.

Code: Select all

$conn->setOptions(array('stateless'=>true));

but if you're intentionally using an InternalKey instead, what are you setting it to? Possibly using the same InternalKey / IPC with multiple user profiles?

Alan Seiden
PHP Toolkit for IBM i Project Leader
Alan Seiden Consulting

dere4448
Posts: 3
Joined: Thu Jun 09, 2016 4:00 pm

Re: errnoile 3401 when connecting to database

Post by dere4448 » Tue Jun 14, 2016 5:21 pm

Hi Alan,

Thanks for the reply; we're already setting stateless to true, like this:

$tkobj->setToolkitServiceParams(array('stateless'=>true));

Could there be another reason this is happening?

Post Reply