Microsoft KB Archive/257998

From BetaArchive Wiki
Knowledge Base


FIX: Using JDBC-ODBC Bridge Causes an Access Violation in Multithreaded Applications Under Stress

Article ID: 257998

Article Last Modified on 7/4/2007



APPLIES TO

  • Microsoft Java Virtual Machine



This article was previously published under Q257998

SYMPTOMS

In long-running, multithreaded applications using JDBC-ODBC bridge, you might experience Access Violations with call stacks as shown here. The key identification factors are a fault in ODBC32 with calls from the MSJDBC10 module on the call stack.

00  000000000482fdd4  000000001f70264f  ODBC32!EnterDbcCS+0x6
01  000000000482fdf4  000000001f702505  ODBC32!FreeStmt+0x10a
02  000000000482fe0c  000000007c3e6522  ODBC32!SQLFreeStmt+0x22
03  000000000482fef0  000000007c0019db  MSJDBC10!com_ms_jdbc_odbc_JdbcOdbc_freeStmt+0x72
04  000000000482ff5c  000000007c006845  MSJAVA!CJavaEngine::VMInvoke+0x2e
05  000000000482ff80  000000007c023c16  MSJAVA!CallFinalizer+0x38
06  000000000482ff98  000000007c023bba  MSJAVA!CGCHeap::RunFinalizerLoop+0x57
07  000000000482ffb8  0000000077f04ee8  msjava!0x000000007C023BBA
08  000000000482ffc0  ffffffffc0000034  KERNEL32!BaseThreadStart+0x51
09  0000000000000000  0000000000000000  0xFFFFFFFFC0000034
                

-or-

09  000000000165efec  00000000062064a0  SQLSRV32!SAVETHREADID+0x20
0a  000000000165f064  000000001f4a738d  SQLSRV32!SQLGetData+0x30
0b  000000000165f090  000000007c3e6dc9  ODBC32!SQLGetData+0x2ed
0c  000000000165f0ec  0000000001c71421  MSJDBC10!com_ms_jdbc_odbc_JdbcOdbc_getDataString+0xa9
0d  000000000165f124  000000000165f540  0x0000000001C71421
                

CAUSE

The problem is due to improper synchronization and incorrect handling of SQL exceptions in the bridge code.

RESOLUTION

NOTE: If you are using Windows 2000, you must install Windows 2000 Service Pack (SP) 1 before you upgrade the Microsoft virtual machine (Microsoft VM).

To resolve this problem, install build 3802 or later of the Microsoft VM. For more information, visit the following Microsoft Web site:

WARNING: After you install the updated Microsoft VM, you cannot uninstall it.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

This problem was corrected in Microsoft VM build 3802.


REFERENCES

For information about Windows 2000 SP1, see the following Microsoft Web site:

For additional information about how to install Windows 2000 and Windows 2000 hotfixes at the same time, click the article number below to view the article in the Microsoft Knowledge Base:

249149 Installing Microsoft Windows 2000 and Windows 2000 Hotfixes


For the latest Microsoft Knowledge Base articles and other support information on Microsoft Visual J++ and the Microsoft SDK for Java, please see the following pages on the Microsoft Technical Support Web site:

Keywords: kbbug kbfix kbjavavm31xxfix kbwin2000sp1fix KB257998