"Illegal UTF8 string in constant pool"

I'm running a jsp application on JRun 3.1 with an Appache web server. Every once in while I get this error when trying to access a jsp. "Illegal UTF8 string in constant pool". If I hit refresh or reload the page loads fine. It appears to be random and not very often. Does anybody know what is causing this or what I might do to eliminate this problem? Thanks

Thanks for your reply. However the answer to that question does not appear to apply here. I'm not using the URLConnection.getInputStream().read() method. on my jsp page. The entire error is below:
javax.servlet.ServletException: jrun__sub_topic2ejspe (Illegal UTF8 string in constant pool)
java.lang.ClassFormatError: jrun__sub_topic2ejspe (Illegal UTF8 string in constant pool)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:509)
at java.lang.ClassLoader.defineClass(ClassLoader.java:438)
at allaire.jrun.servlet.JSPClassLoader.loadClass(JSPClassLoader.java:82)
at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
at allaire.jrun.servlet.JRunServletLoader.loadServletInstance(JRunServletLoader.java:221)
at allaire.jrun.servlet.JRunServletLoader.loadServletInstance(JRunServletLoader.java:190)
at allaire.jrun.servlet.JRunServletLoader.loadServlet(JRunServletLoader.java:177)
at allaire.jrun.servlet.JRunServletLoader.reloadServlet(JRunServletLoader.java:161)
at allaire.jrun.servlet.JRunSE.reloadServlet(JRunSE.java:1377)
at allaire.jrun.jsp.JSPServlet.loadPage(JSPServlet.java:205)
at allaire.jrun.jsp.JSPServlet.service(JSPServlet.java:169)
at allaire.jrun.servlet.JRunSE.service(JRunSE.java:1013)
at allaire.jrun.servlet.JRunSE.runServlet(JRunSE.java:925)
at allaire.jrun.servlet.JRunRequestDispatcher.forward(JRunRequestDispatcher.java:88)
at allaire.jrun.servlet.JRunSE.service(JRunSE.java:1131)
at allaire.jrun.servlet.JvmContext.dispatch(JvmContext.java:330)
at allaire.jrun.jrpp.ProxyEndpoint.run(ProxyEndpoint.java:382)
at allaire.jrun.ThreadPool.run(ThreadPool.java:272)
at allaire.jrun.WorkerThread.run(WorkerThread.java:75)
As mentioned before the error occurs infrequently,and randomly. If you refresh or reload the page everything works fine. Does anybody know what might cause this error and/or what I can do to prevent it. Thanks

