ODBC DataServer : My program crashes once per day

Posted by Dmitry Lishafaev on 15-Mar-2016 16:35

After migrating to new Win 2008R2 server one time per day my program stops with following stack-trace (attached below).

This is small ChUI-program, connected with ODBC Dataserver (and via dataserver to Sybase). This is universal adapter for integration purposes, and I have three instances (same code, but different dataserver connection) - for Sybase (ODBC DataServer), for MS SQL (MSS Dataserver) and for Oracle (Oracle DataServer).
I have problems only with one of them - with ODBC Dataserver.

OE version is 10.2B0836/win32

DataServer configured for remote connection and resides on same server as an adapter.

All Sybase queries are simple  (gb - is an alias to foreign db);

    lp:
    REPEAT WHILE AVAILABLE tt:
        DO t-idx = 1 TO 100 WHILE AVAILABLE tt TRANSACTION ON ERROR UNDO lp, leave lp:

               FIND FIRST gb.InterfaceTable1 WHERE ... EXCLUSIVE-LOCK.

               FIND FIRST gb.InterfaceTable2 WHERE ... EXCLUSIVE-LOCK NO-ERROR.
               IF NOT AVAIL gb.InterfaceTable2 THEN DO:
                   CREATE gb.oss_gb_callback.
                      ASSIGN
                          gb.InterfaceTable2.id = gb.InterfaceTable1.id
               END.
               ...
               gb.InterfaceTable1.integration_status = tt.integration_status
    END.

Stack-trace:

=====================================================
PROGRESS stack trace as of Tue Mar 15 22:17:12 2016
=====================================================
Startup parameters:
-pf startup.pf,-cpinternal 1251,-cpterm ibm866,-cpstream 1251,-cpcoll Russian,-cpcase Basic,-d dmy,-numsep 44,-numdec 46,-l 1500,-D 200,-inp 30000,-mmax 10000,-Mr 4096,-TB 10,-TM 20,-Bt 200,(end .pf),-ininame mqworker.ini,-p sonicmq/oralistener.p,-param PROD-odbcAISComputation,-T c:\temp

Exception code: C0000005 ACCESS_VIOLATION
Fault address: 74EF500A 01:0001400A C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4940_none_d08cc06a442b34fc\MSVCR80.dll

Registers:
EAX:0373C09D
EBX:00000008
ECX:00000080
EDX:00000001
ESI:0373BE9C
EDI:00000000
CS:EIP:0023:74EF500A
SS:ESP:002B:0018F44C EBP:0018F454
DS:002B ES:002B FS:0053 GS:002B
Flags:00210216


Debugging dll C:\Windows\system32\DBGHELP.DLL
Symbol Path:
C:\dlc\bin;C:\dlc\pdbfiles


Call Stack:
Address Frame
74EF500A 00000000 memcpy+5A
00466071 00000000 nsatlv_find_tlv_field+81
004660A1 00000000 nsatlv_dbnet_append_tlv_field+21
004661F7 00000000 nsatlv_load_properties_into_TLV+87
00466520 00000000 nsatlvfrag+90
00530B54 00000000 odbc_nc_db_info+2C4
0051E5C4 00000000 odbc_exec_db_call+1F4
0051E996 00000000 odbc_try+36
0052B2E6 00000000 odbc_srvr_info+3C6
0052B67B 00000000 odbscmanb+AB
0042FA69 00000000 fdscmanb+79
00777C61 00000000 scrnci+A1
0070BB7B 00000000 rngschm+5B
007180C8 00000000 rnreloc+1278
0071A69B 00000000 rnproc_entry+1AAB
00763416 00000000 rninterpret+26
00472BE2 00000000 rnrq+D2
00425D71 00000000 drmain+4A1
00483939 00000000 main+19
009A7152 00000000 __tmainCRTStartup+10F
7553336A 00000000 BaseThreadInitThunk+12
77639F72 00000000 RtlInitializeExceptionChain+63
77639F45 00000000 RtlInitializeExceptionChain+36


