#24 Hanging on Execute (F5)

Future
open
nobody
SQL (23)
3
2013-12-26
2005-06-03
Aleksey Kochetov
No

Posted by: The BLION Corp. Posted on: Today at 3:01am
Hello,

I connected to a database.
I do some queries on it.
And then shutdown the database (without closing
connection in Sqltools)
I ran once more the query just to check what would be
the result (just for fun !)

here is the output I have :

EXCEPTION_ACCESS_VIOLATION

Program: SQLTools 1.4.1 Beta build 66 (for
trouble-shooting)
Location: .\SQLWorksheet\SQLWorksheetDoc.cpp(437).
Platform: MS Windows XP Professional, Service Pack 1
(Build 2600)
COMCTL32.DLL: 6.0.2800.1643
OCI.DLL: 8.1.7.3.0
Connected to: 7.3.4

Stack at the throw point:
0x604b6055 xaolog() + 0x209d5
0x604b5957 xaolog() + 0x202d7
0x60484e61 upirtr() + 0x31
0x6044eb45 kpusebf() + 0xc45
0x6044e3f2 kpusebf() + 0x4f2
0x604441a2 kpudpcv() + 0x2232
0x6044638f kpuertb_reallocTempBuf() + 0x21cf
0x60446e98 kpuertb_reallocTempBuf() + 0x2cd8
0x60401638 OCIStmtExecute() + 0x28
0x10005d77 OCIStmtExecute() + 0x37
0x47951d 0x7951d
0x4767a8 0x767a8
0x476847 0x76847
0x4ad8e2 0xad8e2
0x4ac566 0xac566
0x4ac426 0xac426
0x4b34e2 0xb34e2
0x4b2d93 0xb2d93
0x4e28b4 0xe28b4
0x4e8b3b 0xe8b3b
0x4ea5d1 0xea5d1
0x46e29a 0x6e29a
0x4f82c5 0xf82c5
0x4e0cb7 0xe0cb7
0x4f7ec2 0xf7ec2
0x4de7c0 0xde7c0
0x4e05ef 0xe05ef
0x4fbcec 0xfbcec
0x4de7c0 0xde7c0
0x42f008 0x2f008
0x4e05ef 0xe05ef
0x4e067f 0xe067f
0x77d48654 IsCharAlphaNumericA() + 0x6498
0x77d48723 IsCharAlphaNumericA() + 0x6567
0x77d4a0ec ReleaseDC() + 0x12a
0x77d4a14d SendMessageW() + 0x47
0x7195a5f7 Ordinal260() + 0xa5f7
0x7195b434 CreateToolbar() + 0xb56
0x77d48654 IsCharAlphaNumericA() + 0x6498
0x77d48723 IsCharAlphaNumericA() + 0x6567
0x77d4a7eb IsWindowVisible() + 0x90
0x77d4aa95 CallWindowProcA() + 0x19
0x4de55f 0xde55f
0x4de7d7 0xde7d7
0x4ed3aa 0xed3aa
0x4e05ef 0xe05ef
0x4e067f 0xe067f
0x77d48654 IsCharAlphaNumericA() + 0x6498
0x77d48723 IsCharAlphaNumericA() + 0x6567
0x77d48999 GetMessageW() + 0x125
0x77d48a12 DispatchMessageW() + 0xb
0x77d5e283 IsDialogMessage() + 0x48
0x4e226b 0xe226b
0x4e0346 0xe0346

Stack at the catch point:
0x7ffe0304
0x41f910 0x1f910
0x4b386a 0xb386a
0x4b2d93 0xb2d93
0x4e28b4 0xe28b4
0x4e8b3b 0xe8b3b
0x4ea5d1 0xea5d1
0x46e29a 0x6e29a
0x4f82c5 0xf82c5
0x4e0cb7 0xe0cb7
0x4f7ec2 0xf7ec2
0x4de7c0 0xde7c0
0x4e05ef 0xe05ef
0x4fbcec 0xfbcec
0x4de7c0 0xde7c0
0x42f008 0x2f008
0x4e05ef 0xe05ef
0x4e067f 0xe067f
0x77d48654 IsCharAlphaNumericA() + 0x6498
0x77d48723 IsCharAlphaNumericA() + 0x6567
0x77d4a0ec ReleaseDC() + 0x12a
0x77d4a14d SendMessageW() + 0x47
0x7195a5f7 Ordinal260() + 0xa5f7
0x7195b434 CreateToolbar() + 0xb56
0x77d48654 IsCharAlphaNumericA() + 0x6498
0x77d48723 IsCharAlphaNumericA() + 0x6567
0x77d4a7eb IsWindowVisible() + 0x90
0x77d4aa95 CallWindowProcA() + 0x19
0x4de55f 0xde55f
0x4de7d7 0xde7d7
0x4ed3aa 0xed3aa
0x4e05ef 0xe05ef
0x4e067f 0xe067f
0x77d48654 IsCharAlphaNumericA() + 0x6498
0x77d48723 IsCharAlphaNumericA() + 0x6567
0x77d48999 GetMessageW() + 0x125
0x77d48a12 DispatchMessageW() + 0xb
0x77d5e283 IsDialogMessage() + 0x48
0x4e226b 0xe226b
0x4e0346 0xe0346

