E-QR: Incorrect Unions In PS Query Causes Application Server To Error Out with "PSAFFIRM(GlobalLock : invalid memory address from E:\pt85309d-retail\peopletools\src\pssys\qdmutil.cpp 4367" (Doc ID 1902308.1)

Last updated on OCTOBER 06, 2016

Applies to:

PeopleSoft Enterprise PT PeopleTools - Version 8.53 and later
Information in this document applies to any platform.

Symptoms

Starting in PT 8.53 when attempting to create incorrect unions with PS Query that has unequal number of columns and then run the PS Query, the session ends and user is kicked out to the login screen.

Error:

“PSAFFIRM(GlobalLock : invalid memory address from E:\pt85309d-retail\peopletools\src\pssys\qdmutil.cpp 4367) failed at E:\pt85309d-retail\peopletools\src\pscmnutils\globalmem.cpp, line 233. Processing will abort.
PSPAL: Abort: PSAFFIRM(GlobalLock : invalid memory address from E:\pt85309d-retail\peopletools\src\pssys\qdmutil.cpp 4367) failed at E:\pt85309d-retail\peopletools\src\pscmnutils\globalmem.cpp, line 233. Processing will abort.
PSPAL: Abort: Location: E:\pt85309d-retail\peopletools\src\pssys\dump.cpp:970: CPSAbortObserver::OnEvent
PSPAL: Abort: Generating process state report to %PS_HOME%\appserv\<database domain>\LOGS\PSAPPSRV.708\process_state.txt
PSAPPSRV.11832 (0) [2014-06-26T16:19:36.518](0) PeopleTools Release 8.53.09 (Windows) starting. Tuxedo server is APPSRV(99)/2
PSAPPSRV.11832 (0) [2014-06-26T16:19:36.610](-1) CMgrCntrlImp::CreateCacheDir error locking cache directory: system errno = 32-Broken pipe
PSAPPSRV.11832 (0) [2014-06-26T16:19:36.611](0) Server failed to start”



Prior to PT 8.53 the users correctly received this message when "Run" is clicked for an incorrect PS Query with Unions:

Error:

"Cannot use a UNION and have translated values in the same query. Correct and retry. (30,8)
Error in running query because of error in retrieving select header (50,379)"

Steps:
-------
The issue can be reproduced at will with the following steps:
1. Login to PIA;
2. Navigate to Query > Query Manager
3. Create a new query with Union

E.g.

SELECT A.OPRID, A.VERSION, A.OPRDEFNDESC, A.EMPLID
FROM PSOPRDEFN A
UNION
SELECT B.OPRID, B.VERSION, B.OPRDEFNDESC, B.EMPLID, B.EMAILID
FROM PSOPRDEFN B


4. Run the Query

5. The PS Query fails to return an error and PSAPPSRV crashes

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms