JDK-4233230 : (1.1) In 1.1.8 *** panic: 16-bit string hash table overflow
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 1.1.8
  • Priority: P1
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_2.6
  • CPU: sparc
  • Submitted: 1999-04-27
  • Updated: 2001-03-12
  • Resolved: 2001-03-12
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
1.1.8_001 b01Fixed
Related Reports
Relates :  
Description
This problem shows up while running Cloudscape Database.
I have attached the files that are needed to reproduce this problem. Also
this problem shows up both on Solaris and Windows NT with JDK 1.1.8

To reproduce this problem first the install.zip.cloudscape needs to be
installed and then install.zip.cloudsync , on top of the same directory.

The class path needs to be

setenv CLASSPATH /export/cloudscape/alpha1/cloudscape/lib/tools.jar:/export/clou
dscape/alpha1/cloudscape/lib/cloudsync.jar:/export/cloudscape/alpha1/cloudscape/
lib/tools.zip:/export/cloudscape/alpha1/cloudscape/demo/programs/tours:.:${CLASS
PATH}

if /export/cloudscape/alpha1/cloudscape is the directory from where we are
installing every thing

To run this we need to go to bin directory and run ./cview.ksh

designer% ./cview.ksh

*** panic: 16-bit string hash table overflow
SIGABRT   6*   abort (generated by abort(3) routine)
    si_signo [6]: SIGABRT   6*   abort (generated by abort(3) routine)
    si_errno [0]: Error 0
    si_code [-1]: SI_LWP [pid: 11542, uid: 40690]
        stackbase=EF0A2000, stackpointer=EF0A1788