Discussion

  • Drzewiecki T.
    Drzewiecki T.
    2005-06-14

    • priority: 5 --> 3
    • summary:
      EXCEPTION_ACCESS_VIOLATION --> EXCEPTION_ACCESS_VIOLATION
     
  • Drzewiecki T.
    Drzewiecki T.
    2005-06-14

    Logged In: YES
    user_id=747155

    There were probably following situation:
    - database was in the process of shutting down
    - Execute started, got old good pointers to OCI structures,
    passed connection tests, etc.
    - finally Execute started function Statement::Execute() and
    OCIStmtExecute() where it hanged due to inexisting Oracle.

    I did following weird:) experiment:
    * I changed pointer GetOCISvcCtx() to 'bad_boy' address 123.
    Hang with result:
    (...)
    0x60679652 OraClient9 kpuexec() + 0x42
    0x6060192a OraClient9 OCIStmtExecute() + 0x2a
    0x100069c7 OCI OCIStmtExecute() + 0x37
    (...)

    I read (once) the whole MetaLink looking for problems with
    OCIStmtExecute (OCI 8.1.7.3.0 connected to: 7.3.4). There
    were some problems with memory leaks and hanging...

    Conclusion: I suggest adding exception handler around
    OCIStmtExecute which will show proper error message and
    will try to do Good disconnect.

     
  • Drzewiecki T.
    Drzewiecki T.
    2005-06-14

    • labels: --> SQL
    • summary: EXCEPTION_ACCESS_VIOLATION --> Hanging on OCIStmtExecute()
     
  • Drzewiecki T.
    Drzewiecki T.
    2005-06-17

    Logged In: YES
    user_id=747155

    I did several queries. Finally during commiting changes in
    Package I've got:

    EXCEPTION_ACCESS_VIOLATION

    Program: SQLTools 1.4.1 Beta build 66 (for trouble-shooting)
    Location: .\SQLWorksheet\SQLWorksheetDoc.cpp(437).
    Platform: MS Windows XP Professional, Dodatek Service
    Pack 2 (Build 2600)
    COMCTL32.DLL: 6.0.2900.2180
    OCI.DLL: 8.0.6.0.0
    Connected to: 10.1.0.4.0

    Stack at the throw point:
    0x4b2540 SQLTools 0xb2540
    0x4ac1ea SQLTools 0xac1ea
    0x4b34e2 SQLTools 0xb34e2
    0x4b2d93 SQLTools 0xb2d93
    0x4e28b4 SQLTools 0xe28b4
    0x4e8b3b SQLTools 0xe8b3b
    0x4ea5d1 SQLTools 0xea5d1
    0x45ba0d SQLTools 0x5ba0d
    0x4f82c5 SQLTools 0xf82c5
    0x4e0cb7 SQLTools 0xe0cb7
    0x4f7ec2 SQLTools 0xf7ec2
    0x4de7c0 SQLTools 0xde7c0
    0x4e05ef SQLTools 0xe05ef
    0x4fbcec SQLTools 0xfbcec
    0x4de7c0 SQLTools 0xde7c0
    0x42f008 SQLTools 0x2f008
    0x4e05ef SQLTools 0xe05ef
    0x4e067f SQLTools 0xe067f
    0x77d38734 USER32 GetDC() + 0x6d
    0x77d38816 USER32 GetDC() + 0x14f
    0x77d3b4c0 USER32
    DefWindowProcW() + 0x184
    0x77d3b50c USER32
    DefWindowProcW() + 0x1d0
    0x7c90eae3 ntdll
    KiUserCallbackDispatcher() + 0x13
    0x4fc0c2 SQLTools 0xfc0c2

    Stack at the catch point:
    0x7c90eb94 KiFastSystemCallRet() + 0

    I tried next time. The same. I tried in other open window - OK.
    I tried several times to commit my package - after 5(?) times
    SQLTools hang with empty (in field 'Action') window.

     
  • Drzewiecki T.
    Drzewiecki T.
    2005-06-17

    • summary: Hanging on OCIStmtExecute() --> Hanging on Execute (F5)
     
  • Drzewiecki T.
    Drzewiecki T.
    2006-01-19

    • milestone: --> Future