457!!!!!!!!!!!!!!!!!!!!!
Posted in 1996
Topics: Performance & Tuning, Error Codes & Troubleshooting, Networking & sqlhosts Configuration
Dear MaryAnn
Better Subject:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Nightmares!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!
The following was the text I wrote to another person who is experiencing
the same problem:
[16/2/96_____________________________
We am working with PowerBuilder Enterprice 4.0 (under Windows 3.11 -
in a PC 486 DX266 16MB RAM)
Informix OnLine 5 and I-Net 5.0 (under Unix on a Unisys machine)
The net works with TCP/IP (win 32 or PCTCP)
Sometimes and sudenly when the application executes a Datawindow
Retrieve (SELECT) instrucction, I-net reports the error num. -457 that means
something like "Yor process have been kill" (well, you know the text of this
error) and my PB aplication is disconected from informix (this is: the
sqlturbo process hangs!! expontaniusly!!!!!!).
This error happens very often - so you can imagine what
the users are saying!
(Another error like "To many hosts variables are passed to the server" (-257)
were also reported, but we have avoided it using a tric in PB!)
Trying to solve the -457 error we have made the changes in the
system parameters (Unix and Informix):
Informix Parameters:
SPINCNT
BUFFERS
MEMORY SEGMENTS
TIMEOUTS
Etc.
Unix Parameters:
The ones related with semafores
The ones related with shared memory segments size
We are looking for timeouts, but the are no clues.
Now are almost convinced that the source of the problem is the NetWork. But
who knows?
And the amazing thing is that the online.log file reports the same
information that you are telling me:
"09:40:16 Process Aborted Abnormally: pid=7371 user=1681 us=800e51a4 flags=1"
And, we are also "surprised and dismayed that *no* page errors/bitmap
errors, etc., showed up in the log". ????????
By internet I have received some clues that point to the following sorces of
our problem:
-BUG in I-NET 5.0WF1
-BUG in Informix Online 5.01
-BUG in PowerBuilder
-Unix timeouts settings
-Network timeout settings, sockets settings
Well, I think we can help each other, as we are now sharing part of our
lifes (thought not the best parts of them).
I would like you to take a look at the mails I have received! To see if this
can help you!
Please lets keep in touch!
And let me tell you that I also will appreciate a lot any help you can pass
to me.
Good Luck!
________________________________________
********************************************************
A mounth later............................I wrote
********************************************************
[12/3/96_________________________________
>>A hope in -457?<< Means that maybe we are getting to the end of this
nightmare. Today I was informed by Informix Suport here in Colombia of a
known bug on I-NET. Informix Colombia forwarded our case to Informix Suport
for Latin America (Miami) and they informed about the I-NET Bug. It seems
that the new I-Net version that solution the bug will be available at the
end of March.
Well, as we were getting in some trouble with our customer (because of the
-457) , we ask Informix to send as a formal document reporting the I-Net
bug. I hope this helps a little till we get the patches.
Personally, I really don't trust anybody until definitely seeing our
application complety free of -457's.
_________________________________________
*********************************************************
And now, we are waiting for the new I-NET 5.01WJ1 (that corrects the 5.01 WF1)
If you are using another version, don't panic It still coluld be a BUG; I
have received 2 e-mails
related with I-NET Bugs in other versions.
Informix send to us the following possible workarroung. We didn't implanted this
solution because we think this is a solution for simple applications - and
in our case,
if we do what they propose we could have database integrity and concurrence
problems.
[INFORMIX WORKARROUND_____________
The application programmers modified the PowerBuilder 4.0 code so that
there are close/open database statements done to disconnect after a query.
It seems to work; there have been no -457 errors.
BACKGROUND
The primary mechanism for a PowerBuilder application to talk to a database
server is a datawindow object. A datawindow in turn uses a tranaction
object to communicate to the server, typically SQLCA.
An application may use one of two functions to assoicate a datawindow with
a transaction object. SetTransObject() and SetTrans(). One of these
functions must be called in order for the datawindow to work with the
database.
SetTransObject() -- This function requires explicit transaction control to
be implemented in the application and uses an already established
connection.
Example:
CONNECT USING SQLCA: // Open a live connection to dbms
dw_1.SetTransObject(SQLCA) // Tell datawindow how to connect
dw_1.Retrieve() // get data from dbms
COMMIT USING SQLCA; // release locks if held
DISCONNECT using SQLCA; // close connection to dbms
SetTrans() -- this function uses an existing transaction object to create a
new transaction object which is used to establish a new connection.
Transaction management is performed internally and the connection is
disconnected once the operation is complete.
Example:
dw_1.SetTrans(SQLCA)
dw_1.Retrieve() // Connects, Selects, commits and
disconnects all here
The PMIS application uses the SetTransObject() method to interact with the
database. It connects once when the application is first started, may do
numerous database operations, then disconnects only when the application
closes.
THE PROBLEM
For some undetermined reason the database connection is dropped at the
server resulting in an SQL Error 457. It appears to be related to some
threshold being achieved. For instance, some reports can be run once, but
not twice in the same session. Some reports run in a simple form but die
when made more complex, such as by addition addition where criteria.
THE WORKAROUND
By using the SetTrans() method instead of SetTransObject() the problem has
been drastically reduced, if not eliminated. This is at the cost of
adding many Connect-Operation-Disconnect cycles to the application
processing. The observed performance impact has been slight in the
development region and is unknown in a production environment. Any
potential side effects are also unknown.
_________________________________
***********************************************
I will post to you MaryAnn all the related e-mails I have received! (About 12)
Maybe you'll get some e-mails twice - but sorry
If anyone on the list wants me to post this 12 mails please feel free to
e-mail me.
Bye
_______________________
Juan Gabriel Mejia
jmejia@uniandes.edu.co
_______________________