Full thread dump:
    "Image Fetcher 2" (TID:0xed1b38e0, sys_thread_t:0xecaf1db8, state:R) prio=3
        java.awt.MediaTracker.setDone(MediaTracker.java:782)
        java.awt.MediaEntry.setStatus(MediaTracker.java:855)
        java.awt.ImageMediaEntry.imageUpdate(MediaTracker.java:919)
        sun.awt.image.ImageWatched.newInfo(ImageWatched.java:62)
        sun.awt.image.ImageRepresentation.imageComplete(ImageRepresentation.java:265)
        sun.awt.image.ImageDecoder.imageComplete(ImageDecoder.java:142)
        sun.awt.image.GifImageDecoder.produceImage(GifImageDecoder.java:285)
        sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:257)
        sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:143)
        sun.awt.image.ImageFetcher.run(ImageFetcher.java:119)
    "Image Fetcher 1" (TID:0xed11e170, sys_thread_t:0xecb21db8, state:R) prio=3
        sun.awt.image.ImageRepresentation.setPixels(ImageRepresentation.java:176)
        sun.awt.image.ImageDecoder.setPixels(ImageDecoder.java:115)
        sun.awt.image.GifImageDecoder.sendPixels(GifImageDecoder.java:447)
        sun.awt.image.GifImageDecoder.readImage(GifImageDecoder.java:558)
        sun.awt.image.GifImageDecoder.produceImage(GifImageDecoder.java:227)
        sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:257)
        sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:143)
        sun.awt.image.ImageFetcher.run(ImageFetcher.java:119)
    "Image Fetcher 0" (TID:0xed11de08, sys_thread_t:0xecb81db8, state:R) prio=3
        sun.awt.image.ImageRepresentation.setPixels(ImageRepresentation.java:176)
        sun.awt.image.ImageDecoder.setPixels(ImageDecoder.java:115)
        sun.awt.image.GifImageDecoder.sendPixels(GifImageDecoder.java:447)
        sun.awt.image.GifImageDecoder.readImage(GifImageDecoder.java:558)
        sun.awt.image.GifImageDecoder.produceImage(GifImageDecoder.java:227)
        sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:257)
        sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:143)
        sun.awt.image.ImageFetcher.run(ImageFetcher.java:119)
    "Stage Truncator: source1" (TID:0xed0e0158, sys_thread_t:0xecbb1db8, state:CW) prio=5
        COM.jbms._173._2262._5704(Unknown Source)
        COM.jbms._173._2262._5703(Unknown Source)
        COM.jbms._173._2262.run(Unknown Source)
        java.lang.Thread.run(Thread.java)
    "LogTrunc source1" (TID:0xed0e01a0, sys_thread_t:0xecbe1db8, state:CW) prio=5
        java.lang.Object.wait(Object.java)
        COM.jbms._178._2328._6137(Unknown Source)
        COM.jbms._178._2328.doTheWork(Unknown Source)
        COM.jbms._178._2327.run(Unknown Source)
        java.lang.Thread.run(Thread.java)
    "LogSniff source1" (TID:0xed0dff20, sys_thread_t:0xecc11db8, state:CW) prio=5
        COM.jbms._178._2317._6097(Unknown Source)
        COM.jbms._178._2317._6096(Unknown Source)
        COM.jbms._178._2317.doTheWork(Unknown Source)
        COM.jbms._178._2327.run(Unknown Source)
        java.lang.Thread.run(Thread.java)
    "HTTP Listener" (TID:0xed0df708, sys_thread_t:0xecc41db8, state:CW) prio=5
        java.net.PlainSocketImpl.accept(PlainSocketImpl.java:379)
        java.net.ServerSocket.implAccept(ServerSocket.java:198)
        java.net.ServerSocket.accept(ServerSocket.java:181)
        COM.jbms._159._1966.run(Unknown Source)
        java.lang.Thread.run(Thread.java)
    "rawStoreDaemon" (TID:0xed0231e0, sys_thread_t:0xeccb1db8, state:R) prio=1
        java.lang.Thread.setPriority(Thread.java)
        COM.jbms._66._283._560(Unknown Source)
        COM.jbms._66._283._558(Unknown Source)
        COM.jbms._66._283.run(Unknown Source)
        java.lang.Thread.run(Thread.java)
    "antiGC" (TID:0xed038098, sys_thread_t:0xecdd1db8, state:CW) prio=1
        java.lang.Object.wait(Object.java)
        COM.jbms._44._309.run(Unknown Source)
        java.lang.Thread.run(Thread.java)
    "AWT-Finalizer" (TID:0xed038c18, sys_thread_t:0xecda1db8, state:CW) prio=9
        java.lang.Object.wait(Object.java)
        sun.awt.AWTFinalizer.run(AWTFinalizer.java:40)
    "Screen Updater" (TID:0xed0241f0, sys_thread_t:0xecd41db8, state:CW) prio=4
        java.lang.Object.wait(Object.java)
        sun.awt.ScreenUpdater.nextEntry(ScreenUpdater.java:70)
        sun.awt.ScreenUpdater.run(ScreenUpdater.java:90)
    "TimerQueue" (TID:0xed01d020, sys_thread_t:0xecd71db8, state:CW) prio=5
        javax.swing.TimerQueue.run(TimerQueue.java:205)
        java.lang.Thread.run(Thread.java)
    "AWT-Motif" (TID:0xed005668, sys_thread_t:0xecff1db8, state:CW) prio=5
        java.lang.Thread.run(Thread.java)
    "AWT-Input" (TID:0xed005688, sys_thread_t:0xef051db8, state:CW) prio=5
    "AWT-EventQueue-0" (TID:0xed0056a0, sys_thread_t:0xef0a1db8, state:R) prio=5 *current thread*
        COM.jbms._119._1640.<init>(Unknown Source)
        COM.jbms._119._1582.<init>(Unknown Source)
        COM.jbms._119._1245.getTabbedIndexPanel(Unknown Source)
        COM.jbms._119._1245.newIndex(Unknown Source)
        COM.jbms._119._1245.newPrimaryKey(Unknown Source)
        COM.jbms._119._1680.newPrimaryKey(Unknown Source)
        COM.jbms._119._1327.menuNewPrimaryKey_actionPerformed(Unknown Source)
        COM.jbms._119._2133.actionPerformed(Unknown Source)
        javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1066)
        javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1101)
        javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:378)
        javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250)
        javax.swing.AbstractButton.doClick(AbstractButton.java:226)
        javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(BasicMenuItemUI.java:674)
        java.awt.Component.processMouseEvent(Component.java:2358)
        java.awt.Component.processEvent(Component.java:2203)
        java.awt.Container.processEvent(Container.java:901)
        java.awt.Component.dispatchEventImpl(Component.java:1812)
        java.awt.Container.dispatchEventImpl(Container.java:946)
        java.awt.Component.dispatchEvent(Component.java:1744)
    "Finalizer thread" (TID:0xed000210, sys_thread_t:0xef371db8, state:CW) prio=1
    "Async Garbage Collector" (TID:0xed000258, sys_thread_t:0xef471db8, state:R) prio=1
    "Idle thread" (TID:0xed0002a0, sys_thread_t:0xef541db8, state:R) prio=0
    "Clock" (TID:0xed000088, sys_thread_t:0xef571db8, state:CW) prio=12
    "main" (TID:0xed0000b0, sys_thread_t:0xe2be8, state:CW) prio=5