** ABL Stack Trace **

--> sybgtw/ais-import.p (.\sybgtw\ais-import.r) at line 0
sonicmq/oralistener.p (.\sonicmq\oralistener.r) at line 768

** Persistent procedures/Classes **

Handle File Name
001003 .\adecomm\as-utils.r
001002 .\sonicmq\pp-mqworker.r
001001 .\sharelib\actualdatefunctions.r
001000 .\sharelib\pp-string.r

//=====================================================
PROGRESS stack trace as of Tue Mar 15 22:17:12 2016
//=====================================================
Exception code: C0000005 ACCESS_VIOLATION
Fault address: 74EF500A 01:0001400A C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4940_none_d08cc06a442b34fc\MSVCR80.dll

Registers:
EAX:0373C09D
EBX:00000008
ECX:00000080
EDX:00000001
ESI:0373BE9C
EDI:00000000
CS:EIP:0023:74EF500A
SS:ESP:002B:0018F44C EBP:0018F454
DS:002B ES:002B FS:0053 GS:002B
Flags:00210216

Call Stack:
Address Frame
74EF500A 0018F454 memcpy+5A
00466071 0018F4E8 dsmObjectTruncate+D231
00530B54 0018F534 dsmObjectTruncate+D7D14
0051E5C4 0018F5D8 dsmObjectTruncate+C5784
74EE4D83 0018F5F8 malloc+7A

Broker log

[22:17:12.615+0300] P-007688 T-L-4444 3 UB Basic Recieved connection:: (8125)
[22:17:12.616+0300] P-007688 T-C-0001 2 UB Basic ConnectionID= 10.10.10.111::odbbroker1::4444::8615a73a79953aaa:-1cd7f256:1537a3780e3:-5229. (8096)
[22:17:12.616+0300] P-007688 T-C-0001 2 UB Basic Client connected : . (8533)
[22:17:12.617+0300] P-007688 T-C-0001 3 UB Basic Started server for this client with args (-m1 sybasebase). (8099)
[22:17:12.619+0300] P-007688 T-S-10927 2 UB Basic Started server thread: S-10927. (8101)
[22:17:12.622+0300] P-007688 T-S-10927 2 UB Basic Started server: "C:\dlc\bin\_odbsrv.exe" -svub -S X -N TCP -U X -P X -hs 0 -s 40 -m1 sybasebase -ipver IPv4 -dsminport 3000 -dsmaxport 5000 (8108)
[22:17:12.657+0300] P-007688 T-S-10927 1 UB ---------- This broker will terminate when session ends. (5405)
[22:17:12.671+0300] P-007688 T-S-10927 2 UB Basic Server Port = 3013 PID = 6992. (8114)
[22:17:12.671+0300] P-007688 T-C-0001 3 UB Basic Enqueued request UBRQ_CONNECT issued to S-10927 requestID= <none>
[22:17:12.672+0300] P-007688 T-C-0001 3 UB Basic The client C-0001 has disconnected from the broker. (8084)
[22:17:12.672+0300] P-007688 T-C-0001 2 UB Basic Client disconnected : . (8534)
[22:17:24.712+0300] P-007688 T-S-10927 1 UB ---------- Posted EAbnormalShutdownServerEvent for PID: 6992
[22:17:24.712+0300] P-007688 T-S-10927 3 UB Basic Ending serverPool thread: S-10927. (8077)




Posted by sgarg on 16-Mar-2016 02:29

The stack trace shows the client got crashed during  schema check operation. I would suggest to contact Progress Technical Support to log a bug with reproducible steps .

All Replies

Posted by sgarg on 16-Mar-2016 02:29

The stack trace shows the client got crashed during  schema check operation. I would suggest to contact Progress Technical Support to log a bug with reproducible steps .

This thread is closed