Skip to main content
davidt55204038
Participating Frequently
September 14, 2016
Question

ColdFusion 10 HotFix 21 Problem with CFINDEX

  • September 14, 2016
  • 3 replies
  • 1278 views

Anyone run into a problem with calls to CFINDEX after having applied HotFix 21?  I'm getting the following stack after the hotfix (looks like during the indexing of a Word or Excel file):

java.lang.NoSuchMethodError: org.openxmlformats.schemas.wordprocessingml.x2006.main.CTFFData.getCheckBoxList()Ljava/util/List;

at org.apache.poi.xwpf.usermodel.XWPFRun.text(XWPFRun.java:1001) at org.apache.poi.xwpf.usermodel.XWPFRun.toString(XWPFRun.java:971) at org.apache.poi.xwpf.usermodel.XWPFParagraph.getText(XWPFParagraph.java:215) at org.apache.poi.xwpf.usermodel.XWPFTable.<init>(XWPFTable.java:117) at org.apache.poi.xwpf.usermodel.XWPFDocument.onDocumentRead(XWPFDocument.java:152) at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:166) at org.apache.poi.xwpf.usermodel.XWPFDocument.<init>(XWPFDocument.java:118) at org.apache.poi.xwpf.extractor.XWPFWordExtractor.<init>(XWPFWordExtractor.java:59) at coldfusion.tagext.search.MSDocument.readDocx(MSDocument.java:164) at coldfusion.tagext.search.SolrUtils.getSolrDocument(SolrUtils.java:734) at coldfusion.tagext.search.SolrUtils.addDocument(SolrUtils.java:1349) at coldfusion.tagext.search.IndexTag.doUpdate(IndexTag.java:675) at ............

    This topic has been closed for replies.

    3 replies

    Participant
    December 13, 2016

    Has there been any updates on this. I am running into the same issue, only rolling back to CF 10 Update 20 breaks Solr completely. At least with Update 21 the search works, just can't index anything new.

    Priyank Shrivastava.
    Inspiring
    September 14, 2016

    Hi,

    I tried cfindex wth update 21 and it works well, can you create a new collection and try it.

    Thanks,

    Priyank

    Thanks, Priyank Shrivastava
    davidt55204038
    Participating Frequently
    September 15, 2016

    Here's the code that is triggering the Site-Wide Error:

    <cftry>

    <CFINDEX  ACTION     = "UPDATE"

                         AUTOCOMMIT = "false"

                         COLLECTION = "#Variables.Collection[idx].CollectionName#"

                         EXTENSIONS = ".*"

                         CUSTOM1 = ""

                         CUSTOM2    = ""

                         CUSTOM3    = "#Variables.Collection[idx].FilesBaseDirRel#"

                         KEY        = "#Variables.Collection[idx].FilesBaseDirAbs#"

                         LANGUAGE   = "ENGLISH"

                         TYPE       = "PATH"

                         URLPATH    = "#Variables.Collection[idx].FilesBaseDirRel#">

               <cfcatch>

                                    <cfoutput>

                                                                   

                                     Message - #cfcatch.message#

                                     <br>

                                     <br>

                                     Type - #CFCATCH.TYPE#

                                     <br>

                                     <br>

                                     Tag Content - <cfdump var="#cfcatch.tagcontext#">

                                   

                                         

                                     </cfoutput>

               </cfcatch>

        </cftry>

    Fairly straight forward, simply indexes all files in a certain directory.  This directory is comprised of html, Word, Excel, PowerPoint and PDF documents. I backed out HotFix 21, returned to HotFix 20, and all works fine, so I'm fairly certain the problem is in HotFix 21.

    Try Catch does not work, nor is this error being logged into the Application Log nor the Exception Log.

    So the best I could do is put

    <cfoutput>

    <cfdump var="#error#">

    </cfoutput>

    in the Site-Wide Error handler.

    Which gives me the error in the attached JPG.

    WolfShade
    Legend
    September 15, 2016

    IF the error is caused by the CFINDEX, and the CFTRY/CFCATCH  isn't triggering, it's because your site-wide error handler in application.cfc is catching the error before your CFTRY.  Comment out the site-wide error handler, and instead of CFOUTPUTing the cfcatch.message, just CFDUMP var="#cfcatch#" to get everything.

    BTW, I am also DoD. 

    What is at line 255 of fullIndex.cfm?  Is that the CFINDEX tag?  It looks like some kind of parsing error.  Could there be something in an Excel or Word document that might cause the parser to flip out?

    V/r,

    ^_^

    WolfShade
    Legend
    September 14, 2016

    CFTRY/CFCATCH/CFDUMP should be a little more precise in providing error information.

    HTH,

    ^_^