Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4639387

java code invoked through JNI produces coredump only in java 1.3.x

    XMLWordPrintable

    Details

    • Subcomponent:
    • Resolved In Build:
      05
    • CPU:
      sparc
    • OS:
      solaris_8

      Backports

        Description

         Java code is invoked through JNI from a native application. A core dump
        is produced by an explicit call to abort() function that is made from inside
        the Sun's JVM code. JVM 1.3.1-02 prints the following error message before
        calling abort():

        # HotSpot Virtual Machine Error, Internal Error
        # Please report this error at
        # <http://java.sun.com/cgi-bin/bugreport.cgi>
        #
        # Error ID: 53414645504F494E540E435050036F 01
        #
        # Problematic Thread: prio=5 tid=0x183c320 nid=0x5 runnable
        #

        The same Java code with the same native application but with JVM 1.2
        doesn't't exhibit the same problem. Problem is reproducible with
        solaris 2.6, solaris 7 & solaris 8.

        Here is the stack trace:
        ========================
        ***** Output from "file core"

        core: ELF 32-bit MSB core file SPARC Version 1, from 'dmcsrv'

        NB: We load explicitly the libjvm.so using dlopen(). The only option that we specify is -Xbootclasspath:


        ***** dbx stack trace

        fred:bindbg>mv core coreJVM
        fred:bindbg>dbx dmcsrv coreJVM
        Reading dmcsrv
        core file header read successfully
        Reading ld.so.1
        Reading libpthread.so.1
        Reading libdmfc.so
        Reading libglobalc.so
        Reading libm.so.1
        Reading libsocket.so.1
        Reading libnsl.so.1
        Reading libposix4.so.1
        Reading libdl.so.1
        Reading libdmsapi.so
        Reading libdmcgtb.so
        Reading libjavaobj.so
        Reading libldapssl40.so
        Reading libsso_client.so
        Reading libxerces-c1_5_1.so
        Reading librpdaCore.so
        Reading librpdaBase.so
        Reading libCrun.so.1
        Reading libw.so.1
        Reading libthread.so.1
        Reading libc.so.1
        Reading libmp.so.2
        Reading libaio.so.1
        Reading libresolv.so.2
        Reading libc_psr.so.1
        Reading en_US.so.1
        Reading libjvm.so
        Reading libhpi.so
        Reading libverify.so
        Reading libjava.so
        Reading libzip.so
        detected a multithreaded program
        t@5 (l@13) terminated by signal ABRT (Abort)
        0xef154c90: __sigprocmask+0x0008: jmp %o7 + 0x8
        (dbx) where
        current thread: t@5
        =>[1] __sigprocmask(0x0, 0x622d7620, 0x0, 0xffffffff, 0xffffffff, 0x0), at 0xef154c90
          [2] _resetsig(0xef167814, 0xef166b60, 0x0, 0x0, 0xee509e3c, 0xee509e40), at 0xef14b9c8
          [3] _sigon(0xef16b680, 0xef16b5e0, 0xee509e38, 0xee50878c, 0x6, 0x5), at 0xef14b184
          [4] _thrp_kill(0x0, 0x5, 0x6, 0xef166b60, 0xee509dd0, 0xef16af74), at 0xef14dec0
          [5] abort(0xee92563c, 0xee508880, 0x0, 0xfffffff8, 0x0, 0xee5088a1), at 0xee8bb328
          [6] os::abort(0x1, 0xedf16000, 0x1, 0xedf16000, 0x183c838, 0xee50889c), at 0xede67ac4
          [7] report_error(0xe6, 0xee50911a, 0x36f, 0xedec6da0, 0xedf51830, 0xedf16000), at 0xeddd2c08
          [8] report_fatal(0x36f, 0xedf16000, 0xedee0580, 0x0, 0x1a8ad60, 0x0), at 0xeddd24d8
          [9] CompiledCodeSafepointHandler::release(0x0, 0x1b810a0, 0xedf16000, 0x1a8ad60, 0xedf5151c, 0x1afc618), at 0xede74b7c
          [10] SafepointSynchronize::end(0x0, 0xedf16000, 0x1b654e8, 0x1b810a0, 0xedf26298, 0xedf16000), at 0xedd6dbc8
          [11] VMThread::loop(0x183c838, 0x0, 0x8, 0xedf31684, 0xedf31678, 0xedf31688), at 0xedd00330
          [12] VMThread::run(0xedf16000, 0x183c838, 0x0, 0x0, 0x0, 0x0), at 0xedcffdd0
          [13] _start(0xedf16000, 0xef16a4e0, 0x0, 0xef170ab4, 0x1, 0xfe401000), at 0xedcffd0c
        (dbx) threads
              t@1 ?() sleep on 0x17af660 in _swtch()
              t@2 b l@2 ?() LWP suspended in _signotifywait()
              t@3 a l@8 ?() sleep on 0xef168720 in __lwp_sema_wait()
              t@4 CDmInitThreadPosix() sleep on 0xef1683f0 in _swtch()
        o> t@5 a l@13 _start() signal SIGABRT in __sigprocmask()
              t@6 b l@5 _co_timerset() LWP suspended in __lwp_sema_wait()
              t@7 _start() sleep on 0x183e428 in _swtch()
              t@8 _start() sleep on 0x183ef10 in _swtch()
              t@9 a l@1 _start() sleep on 0x17c4d60 in __lwp_sema_wait()
             t@10 _start() sleep on 0x17b0960 in _swtch()
             t@11 _start() sleep on 0x17b0560 in _swtch()
             t@12 _start() sleep on 0x17b03a0 in _swtch()
             t@13 CDmInitThreadPosix() sleep on 0x1885750 in _swtch()
             t@14 CDmInitThreadPosix() sleep on 0x1885940 in _swtch()
             t@15 CDmInitThreadPosix() sleep on 0x1897e28 in _swtch()
             t@16 a l@6 CDmInitThreadPosix() LWP suspended in _poll()
             t@17 CDmInitThreadPosix() sleep on 0x17b07f0 in _swtch()
             t@18 a l@7 CDmInitThreadPosix() sleep on 0x17c4d60 in __lwp_sema_wait()
             t@19 a l@9 CDmInitThreadPosix() sleep on 0x17c4d60 in __lwp_sema_wait()
             t@20 CDmInitThreadPosix() sleep on 0x19b3148 in _swtch()
             t@21 a l@4 CDmInitThreadPosix() sleep on 0x17c4d60 in __lwp_sema_wait()
             t@22 CDmInitThreadPosix() sleep on 0x19b3590 in _swtch()
             t@23 CDmInitThreadPosix() sleep on 0x19b3db8 in _swtch()
             t@24 CDmInitThreadPosix() sleep on 0x19b43e0 in _swtch()
             t@25 CDmInitThreadPosix() sleep on 0x19b4600 in _swtch()
             t@26 CDmInitThreadPosix() sleep on 0x19b4820 in _swtch()
             t@27 CDmInitThreadPosix() sleep on 0x19b4a40 in _swtch()
             t@28 CDmInitThreadPosix() sleep on 0x19b4e50 in _swtch()
             t@29 CDmInitThreadPosix() sleep on 0x19b4ea8 in _swtch()
             t@30 a l@3 CDmInitThreadPosix() LWP suspended in _read()
           t@1239 a l@16 _start() sleep on 0x17c4d60 in __lwp_sema_wait()
        (dbx) thread t@7
        t@7 (l@X) stopped in _swtch at 0xef147cac
        0xef147cac: _swtch+0x0490: call _resume [PLT]
        (dbx) where
        current thread: t@7
        =>[1] _swtch(0xef16a4e0, 0xef166b60, 0xea781e54, 0xea781e50, 0xea781e4c, 0xea781e48), at 0xef147cac
          [2] cond_wait(0x183e428, 0x183e410, 0x4356, 0xef166b60, 0x183ef70, 0x0), at 0xef14689c
          [3] ObjectMonitor::wait(0xedf4616c, 0x183e428, 0x183e410, 0xedf5a1e8, 0xedf16000, 0x183ef70), at 0xedd11474
          [4] ObjectSynchronizer::wait(0xea7817a4, 0x0, 0xedf16000, 0x183daa0, 0x0, 0xedf21d7c), at 0xedd10c54
          [5] JVM_MonitorWait(0xedf2a28c, 0x0, 0x0, 0xe4400240, 0x183daa0, 0xea78189c), at 0xedd1092c
          [6] 0x181a728(0xe4400240, 0xea781a18, 0x183daa0, 0xedf16000, 0xb6, 0xe8435020), at 0x181a727
          [7] 0x181788c(0xe4400240, 0xea781a18, 0x183daa0, 0x1820b50, 0xb6, 0xe8446538), at 0x181788b
          [8] 0x181788c(0x0, 0x1, 0xedf22900, 0x1820d1c, 0x1e, 0xe), at 0x181788b
          [9] 0xedf4b3f4(0xea781a38, 0xea781c70, 0xa, 0xe84462e0, 0x18198d8, 0xea781bbc), at 0xedf4b3f3
          [10] JavaCalls::call_helper(0xea781c68, 0xedf16000, 0xea781bb4, 0x183daa0, 0x18198d8, 0xea781c70), at 0xedd0162c
          [11] JavaCalls::call_virtual(0xe8446388, 0xea781ba0, 0xea781ba4, 0xedf16000, 0xea781c68, 0xea781bb4), at 0xedd102c4
          [12] JavaCalls::call_virtual(0xea781c68, 0xea781c64, 0xea781c60, 0xea781c54, 0xea781c4c, 0x183daa0), at 0xedd10154
          [13] thread_entry(0xe8417000, 0x183daa0, 0xedf16000, 0xea781d70, 0x1e, 0xe), at 0xedd100dc
          [14] JavaThread::run(0xea702000, 0xedf1fe9c, 0xedf16000, 0x80000, 0x183daa0, 0x80000), at 0xedd0fee8
          [15] _start(0xedf16000, 0xef16a4e0, 0x0, 0xef170ab4, 0x1, 0xfe401000), at 0xedcffd0c
        (dbx) thread t@8
        t@8 (l@X) stopped in _swtch at 0xef147cac
        0xef147cac: _swtch+0x0490: call _resume [PLT]
        (dbx) where
        current thread: t@8
        =>[1] _swtch(0xef16a4e0, 0xef166b60, 0xea681e54, 0xea681e50, 0xea681e4c, 0xea681e48), at 0xef147cac
          [2] cond_wait(0x183ef10, 0x183eef8, 0x4356, 0xef166b60, 0x183efa8, 0x0), at 0xef14689c
          [3] ObjectMonitor::wait(0xedf4616c, 0x183ef10, 0x183eef8, 0xedf5a1e8, 0xedf16000, 0x183efa8), at 0xedd11474
          [4] ObjectSynchronizer::wait(0xea681714, 0x0, 0xedf16000, 0x183e588, 0x0, 0xea6813e8), at 0xedd10c54
          [5] JVM_MonitorWait(0xedf2a28c, 0x0, 0x0, 0xe4400338, 0x183e588, 0xea681814), at 0xedd1092c
          [6] 0x181a728(0xe4400338, 0xea681a18, 0x183e588, 0xedf16000, 0xb6, 0xe8446f40), at 0x181a727
          [7] 0x181788c(0xe4400328, 0xea681a18, 0x183e588, 0x1820b50, 0xb6, 0xe8446f50), at 0x181788b
          [8] 0x18178d0(0xe4400328, 0xea681a18, 0x183e588, 0x1820b50, 0xb6, 0xe8447828), at 0x18178cf
          [9] 0x18178d0(0x0, 0x1, 0xedf22900, 0xea681d70, 0x1e, 0xe), at 0x18178cf
          [10] 0xedf4b3f4(0xea681a38, 0xea681c70, 0xa, 0xe8447658, 0x18198d8, 0xea681bbc), at 0xedf4b3f3
          [11] JavaCalls::call_helper(0xea681c68, 0xedf16000, 0xea681bb4, 0x183e588, 0x18198d8, 0xea681c70), at 0xedd0162c
          [12] JavaCalls::call_virtual(0xe84476b0, 0xea681ba0, 0xea681ba4, 0xedf16000, 0xea681c68, 0xea681bb4), at 0xedd102c4
          [13] JavaCalls::call_virtual(0xea681c68, 0xea681c64, 0xea681c60, 0xea681c54, 0xea681c4c, 0x183e588), at 0xedd10154
          [14] thread_entry(0xe8417000, 0x183e588, 0xedf16000, 0xea681d70, 0x1e, 0xe), at 0xedd100dc
          [15] JavaThread::run(0xea602000, 0xedf1fe9c, 0xedf16000, 0x80000, 0x183e588, 0x80000), at 0xedd0fee8
          [16] _start(0xedf16000, 0xef16a4e0, 0x0, 0xef170ab4, 0x1, 0xfe401000), at 0xedcffd0c
        (dbx) thread t@9
        t@9 (l@1) stopped in __lwp_sema_wait at 0xee8ba4ec
        0xee8ba4ec: __lwp_sema_wait+0x000c: bgeu,a __lwp_sema_wait+0x20
        (dbx) where
        current thread: t@9
        =>[1] __lwp_sema_wait(0x4, 0x0, 0x0, 0xedf16000, 0x1840980, 0x0), at 0xee8ba4ec
          [2] _park(0xee305dd0, 0xee305e78, 0x0, 0x6, 0xef167b80, 0xe4381dd0), at 0xef147e98
          [3] _swtch(0x5, 0xef166b60, 0xee305e54, 0xee305e50, 0xee305e4c, 0xee305e48), at 0xef147b7c
          [4] _mutex_adaptive_lock(0x17c4d60, 0x4c00, 0xef166b60, 0x1, 0x4d58, 0xfffeffff), at 0xef1492f4
          [5] _cmutex_lock(0x17c4d60, 0xef166b60, 0xa, 0x0, 0x0, 0x0), at 0xef149000
          [6] _mutex_lock(0x17c4d60, 0xff, 0xee928544, 0xee928544, 0xee928544, 0x0), at 0xef156764
          [7] Mutex::lock_without_safepoint_check(0xedf16000, 0x17c0b18, 0x7fffffff, 0xef166b60, 0x0, 0xa), at 0xedc68028
          [8] os::sleep(0x1840980, 0xa, 0xedf16000, 0x0, 0x0, 0x1840980), at 0xedd1edac
          [9] WatcherThread::run(0x1840980, 0xedf2caac, 0x0, 0xedf16000, 0x1840980, 0x0), at 0xedd1ec98
          [10] _start(0xedf16000, 0xef16a4e0, 0x0, 0xef170ab4, 0x1, 0xfe401000), at 0xedcffd0c
        (dbx) thread t@10
        t@10 (l@X) stopped in _swtch at 0xef147cac
        0xef147cac: _swtch+0x0490: call _resume [PLT]
        (dbx) where
        current thread: t@10
        =>[1] _swtch(0xee943d70, 0xef166b60, 0xee203e54, 0xee203e50, 0xee203e4c, 0xee203e48), at 0xef147cac
          [2] cond_wait(0x17b0960, 0x17b0948, 0x4356, 0xef166b60, 0x18424b0, 0xee203bf4), at 0xef14689c
          [3] Monitor::wait(0x17b0918, 0x1, 0x0, 0x0, 0x0, 0x0), at 0xedcff8a8
          [4] SuspendCheckerThread::run(0x18424b0, 0x1, 0xedf2cab4, 0xedf262d4, 0x0, 0xedf16000), at 0xede7e664
          [5] _start(0xedf16000, 0xee943d70, 0x0, 0xef170ab4, 0x1, 0xfe401000), at 0xedcffd0c
        (dbx) thread t@11
        t@11 (l@X) stopped in _swtch at 0xef147cac
        0xef147cac: _swtch+0x0490: call _resume [PLT]
        (dbx) where
        current thread: t@11
        =>[1] _swtch(0xee943d70, 0xef166b60, 0xea581e54, 0xea581e50, 0xea581e4c, 0xea581e48), at 0xef147cac
          [2] cond_wait(0x17b0560, 0x17b0548, 0x4356, 0xef166b60, 0x18431a8, 0xea581a74), at 0xef14689c
          [3] Monitor::wait(0x17b27f8, 0x0, 0x0, 0xedf16000, 0x0, 0xedf2a28c), at 0xedcffa94
          [4] os::signal_wait(0x0, 0xedf262ec, 0xedf16000, 0xedf27e94, 0x2f, 0x0), at 0xedd1fdf8
          [5] signal_thread_entry(0xedf16000, 0x18431a8, 0xedf4fec4, 0xedf50050, 0xedf50080, 0x3), at 0xedd1fc24
          [6] JavaThread::run(0xea502000, 0xedf1fe9c, 0xedf16000, 0x80000, 0x18431a8, 0x80000), at 0xedd0fee8
          [7] _start(0xedf16000, 0xee943d70, 0x0, 0xef170ab4, 0x1, 0xfe401000), at 0xedcffd0c
        (dbx) thread t@12
        t@12 (l@X) stopped in _swtch at 0xef147cac
        0xef147cac: _swtch+0x0490: call _resume [PLT]
        (dbx) where
        current thread: t@12
        =>[1] _swtch(0xee943d70, 0xef166b60, 0xee101e54, 0xee101e50, 0xee101e4c, 0xee101e48), at 0xef147cac
          [2] cond_wait(0x17b03a0, 0x17b0388, 0x4356, 0xef166b60, 0x1843b50, 0xee101b64), at 0xef14689c
          [3] Monitor::wait(0x17b6988, 0x0, 0x0, 0xedf16000, 0x0, 0xedf2a28c), at 0xedcffa94
          [4] CompileBroker::compiler_thread_loop(0x17b6988, 0x1843b50, 0xedf16000, 0xee101d70, 0xedf16000, 0xe84053f8), at 0xedd1feec
          [5] JavaThread::run(0xee002000, 0xedf1fe9c, 0xedf16000, 0x100000, 0x1843b50, 0x100000), at 0xedd0fee8
          [6] _start(0xedf16000, 0xee943d70, 0x0, 0xef170ab4, 0x1, 0xfe401000), at 0xedcffd0c
        (dbx) thread t@1239
        t@1239 (l@16) stopped in __lwp_sema_wait at 0xee8ba4ec
        0xee8ba4ec: __lwp_sema_wait+0x000c: bgeu,a __lwp_sema_wait+0x20
        (dbx) where
        current thread: t@1239
        =>[1] __lwp_sema_wait(0x4, 0x0, 0x0, 0xffffffff, 0xffffffff, 0x0), at 0xee8ba4ec
          [2] _park(0xe4381dd0, 0xe4381e78, 0x0, 0x6, 0xef167b80, 0xe3a03dd0), at 0xef147e98
          [3] _swtch(0x5, 0xef166b60, 0xe4381e54, 0xe4381e50, 0xe4381e4c, 0xe4381e48), at 0xef147b7c
          [4] _mutex_adaptive_lock(0x17c4d60, 0x4c00, 0xef166b60, 0x1, 0x4d58, 0xfffeffff), at 0xef1492f4
          [5] _cmutex_lock(0x17c4d60, 0xef166b60, 0x0, 0xef16fe9c, 0x0, 0x0), at 0xef149000
          [6] _mutex_lock(0x17c4d60, 0xff, 0xe4381, 0xedf16000, 0x1b654e8, 0xe43819dc), at 0xef156764
          [7] Mutex::lock_without_safepoint_check(0xedf16000, 0x17c0b18, 0x0, 0x0, 0x0, 0x0), at 0xedc68028
          [8] SafepointSynchronize::block(0xedf26298, 0x0, 0x7, 0xedf16000, 0x7, 0x1b654e8), at 0xedd96810
          [9] Mutex::lock(0x17c0b18, 0xedf2a28c, 0x1b654e8, 0xedf16000, 0xe4381be4, 0xedf16000), at 0xedccd8b0
          [10] JavaThread::exit(0xedf1fe9c, 0xe4302000, 0x80000, 0x1b654e8, 0xedf16000, 0xe), at 0xedd69fe4
          [11] JavaThread::run(0xe4302000, 0xedf1fe9c, 0xedf16000, 0x80000, 0x1b654e8, 0x80000), at 0xedd0fefc
          [12] _start(0xedf16000, 0xecbe5d70, 0x0, 0xef170ab4, 0x1, 0xfe401000), at 0xedcffd0c
        (dbx) quit


          Attachments

            Issue Links

              Activity

                People

                Assignee:
                sgoldman Steve Goldman (Inactive)
                Reporter:
                duke J. Duke (Inactive)
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: