Hi Yegor, thanks for replying. Its running on tomcat 7.0.22. Sun java 1.6 on solaris
-Xmx1024m -server -verbose:gc -XX:+HeapDumpOnOutOfMemoryError\ -XX:HeapDumpPath=/export/home/ Hmm thats odd I thought we had already increased the size of permgen. It seems we have not. It looks like its been applied to the wrong instances of tomcat (we run a few). We cannot reproduce locally at all and I know it doesn't give you anything to go on - sorry about this. I'll get the correct settings applied and take it from there. I just wanted to see if this jogged anyones memory ie high us of String interns, classes created on the fly etc Sorry to waist your time at the moment On Sat, Apr 28, 2012 at 4:56 PM, Yegor Kozlov <[email protected]> wrote: > What are the JVM settings? Version of JDK? Are you running Solr in > Jetty or Tomcat ? > > Does the error happen repeatedly on the same documents ? Can you > reproduce it in a isolated environment ? It would be helpful if we can > reproduce it on the POI side. > > I assume you increased perm space via -XX:MaxPermSize and > -XX:MaxPermGen. What were these settings ? > > If your JVm uses CMS garbage collector you may want to try these hints: > > -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled > > Yegor > > On Sat, Apr 28, 2012 at 10:07 AM, Wayne W <[email protected]> wrote: >> Hi, >> >> we're having a lot of trouble in production with Solr (which is using >> tika to extract contents of docs,xls, etc which in turn uses POI) >> running on tomcat and OutOfMemory issue. We're been looking at this >> now for a long time, we've been upgrading to the latest versions of >> all jars where possible but we're still seeing this all the time in >> the logs: >> >> Caused by: java.lang.OutOfMemoryError: PermGen space >> at java.lang.String.intern(Native Method) >> at >> org.apache.xmlbeans.impl.piccolo.util.CharStringConverter.convert(CharStringConverter.java:110) >> at >> org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.yytext2(PiccoloLexer.java:3312) >> at >> org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseElementNameNS(PiccoloLexer.java:2368) >> at >> org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseOpenTagNS(PiccoloLexer.java:1455) >> at >> org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseTagNS(PiccoloLexer.java:1362) >> at >> org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.yylex(PiccoloLexer.java:4678) >> at >> org.apache.xmlbeans.impl.piccolo.xml.Piccolo.yylex(Piccolo.java:1290) >> at >> org.apache.xmlbeans.impl.piccolo.xml.Piccolo.yyparse(Piccolo.java:1400) >> at >> org.apache.xmlbeans.impl.piccolo.xml.Piccolo.parse(Piccolo.java:714) >> at >> org.apache.xmlbeans.impl.store.Locale$SaxLoader.load(Locale.java:3439) >> at >> org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1270) >> at >> org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1257) >> at >> org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:345) >> at >> org.openxmlformats.schemas.drawingml.x2006.main.ThemeDocument$Factory.parse(Unknown >> Source) >> at org.apache.poi.xslf.usermodel.XSLFTheme.<init>(XSLFTheme.java:50) >> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native >> Method) >> at >> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) >> at >> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) >> at java.lang.reflect.Constructor.newInstance(Constructor.java:513) >> at >> org.apache.poi.xslf.usermodel.XSLFFactory.createDocumentPart(XSLFFactory.java:64) >> at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:414) >> at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:419) >> at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:155) >> at >> org.apache.poi.xslf.usermodel.XMLSlideShow.<init>(XMLSlideShow.java:85) >> at >> org.apache.poi.xslf.extractor.XSLFPowerPointExtractor.<init>(XSLFPowerPointExtractor.java:52) >> at >> org.apache.poi.xslf.extractor.XSLFPowerPointExtractor.<init>(XSLFPowerPointExtractor.java:55) >> at >> org.apache.poi.extractor.ExtractorFactory.createExtractor(ExtractorFactory.java:187) >> at >> org.apache.poi.extractor.ExtractorFactory.createExtractor(ExtractorFactory.java:152) >> at >> org.apache.tika.parser.microsoft.ooxml.OOXMLExtractorFactory.parse(OOXMLExtractorFactory.java:70) >> at >> org.apache.tika.parser.microsoft.ooxml.OOXMLParser.parse(OOXMLParser.java:70) >> at >> org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:242) >> >> >> >> We get lots ( all vary slightly) but there are always in the POI call stack: >> >> java.lang.OutOfMemoryError: PermGen space >> at java.lang.ClassLoader.defineClass1(Native Method) >> at java.lang.ClassLoader.defineClass(ClassLoader.java:621) >> at >> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) >> at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) >> at java.net.URLClassLoader.access$000(URLClassLoader.java:56) >> at java.net.URLClassLoader$1.run(URLClassLoader.java:195) >> at java.security.AccessController.doPrivileged(Native Method) >> at java.net.URLClassLoader.findClass(URLClassLoader.java:188) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:307) >> at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:592) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:252) >> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) >> at java.lang.Class.forName0(Native Method) >> at java.lang.Class.forName(Class.java:247) >> at >> org.apache.xmlbeans.impl.schema.SchemaTypeImpl.getJavaImplClass(SchemaTypeImpl.java:1709) >> at >> org.apache.xmlbeans.impl.schema.SchemaTypeImpl.getJavaImplConstructor(SchemaTypeImpl.java:1725) >> at >> org.apache.xmlbeans.impl.schema.SchemaTypeImpl.createUnattachedNode(SchemaTypeImpl.java:1853) >> at >> org.apache.xmlbeans.impl.schema.SchemaTypeImpl.createElementType(SchemaTypeImpl.java:1021) >> at >> org.apache.xmlbeans.impl.values.XmlObjectBase.create_element_user(XmlObjectBase.java:893) >> at org.apache.xmlbeans.impl.store.Xobj.getUser(Xobj.java:1657) >> at >> org.apache.xmlbeans.impl.store.Xobj.find_element_user(Xobj.java:2062) >> at >> org.openxmlformats.schemas.wordprocessingml.x2006.main.impl.CTSdtRunImpl.getSdtContent(Unknown >> Source) >> at >> org.apache.poi.xwpf.usermodel.XWPFParagraph.<init>(XWPFParagraph.java:94) >> at >> org.apache.poi.xwpf.usermodel.XWPFTableCell.<init>(XWPFTableCell.java:59) >> at >> org.apache.poi.xwpf.usermodel.XWPFTableRow.getTableCells(XWPFTableRow.java:126) >> at >> org.apache.poi.xwpf.usermodel.XWPFTableRow.<init>(XWPFTableRow.java:42) >> at org.apache.poi.xwpf.usermodel.XWPFTable.<init>(XWPFTable.java:74) >> at >> org.apache.poi.xwpf.usermodel.XWPFDocument.onDocumentRead(XWPFDocument.java:149) >> at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:159) >> at >> org.apache.poi.xwpf.usermodel.XWPFDocument.<init>(XWPFDocument.java:115) >> at >> org.apache.poi.xwpf.extractor.XWPFWordExtractor.<init>(XWPFWordExtractor.java:53) >> at >> org.apache.poi.extractor.ExtractorFactory.createExtractor(ExtractorFactory.java:180) >> >> >> >> >> No matter how much perm space we assign we always run out. >> I'm wondering if anyone here as any idea what could be the cause or >> how we might solve this? >> >> Any pointers would be much appreciated as I'm totally stuck on this. >> thanks >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
