Skip to main content
davidt55204038
Participating Frequently
Sep 14, 2016 8:06 PM UTC
Question

ColdFusion 10 HotFix 21 Problem with CFINDEX

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 is closed to new replies. Start a new post to keep the conversation going.

    14 replies

    Participant
    Dec 13, 2016 12:13 PM UTC

    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.

    Translate
    Priyank Shrivastava.
    Inspiring
    Sep 14, 2016 10:16 PM UTC

    Hi,

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

    Thanks,

    Priyank

    Translate
    Thanks, Priyank Shrivastava
    davidt55204038
    Participating Frequently
    Sep 15, 2016 1:55 PM UTC

    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.

    Translate
    WolfShade
    Legend
    Sep 15, 2016 2:40 PM UTC

    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,

    ^_^

    Translate
    WolfShade
    Legend
    Sep 14, 2016 8:13 PM UTC

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

    HTH,

    ^_^

    Translate