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]
