Consultor Eletrônico



Kbase P150361: _sqlsrv2 process terminates / dies shortly after a client connect sto the server process.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   8/16/2010
Status: Unverified

SYMPTOM(s):

_sqlsrv2 process terminates / dies shortly after a client connect to the server process.

Disconnecting client <number> of dead server <number>. (2526)

SRV 3: (7129) Usr 97 set name to smith.

(2526) Disconnecting client 97 of dead server 3.

Disconnecting client <number> of dead server <number>. (2526)

Begin transaction backout. (2252)

(2252) Begin transaction backout.

(2253) Transaction backout completed.

Transaction backout completed. (2253)

Disconnecting dead server <number>. (2525)

(2525) Disconnecting dead server 3.

Stack trace from _sqlsrv2 reads:

__funlockfile
__GI_strlen
__IO_vfprintf_internal
_Z12os_vsnprintf
_ZN9sql_log_t11log_sprintfEPPcPjS2_S2_S2_PKcP13__va_list_tag

Upon database startup, a batch job/process is started that enables SQL Statement Tracing for the purposes of debugging SQL92 applications.

FACT(s) (Environment):

x86_64 (AMD64/EMT64)
Red Hat Linux
OpenEdge 10.1C04 Service Pack

CHANGE:

Upgraded from 10.1B03 to 10.1C04

CAUSE:

The stack trace is showing that the _sqlsrv2 process is crashing while doing server-side SQL logging (as started by the "SET PRO_SERVER LOG" SQL statement). The logging functions are trying to compute how long the printed SQL statement will be, and something is causing this to take an exception in the system functions vsnprintf(). The exact cause is unknown at the time of this writing.

FIX:

Disable / turn off SQL statement tracing on the server processes. This can be accomplished by connecting to the database with a JDBC or ODBC client and issuing the following statement:

SET PRO_SERVER LOG OFF;