|
(Cross-posted to Midrange and RPG400 lists.)
We have a real mind-blower on our hands. We have an application which submits several jobs to the job queue, which allows up to three jobs to run simultaneously. The jobs run a program (the
same program using different data) which uses SQL *extensively*.
SQL INSERTS are performed on tables that exist in libraries that
are unique to each job. DECLARE CURSORs are defined with "FOR
READ ONLY". No explicit locking (i.e., ALCOBJ) is used.
If the stars align correctly, we occasionally get an SQL0901,
which is a "SQL system error". The second-level text isn't much
help except to suggest that the job log should be looked at. (At
the end of this post, I've pasted the relevant part of the job
log with "white space" removed to reduce line wrapping.) I am
usually able to replicate the error, and it seems to occur when a
particular segment of the program is being executed
simultaneously by two jobs. But nailing it down seems to be near
impossible, given the lack of information in the error and the
job log. At this point, I am about to add code to test for
SQL0901 after every executable SQL statement, and perform a dump
with an identifying label. The MCH2601 message appears in the job
log just prior to the SQL0901, but I've not been able to find any
information on this message relevant to it being issued as a
result of an SQL error.
I searched the IBM Series i Support site for "MCH2601 SQL0901"
(without the double quotes) and got one hit. Unfortunately, it
requires PartnerWorld access, and it may be a few days before I
can get the required company token to be able to add myself to
the company profile. (If anyone reading this has PartnerWorld
access and can send me the content from the result link, I would
be greatly appreciative.)
MSGID TYPE SEV DATE TIME FROM PGM
LIBRARY INST TO PGM LIBRARY
MCH2601 Escape 40 03/23/10 11:40:11.412336 #cfochkr
000B10 QQQVAP QSYS
To module . . . . . . . . . : QQQVAP
To procedure . . . . . . . :
RESOLVE_SYSTEM_POINTERS
Statement . . . . . . . . . : 4204
Message . . . . : Lock enforcement rules broken when trying to
access object &1.
<<SNIP>>
SQL0901 Diagnostic 50 03/23/10 11:40:11.414624 QSQRUN3
QSYS *STMT QSQRUN3 QSYS
From module . . . . . . . . : QSQINS
From procedure . . . . . . : CLEANUP
Statement . . . . . . . . . : 24225
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : CLEANUP
Statement . . . . . . . . . : 24225
Message . . . . : SQL system error.
Cause . . . . . : An SQL system error has occurred. The
current SQL statement cannot be completed successfully. The
error will not prevent other SQL statements from being processed.
Previous messages may indicate that there is a problem with the
SQL statement and SQL did not correctly diagnose the error. The
previous message identifier was CPF4204. Internal error type 3107
has occurred. <<SNIP>>
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.