Kbase P158012: SQL-92 query executed via SQLEXP crashes _SQLSRV2 process after upgrade to 10.2A service pack
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  18/04/2011 |
|
Status: Unverified
SYMPTOM(s):
SQL-92 query executed via SQLEXP crashes _SQLSRV2 process after upgrade to 10.2A service pack
SQLEXP reports the following after the _SQLSRV2 process crashes:
=== SQL Exception 1 ===
SQLState=08S01
ErrorCode=0
[DataDirect][OpenEdge JDBC Driver]Connection reset
[DataDirect][OpenEdge JDBC Driver]Connection reset by peer: socket write error
No database connected. (8934)
Stack trace from 10.2A01, obtained from Visual Studio 2008 debugger:
Unhandled exception at 0x004c7095 in _sqlsrv2.exe: 0xC0000005: Access violation reading location 0x00000000.
> _sqlsrv2.exe!tpe_print_sqlda_var() + 0x9dbf5 bytes
Stack trace from _SQLSRV2 reads:
tpe_print_sqlda_var
Stack trace from 10.2A02, obtained from Visual Studio 2008 debugger:
Unhandled exception at 0x004c7a55 in _sqlsrv2.exe: 0xC0000005: Access violation reading location 0x00000000.
> _sqlsrv2.exe!PRO_SQLDA_Deallocate() + 0x97a35 bytes
Stack trace from _SQLSRV2 reads:
sqld_free
Same SQL query executes as expected in 10.2A00
FACT(s) (Environment):
Problem is not reproducible in OE Architect with the DB Navigator perspective; Architect generates error message(s) rather than crashing the server (see P158011)
OpenEdge 10.2A
OpenEdge 10.2A01 32-bit Service Pack
OpenEdge 10.2A02 32-bit Service Pack
All Supported Operating Systems
CHANGE:
Applied a Service Pack to OpenEdge 10.2A
CAUSE:
Bug# OE00194300
FIX:
Upgrade to OpenEdge 10.2A03, OpenEdge 10.2B01 or later. A possible workaround is to set the -SQLTempPgSize 128 -SQLTempBuff 16000 database startup parameters. Please note these values may need to be adjusted depending on the database queried.
Notice the -SQLTempPgSize startup parameter has valid values in the range of 4-256 and the value of the -SQLTempBuff startup parameter depends on the value of the -SQLTempPgSize startup parameter as follows:
-SQLTempBuff = (-SQLTempPgSize / 8) * 1000
For example, if -SQLTempPgSize 16 then -SQLTempBuff = (16/8) * 1000 = 2000