Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 24224 invoked from network); 11 Jan 2008 09:42:55 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 11 Jan 2008 09:42:55 -0000 Received: (qmail 52445 invoked by uid 500); 11 Jan 2008 09:42:44 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 52425 invoked by uid 500); 11 Jan 2008 09:42:44 -0000 Mailing-List: contact commits-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list commits@harmony.apache.org Received: (qmail 52415 invoked by uid 99); 11 Jan 2008 09:42:44 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 11 Jan 2008 01:42:44 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 11 Jan 2008 09:42:28 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 6C33E71425F for ; Fri, 11 Jan 2008 01:42:34 -0800 (PST) Message-ID: <19669534.1200044554440.JavaMail.jira@brutus> Date: Fri, 11 Jan 2008 01:42:34 -0800 (PST) From: "Gregory Shimansky (JIRA)" To: commits@harmony.apache.org Subject: [jira] Commented: (HARMONY-3117) [db2] IBM DB2 JDBC "sample apps" crash on exit In-Reply-To: <6950712.1170446825826.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HARMONY-3117?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12557949#action_12557949 ] Gregory Shimansky commented on HARMONY-3117: -------------------------------------------- Yes, I see that a crash has happened and crash handler that would have printed the stack crashed too trying to get a property. Maybe crash happened very late in the shutdown stage when properties are no longer available. I'll try to reproduce the crash myself. > [db2] IBM DB2 JDBC "sample apps" crash on exit > ---------------------------------------------- > > Key: HARMONY-3117 > URL: https://issues.apache.org/jira/browse/HARMONY-3117 > Project: Harmony > Issue Type: Bug > Components: App-Oriented Bug Reports > Environment: EM64T -- RedHat Enterprise Linux 4 - U4 > IBM DB2 Express-C version9.1 > Latest Harmony JRE binary download (vn = r487452, (Dec 15 2006), Linux/em64t/gcc 4.0.3, release build) > Reporter: Chris Elford > Assignee: Gregory Shimansky > Priority: Critical > Fix For: 5.0M4 > > Attachments: db2-setup.zip > > > Putting critical because critical is defined as "Crashes, loss of data, severe memory leak." > I was experimenting with whether DB2 JDBC connection will work with Harmony. I am using the sample apps that come with DB2. The JDBC layer appears to connect to the database successfully (which is good for Harmony) and queries appear to work (data comes thru). However, during shutdown of the sample apps, the process regularly segfaults when using Harmony and exits cleanly using the BEA JRE and Sun JRE. > crash behavior is consistent with both "java DbConn" (basic connection test) and "java TbSel" (basic sql select test) sample apps that come with the "free" version of DB2. > unfortunately, the core file provides little insight. > (gdb) bt > #0 0x0000002aaf5898fa in ?? () > #1 0x0000000000000000 in ?? () > (gdb) info threads > * 1 process 22262 0x0000002aaf5898fa in ?? () > Attaching with debugger gives a possible hint: > Program received signal SIGSEGV, Segmentation fault. > 0x0000002aaf5898fa in OSSHLibrary::unload () > from /home/db2inst/sqllib/lib64/libdb2osse.so.1 > (gdb) bt > #0 0x0000002aaf5898fa in OSSHLibrary::unload () > from /home/db2inst/sqllib/lib64/libdb2osse.so.1 > #1 0x0000002aacce93de in sqlexPluginUnload () > from /home/db2inst/sqllib/lib64/libdb2.so.1 > #2 0x0000002aad1dd080 in sqlexAppLibTerm () > from /home/db2inst/sqllib/lib64/libdb2.so.1 > #3 0x0000002aacc41afa in sqlmStreamFlagsAction () > from /home/db2inst/sqllib/lib64/libdb2.so.1 > #4 0x0000002aacc41b83 in _ZN10appLibInitD9Ev () > from /home/db2inst/sqllib/lib64/libdb2.so.1 > #5 0x0000002aacc41b73 in appLibInit::~appLibInit () > from /home/db2inst/sqllib/lib64/libdb2.so.1 > #6 0x000000380df30c45 in exit () from /lib64/tls/libc.so.6 > #7 0x000000380df1c402 in __libc_start_main () from /lib64/tls/libc.so.6 > #8 0x000000000040096a in _start () at ../sysdeps/x86_64/elf/start.S:113 > It looks to me that the C++ destructors registered by some presumably JNI components are being invoked by the C runtime at process exit. At this time there are no other threads remaining (i.e., java looks like it is done and gone) and presumably during the cleanup process something gets out of control. > In contrast with the Sun Java5 JRE, there are 13 other threads remaining when the destructor runs and 12 other threads with the BEA Java5 JRE. > I'm not sure if this is a compatibility issue with the reference implementation or if is simply a hole in the JNI support that Harmony currently provides. It appears to be 100% reproducable. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.