Article

The OpenEdge SQL-92 Server crashes if a long SQL statement is executed after SQL Statement Tracing has been enabled

« Go Back

Information

 
Article Number000036421
EnvironmentOpenEdge 10.x, 11.x
Linux
Question/Problem Description
The OpenEdge SQL-92 Server crashes if a long SQL statement is executed after SQL Statement Tracing has been enabled.
The OpenEdge SQL-92 Server crashes when running a query after SQL Statement Tracing has been enabled.
The _sqlsrv2 process dies when running a query after SQL Statement Tracing has been enabled.

Some SQL statements are causing the SQL-92 server to crash after the following SQL statement has been executed:
SET PRO_SERVER LOG ON with (statement)

The protrace file contains a stacktrace similar to the following:
 
PROGRESS stack trace as of Thu Oct 25 09:40:15 2012
command line not initialized
#1   [0x829c72] dbut_uttraceback+0x12b  from /user/ivdlc/bin/_sqlsrv2
#2   [0x829809] dbut_uttrace+0x139  from /user/ivdlc/bin/_sqlsrv2
#3   [0x80a965] dbExit+0x47  from /user/ivdlc/bin/_sqlsrv2
#4   [0x7c697c] drSigFatal+0xca  from /user/ivdlc/bin/_sqlsrv2
#5   [0x649e51d0] __restore_rt+0x0  from /lib64/libpthread.so.0
#6   [0x63ab8347] _IO_vfprintf_internal+0x3907  from /lib64/libc.so.6
#7   [0x63ade092] _IO_vsnprintf+0xa2  from /lib64/libc.so.6
#8   [0x7375c4] _Z12os_vsnprintfPciPKcP13__va_list_tag+0xc  from /user/ivdlc/bin/_sqlsrv2
#9   [0x74aa57] _ZN9sql_log_t11log_sprintfEPPcPjS2_S2_S2_PKcP13__va_list_tag+0xbf  from /user/ivdlc/bin/_sqlsrv2
#10  [0x74b7b8] _ZN9sql_log_t10log_printfEjPKcz+0x146  from /user/ivdlc/bin/_sqlsrv2
#11  [0x485f1b] sql_fn+0x4d3  from /user/ivdlc/bin/_sqlsrv2
#12  [0x744c1c] _ZN14cursor_reply_t15process_requestEv+0x1c2  from /user/ivdlc/bin/_sqlsrv2
#13  [0x7441f6] _ZN14server_reply_t13execute_replyEPPhPi+0x80  from /user/ivdlc/bin/_sqlsrv2
#14  [0x74495f] _ZN14cursor_reply_t7executeEPhPS0_PiS2_11sqlm_type_t+0x43  from /user/ivdlc/bin/_sqlsrv2
#15  [0x742b54] _ZN12srv_nw_hdl_t13dsn_listen_10EiPvP10svr_args_t+0x5b8  from /user/ivdlc/bin/_sqlsrv2
#16  [0x66c958] dmn_main+0xda  from /user/ivdlc/bin/_sqlsrv2
#17  [0x424721] _Z14run_sql_threadPv+0x197  from /user/ivdlc/bin/_sqlsrv2
#18  [0x649dca5d] start_thread+0xcd  from /lib64/libpthread.so.0
Steps to Reproduce
Clarifying Information
The same query runs fine if SQL Statement Tracing is disabled.
Shorter SQL statements run fine with SQL Statement Tracing enabled.
Error Message
Defect/Enhancement NumberDefect OE00228060
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.
Resolution
Until the fix is available, please use the workaround below.
Workaround
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;
Notes
Attachment 
Last Modified Date9/13/2015 6:17 AM
Disclaimer

The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.



Feedback
 
Was this article helpful?

   

Your feedback is appreciated.

Please tell us how we can make this article more useful. Please provide us a way to contact you, should we need clarification on the feedback provided or if you need further assistance.

Characters Remaining: 1025