Similar Messages

  • Allow edit strings in constant pool + show index of constant pool items

    Please allow us to edit strings in constant pool and show the numeric index of constant pool items.

    Editing the strings in the constant pool takes some work since you have to re-adjust several length values throughout the SWF. However, SWF Investigator does show the index of the constant pool items in the disassembler tab.  Any time a constant is used, you will see " //nameIndex = #" at the end of the line. This number will represent the index of that constant in the constant pool.

  • Exception with newFixedThreadPool -  Illegal constant pool index

    Hi,
    I got the following exception :
    Exception in thread "main" java.lang.ClassFormatError: Illegal constant pool index 1536 for method signature in class file java/util/concurrent/LinkedBlockingQueue
         at java.util.concurrent.Executors.newFixedThreadPool(Unknown Source)
    When executing the following line:
    ExecutorService es = Executors.newFixedThreadPool(10);
    What this error mean ?
    Thanks

    From the javadoc for java.lang.ClassFormatError:
    'Thrown when the Java Virtual Machine attempts to read a class file and determines that the file is malformed or otherwise cannot be interpreted as a class file.'
    Reinstall.

  • Whats a String constant pool?

    I was reading an article about weak references and came across a peice of code
       Map<String,String> map = new WeakHashMap<String, String>();
          map.put(new String("Scott"), "McNealey");They also said
    if you don't call new String(), the reference for the map key will be to the system's string constant pool. This never goes away, so the weak reference will never be released. To get around this, new String("Scott") creates a reference to the reference in the string constant pool. The string contents are never duplicated. They stay in the constant pool. This simply creates a separate pointer to the string constant in the pool.
    I never heard of String constant pool could any one enlighten me. I didnt get the point of what above paragraph says also.
    Jubs

    No it won't: it will only be removed when the garbage collector rears
    its ugly head. Until then the reference will be present in the map.Okay it was unprecise. The item MAY be removed immediately after it
    has been inserted because the key object is only referenced from the
    Map itself.Yes, that is true, but mind though: any object that still has a strong
    reference to it will not be removed from that map. I use such weak maps
    for localization reasons a lot. When a localization changes (while the
    application is running), a whole lot of visual components must have
    their text part changed. They are all stored in such a weak reference map.
    Of course quite some visual components can be garbage collected
    at some time (think of labels etc. in JDialogs after the dialog has been
    disposed).
    These maps are ideal for those purposes.
    kind regards,
    Jos

  • What does "Illegal Constant Pool Type" error signify ?

    Hello,
    I have developed an application on a windows system that connects to a database, places values onto an object, and displays on a screen. When I run on a windows environment everything works fine. When I export to my external server, which is linux system, I get an "Illegal Constant Pool Type" error.
    What does this mean and how can I rectify?
    The error message can be found at:
    http://www.blazingvibes.com/blazinvibes/indexhome.jsp
    Thank you all for your help.

    No idea since I can't see the error or code.
    And I don't know about anyone else but I don't click on links unless I know the source, so its current location isn't going to help in that matter.
    Presumably you are doing printStackTrace() so the location of the error is obvious.

  • Question about String constant pool

    Is there is any function available to find how many Sring literal in String Constant pool

    Well, there's stuff like BCEL.
    But it may not do what you want.
    Why do you want to find out what's in the constant pool?

  • Reflection error (Illegal constant pool index)

    Heya,
    I use reflection to invoke Java classes and I get Error:
    java.lang.ClassFormatError: AppendToElement (Illegal constant pool index)
         at java.lang.ClassLoader.defineClass0(Native Method)
         at java.lang.ClassLoader.defineClass(ClassLoader.java:502)
         at java.lang.ClassLoader.defineClass(ClassLoader.java:431)
         at XCOClassLoader.loadClass(XCOClassLoader.java:74)
    // AppendToElement is name of class I want to invoke
    I have bunch of classes from someone else, which I need to invoke and I get this error for all of them. When I invoke classes written (and compiled) by me, everything is OK.
    It seems that the problem is that, these external classes were compiled with different version of Java. As they were written by someone else and I don't have source code, I can't recompile them.
    Is cause of that problem, different JVM versions ? Is there a way how to correct it on runtime ?
    Thanks,
    Michal

    The problem isn't one of versions. The files have become corrupted somehow. I suggest you ask for another copy.

  • Illegal constant pool index ????

    Hi
    I wrote a hello world program using J2ME with a view to writing a game for a mobile phone. I'm a C++ programmer and have never looked a java befor so I have no idea what is going on under the sheets.
    The hello world program is called Welcome (straight out of Sun's J2ME book). It seemed to compile ok and left me with a file called Welcome.class
    Following the instructions in the book and working from the Command Line on WindowsXP I typed
    d:\preverify ....etc
    I got the following
    Error preverifying class Welcome
    Class loading error: Illegal constant pool index
    I've double checked everything and can't find a problem - any ideas?
    Cheers
    Steve

    Stupid - hadn't downloaded the runtime

  • Illegal constant pool type??

    Hi there,
    Anyone knows what's going on here????? any help appreciated!
    [java] java.lang.ClassFormatError: com/bellsouth/estore/cbs/sbvs/relatedaccount/ejb/RelatedAccountServiceBean
    (Illegal constant pool type]
    [java] at java.lang.ClassLoader.defineClass0(Native Method)
    [java] at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
    [java] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
    [java] at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
    [java] at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
    [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
    [java] at java.security.AccessController.doPrivileged(Native Method)
    [java] at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
    [java] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
    [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:290)
    [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
    [java] at weblogic.ejb20.deployer.BeanInfoImpl.loadClass(BeanInfoImpl.java:297)
    [java] at weblogic.ejb20.deployer.BeanInfoImpl.<init>(BeanInfoImpl.java:155)
    [java] at weblogic.ejb20.deployer.ClientDrivenBeanInfoImpl.<init>(ClientDrivenBeanInfoImpl.java:157)
    [java] at weblogic.ejb20.deployer.SessionBeanInfoImpl.<init>(SessionBeanInfoImpl.java:103)
    [java] at weblogic.ejb20.deployer.BeanInfoImpl.createBeanInfoImpl(BeanInfoImpl.java:327)
    [java] at weblogic.ejb20.deployer.MBeanDeploymentInfoImpl.initializeBeanInfos(MBeanDeploymentInfoImpl.java:395)
    [java] at weblogic.ejb20.deployer.MBeanDeploymentInfoImpl.<init>(MBeanDeploymentInfoImpl.java:126)
    [java] at weblogic.ejb20.ejbc.EJBCompiler.setupEJB(EJBCompiler.java:128)
    [java] at weblogic.ejbc20.runBody(ejbc20.java:358)
    [java] at weblogic.utils.compiler.Tool.run(Tool.java:79)
    [java] at weblogic.ejbc20.main(ejbc20.java:460)
    [java] Exception in thread "main"
    [java] Java Result: 1

    Bt the way, there could be another tricky issue. If one uses CVS and checks
    in ejbjar without setting -kb on it, the ejbjar that is cheked out will be
    broken,
    at least for default CVS settings.
    Slava
    "Cameron Purdy" <[email protected]> wrote in message
    news:[email protected]...
    It looks like a malformed class file. Run the verifier (or javap) against
    that class. Turn off JAR compression. Transport files via ftp with the"bin"
    setting. etc.
    Peace,
    Cameron Purdy
    Tangosol, Inc.
    Clustering Weblogic? You're either using Coherence, or you should be!
    Download a Tangosol Coherence eval today at http://www.tangosol.com/
    "Dong" <[email protected]> wrote in message
    news:[email protected]...
    Hi there,
    Anyone knows what's going on here????? any help appreciated!
    [java] java.lang.ClassFormatError:com/bellsouth/estore/cbs/sbvs/relatedaccount/ejb/RelatedAccountServiceBean
    (Illegal constant pool type]
    [java] at java.lang.ClassLoader.defineClass0(Native Method)
    [java] at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
    [java] atjava.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
    [java] atjava.net.URLClassLoader.defineClass(URLClassLoader.java:248)
    [java] at
    java.net.URLClassLoader.access$100(URLClassLoader.java:56)
    [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
    [java] at java.security.AccessController.doPrivileged(NativeMethod)
    [java] atjava.net.URLClassLoader.findClass(URLClassLoader.java:188)
    [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
    [java] atsun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
    [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:290)
    [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
    [java] atweblogic.ejb20.deployer.BeanInfoImpl.loadClass(BeanInfoImpl.java:297)
    [java] atweblogic.ejb20.deployer.BeanInfoImpl.<init>(BeanInfoImpl.java:155)
    [java] at
    weblogic.ejb20.deployer.ClientDrivenBeanInfoImpl.<init>(ClientDrivenBeanInfo
    Impl.java:157)
    [java] at
    weblogic.ejb20.deployer.SessionBeanInfoImpl.<init>(SessionBeanInfoImpl.java:
    103)
    [java] at
    weblogic.ejb20.deployer.BeanInfoImpl.createBeanInfoImpl(BeanInfoImpl.java:32
    7)
    [java] at
    weblogic.ejb20.deployer.MBeanDeploymentInfoImpl.initializeBeanInfos(MBeanDep
    loymentInfoImpl.java:395)
    [java] at
    weblogic.ejb20.deployer.MBeanDeploymentInfoImpl.<init>(MBeanDeploymentInfoIm
    pl.java:126)
    [java] atweblogic.ejb20.ejbc.EJBCompiler.setupEJB(EJBCompiler.java:128)
    [java] at weblogic.ejbc20.runBody(ejbc20.java:358)
    [java] at weblogic.utils.compiler.Tool.run(Tool.java:79)
    [java] at weblogic.ejbc20.main(ejbc20.java:460)
    [java] Exception in thread "main"
    [java] Java Result: 1

  • When String instances in Constant Pool will be GC'ed?

    Hi all,
    I'm involved in an application development; where we are storing numerous string objects into multiple HashMaps. Since the string objects created/placed in HashMap may have duplicate values; we're calling String::intern() method to make use of String Constant Pool feature in Java. But, my concern is - When the Constant String instance will be removed from Pool? Is it follow the same behaviour that if no references are presentm it is eligible for GC; i.e., removal of an instance from all HashMaps?
    Please help.
    Thanks & regards,
    R Kaja Mohideen

    EJP wrote:
    How do you figure?Doesn't say so in the Javadoc. It talks about another pool ...You're taking "A pool of strings, initially empty, is maintained privately by the class String." as meaning it's not "the constant pool"? I wouldn't interpret it that way. And based on the JVM spec, I don't see anything saying the intern()ed Strings go to a different pool than "the constant pool". And if it is a separate pool, then what does go into "the constant pool"?
    http://java.sun.com/docs/books/jvms/second_edition/html/Overview.doc.html#22972
    "A runtime constant pool is a per-class or per-interface runtime representation of the constant_pool table in a class file (§4.4). It contains several kinds of constants, ranging from numeric literals known at compile time to method and field references that must be resolved at run time. "
    "Each runtime constant pool is allocated from the Java virtual machine's method area (§3.5.4)."
    http://java.sun.com/docs/books/jvms/second_edition/html/Overview.doc.html#6656
    "The Java virtual machine has a method area that is shared among all Java virtual machine threads. [...] It stores per-class structures such as the runtime constant pool, field and method data, and the code for methods and constructors [...]"
    http://java.sun.com/docs/books/jvms/second_edition/html/ConstantPool.doc.html#73272
    "The Java virtual machine maintains a per-type constant pool (§3.5.5),"
    "A string literal (§2.3) is derived from a CONSTANT_String_info structure (§4.4.3) in the binary representation of a class or interface. The CONSTANT_String_info structure gives the sequence of Unicode characters constituting the string literal.
    The Java programming language requires that identical string literals (that is, literals that contain the same sequence of characters) must refer to the same instance of class String. In addition, if the method String.intern is called on any string, the result is a reference to the same class instance that would be returned if that string appeared as a literal. Thus,
    ("a" + "b" + "c").intern() == "abc"
    must have the value true.
    To derive a string literal, the Java virtual machine examines the sequence of characters given by the CONSTANT_String_info structure.
    If the method String.intern has previously been called on an instance of class String containing a sequence of Unicode characters identical to that given by the CONSTANT_String_info structure, then the result of string literal derivation is a reference to that same instance of class String.
    Otherwise, a new instance of class String is created containing the sequence of Unicode characters given by the CONSTANT_String_info structure; that class instance is the result of string literal derivation. Finally, the intern method of the new String instance is invoked."
    Edited by: jverd on Jan 23, 2012 8:09 AM

  • Lifetime and behavior of the String Constant Pool

    If you 'inline' a String constant in Java, I'm aware in the VM spec that it says this String is put in the constant pool.
    What is the lifetime of the constant pool and what is it tied to? Is there one constant pool per Class, per Class instance, or per VM?
    If an instance is GC'd, do it's constants previously moved to the constant pool get destroyed, or do they live on until I create another instance of that Class?
    Thanks, Kevin

    Is the constant pool created at compile time and written into the Class file?Yes.
    Each class has it's own constant pool which contains constant values and references to other classes and fields.
    It is created a compile time.
    A class (definition) is loaded by a classloader at runtime.
    In theory you could have the same class loaded twice by different classloaders and each would have a copy of the class definition.
    As far as I know, a class definition can only be removed from memory by nulling/garbage collecting the classloader that loaded it.
    regards,
    Owen

  • Error in groovy expression: Illegal type in constant pool

    Hi,
    I intermittently get this error on my page:
    EMGC_OMS1 ERROR] [ http://oracle.adfinternal.view.faces.config.rich.RegistrationConfigurator [tid:
    userId: SYSMAN ecid: 004emUHK7jA9XbWLHyl3if0002JD0011gG,0:1 APP: emgc URI: ... ... ... :Server Exception during PPR, #15[[ javax.servlet.ServletException: java.lang.VerifyError: (class: org/codehaus/groovy/runtime/ArrayUtil, method: createArray signature: ()[Ljava/lang/Object;) Illegal type in constant pool
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:341)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    Caused by: java.lang.VerifyError: (class:
    org/codehaus/groovy/runtime/ArrayUtil, method: createArray signature:
    ()[Ljava/lang/Object;) Illegal type in constant pool
             at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
             at bc4j.oracle_sysman_core_event_console_uimodel_view_IssueListVO_PriorityLocalizedLabel_null.gs.run(bc4j.oracle_sysman_core_event_console_uimodel_view_IssueListVO_PriorityLocalizedLabel_null.gs.groovy:1)
             at oracle.jbo.ExprEval.internalEvaluateGroovyScript(ExprEval.java:1208)
    The IssueListVO getPriorityLocalizedLabel uses a groovy expression:
    oracle.sysman.core.event.common.uimodel.util.MetadataUtil.getPriorityLabel(Priority.intValue()).
    The Priority field is defined to be numeric, and the repository data shows all records having a value of 0, so this groovy expression should behave correctly.
    We are using Build JDEVADF_11.1.1.5.0_GENERIC_110409.0025.6013.
    Any ideas on how to resolve this?
    Thanks!                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    cn u chk this
    LinkageError

  • "Illegal constant pool type"...how do I fix this????!!

    I have a method that previously ran perfectly and now will not even start. It keeps giving me the following error message:
    "Exception in thread "main" java.lang.ClassFormatError: WF_RevAnalysis (Illegal constant pool type)"
    ...(where 'WF_RevAnalysis is the name of my class)
    Could someone please tell me what an illegal constant pool type is and how I can fix/see/change it???
    Thanks!

    No I haven't installed a new JRE. The method was working fine...then suddenly 15 minutes later it started giving the illegal pool type error.
    Do you by chance know how to find this Constant Pool?

  • How to construct the constant pool?

    Greetings,
    I seems to have a little bit of a problem.
    I have a text file, generated by the javap -c <class_name> command,
    i.e.:
    javap -c myClass > myClass.txt
    This myClass.txt is the input I've got. I do not have the myClass.class, from which it was generated.
    What I wish to do, is to generate, from this text file, a leagal, runnable, class file (i.e., myClass.class).
    But, I have problems understanding how to construct the constant pool array.
    I have read the VM spec (java.sun.com/docs/books/vmspec/2nd-edition/html/ClassFile.doc.html).
    The thing is, that it does not explain how to extract the needed information from the text file.
    Can someone assist?
    Would appreciate,
    Ohad.

    Compiled from Hello.java
    public class Hello extends java.lang.Object {
        public Hello();
        public static void main(java.lang.String[]);
    Method Hello()
       0 aload_0
       1 invokespecial #6 <Method java.lang.Object()>
       4 return
    Method void main(java.lang.String[])
       0 new #4 <Class java.util.Timer>
       3 dup
       4 invokespecial #7 <Method java.util.Timer()>
       7 new #2 <Class Hello$1>
      10 dup
      11 invokespecial #5 <Method Hello$1()>
      14 lconst_0
      15 lconst_1
      16 invokevirtual #8 <Method void schedule(java.util.TimerTask, long, long)>
      19 returnWell in this example, you have opcodes with arguments which are expressed as (for example) "#7 <Method java.util.Timer()>". This describes a constant pool element. I assume #7 refers to the location within the constant pool, and the text description tells you that it's an item of type method, and gives you the method name. So for all arguments expressed in this form, you'll need to reconstruct a constant pool item.

  • Is there any change in the constant pool entires with JDK1.4?

    Hi,
    Here is my simple java class,
    class Base
    String manuf = "MRF";
    class Derived extends Base
    Derived() {
    manuf = "ABC";
    After compiling this class with JDK 1.3 and JDK1.4, i could see the difference in constant pool entries
    so please let me know more about these cahnges.
    P.S. : written a java program TClass.java to browse the constant pool entries.
    i.e if compiled with JDK1.3 , constant pool entries looks as follows,
    E:\bugs\jdk1.4\pramila>java TClass E:\bugs\jdk1.4\pramila\Derived.class
    There are 21 + 1 entries in the Constant Pool:
    Index Tag Reference(s)/Value(s)
    1 10 5 15
    2 8 16
    3 9 5 17
    4 7 18
    5 7 19
    6 1 <init>
    7 1 ()V
    8 1 Code
    9 1 LineNumberTable
    10 1 LocalVariableTable
    11 1 this
    12 1 LDerived;
    13 1 SourceFile
    14 1 Test.java
    15 12 6 7
    16 1 ABC
    17 12 20 21
    18 1 Derived
    19 1 Base
    20 1 manuf
    21 1 Ljava/lang/String;
    There are 1 methods:
    Code array in method <init> of length 11 starting at byte 231.
    If compiled with JDK1.4 constant pool entries looks as follows,
    E:\bugs\jdk1.4\pramila>java TClass E:\bugs\jdk1.4\pramila\Derived.class
    There are 21 + 1 entries in the Constant Pool:
    Index Tag Reference(s)/Value(s)
    1 10 5 15
    2 8 16
    3 9 4 17
    4 7 18
    5 7 19
    6 1 <init>
    7 1 ()V
    8 1 Code
    9 1 LineNumberTable
    10 1 LocalVariableTable
    11 1 this
    12 1 LDerived;
    13 1 SourceFile
    14 1 Test.java
    15 12 6 7
    16 1 ABC
    17 12 20 21
    18 1 Derived
    19 1 Base
    20 1 manuf
    21 1 Ljava/lang/String;
    There are 1 methods:
    Code array in method <init> of length 11 starting at byte 231.
    There is a change in the index 3 can be noticed.
    i.e
    with JDK1.3 it is "3 9 5 17"
    with JDK1.4 it is "3 9 4 17"
    Thanks in advance.
    Pramila

    javac v1.4 emits by default Java 1.2 compatible .class files while all javac implementations since between 1.1.0 and 1.3.1 emit byte default Java 1.1 .class files.
    Check to see what effect using the -target option in javac to get the two versions to produce Java 1.1, 1.2, or 1.3 .class files.
    Chuck

Maybe you are looking for