Monitor Cache Dump:
    javax.swing.TimerQueue@ED01D028/ED731DE8: <unowned>
        Waiting to be notified:
            "TimerQueue" (0xecd71db8)
    COM.jbms._44._309@ED038070/ED683550: <unowned>
        Waiting to be notified:
            "antiGC" (0xecdd1db8)
    COM.jbms._178._2328@ED0DF248/EDB76D68: <unowned>
        Waiting to be notified:
            "LogTrunc source1" (0xecbe1db8)
    sun.awt.ScreenUpdater@ED0241F0/ED7A13A8: <unowned>
        Waiting to be notified:
            "Screen Updater" (0xecd41db8)
    sun.awt.AWTFinalizer@ED038C18/ED66A7B8: <unowned>
        Waiting to be notified:
            "AWT-Finalizer" (0xecda1db8)
    java.lang.Class@ED1B7E20/EE38B058: owner "AWT-EventQueue-0" (0xef0a1db8, 1 entry)
    sun.awt.image.ImageRepresentation@ED123B60/EE1094B8: owner "Image Fetcher 0" (0xecb81db8, 1 entry)
    java.lang.Object@ED0DEED0/EDB76290: <unowned>
        Waiting to be notified:
            "Stage Truncator: source1" (0xecbb1db8)
    sun.awt.image.ImageRepresentation@ED124568/EE110C80: owner "Image Fetcher 1" (0xecb21db8, 1 entry)
    java.net.PlainSocketImpl@ED0DF718/EDB782C0: owner "HTTP Listener" (0xecc41db8, 1 entry)
    <unknown key> (0xef471db8): owner "Async Garbage Collector" (0xef471db8, 1 entry)
    sun.awt.motif.MToolkit@ED005468/ED68AE20: <unowned>
        Waiting to be notified:
            "AWT-Motif" (0xecff1db8)
    COM.jbms._178._2317@ED0DF7E0/EDB77710: <unowned>
        Waiting to be notified:
            "LogSniff source1" (0xecc11db8)
Registered Monitor Dump:
    Verifier lock: <unowned>
    Thread queue lock: <unowned>
        Waiting to be notified:
            "main" (0xe2be8)
    Name and type hash table lock: owner "AWT-EventQueue-0" (0xef0a1db8, 1 entry)
    String intern lock: <unowned>
    JNI pinning lock: <unowned>
    JNI global reference lock: <unowned>
    BinClass lock: <unowned>
    Class loading lock: <unowned>
    Java stack lock: <unowned>
    Code rewrite lock: <unowned>
    Heap lock: <unowned>
    Has finalization queue lock: <unowned>
    Finalize me queue lock: <unowned>
        Waiting to be notified:
            "Finalizer thread" (0xef371db8)
    Dynamic loading lock: <unowned>
    Monitor IO lock: <unowned>
    Child death monitor: <unowned>
    Event monitor: <unowned>
    I/O monitor: owner "AWT-Input" (0xef051db8, 1 entry)
    Alarm monitor: <unowned>
        Waiting to be notified:
            "Clock" (0xef571db8)
    Sbrk lock: <unowned>
    Monitor registry: owner "AWT-EventQueue-0" (0xef0a1db8, 1 entry)
Thread Alarm Q:
    sys_thread_t 0xecc11db8   [Timeout in 367 ms]
    sys_thread_t 0xecbb1db8   [Timeout in 3497362 ms]
Abort (core dumped)
designer% 

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: generic FIXED IN: 1.1.8_001 INTEGRATED IN: 1.1.8_001 VERIFIED IN: 1.1.8_006
14-06-2004

PUBLIC COMMENTS The fix has been put into JDK1.1.7_004 and JDk1.1.8_001 patch releases. ###@###.### 1999-11-12 Rose.Ng@eng 2001-03-12 Close bug
12-11-1999

EVALUATION The problem described does not occure with 1.2. Please refer to X Suggested Fix column for the fix for 1.1.x. ###@###.### 1999-06-25 The fix has been put into JDK1.1.7_004 and JDK1.1.8_001 patch releases. The code reviewer is Sheng Liang. ###@###.### 1999-11-12
25-06-1999

SUGGESTED FIX Following is the suggested fix: /share/java/util/util.c 157c157 < short baseid; /* ID for item in slot[0] */ --- > unsigned short baseid; /* ID for item in slot[0] */ 267,268c267,268 < if (h && h->baseid > 32000 && h != stringHash) { < panic("16-bit string hash table overflow"); --- > if (h && h->baseid > 64000 && *hash_ptr != stringHash) { > panic("16-bit nametype hash table overflow"); 409c409 < while ((long)(ID - h->baseid) >= h->size) { --- > while (ID >= (h->baseid + h->size)) { ###@###.### 1999-05-14
14-05-1999