Cfspreadsheet problems with 5.3.1.95

After upgrading from 5.2.9.31 to 5.3.1.95 my code that has been working fine falls over whenever a report spreadsheet is created that has an image in it. Same report spreadsheet creates successfully if I do not include images in the report.
Running Ubuntu 16.04 and using cfspreadsheet-lucee-5 from https://github.com/Leftbower/cfspreadsheet-lucee-5 and latest version 3.0.3
Would love some assistance thank you.

That’s odd? That piece of code in the cfspreadsheet extension is simply just getting the file extension and doing so like this:

<cfset imgType = UCase(ListLast(arguments.filePath, ".")) />

“filepath” is the first argument to the addImage function. The error appears to be thrown from the ListLast function?

Yep, duplicated. That’s a bug. Not sure why though nor what changed in Lucee…

Thanks for confirming - let me know if there is anything that I can do to help- I know it’s not your code originally in cfspreadsheet-lucee-5, but you are the man :wink:

I also have problems with cfspreadsheet/spreadsheet functions after upgrading to 5.3.1.95 so I hope it’s OK if I hijack this thread even though i get a different error.

We have Ubuntu 18.04 LTS and we are using the same spreadsheet extension as zendata.

This is my the code

<cfset s = spreadsheetNew("report_seminar","true")>
<!--- Header --->
<cfset cols = getMetadata(get_reg)>
<cfset colList = "">
<cfloop from="1" to="#arrayLen(cols)#" index="x">
<cfset colList = listAppend(colList, cols[x].name)>
</cfloop>

<cfset spreadsheetAddRow(s, colList)>

<!--- Daten --->
<cfset SpreadsheetAddrows(s, get_reg)>

… and this is the error (caused by the SpreadsheetAddrows function in the last line of code I posted):
lucee.runtime.functions.list.ListFindNoCase.call(Llucee/runtime/PageContext;Ljava/lang/String;Ljava/lang/String;)D

Seems there is something broken with a list function as well…

problem is that the extension seem to use a “las” archive, “las” archives are containing the compiled java bytecode from the CFML code.
functions like “listLast” get hardcoded for performance reasons by the compiler. the function get “streamlined” by us and because of that it’s interface changed. that does not affect newly compiled code, but it does affect old compiled code in archives.

we will add the old interface, that will fix it.

workaround: recompile the archives or use the source code instead.

1 Like

this is the commit causing the problem

That is great news if it will fix it.
How long will it take to add the old interface?

@zendata not long anymore

https://luceeserver.atlassian.net/browse/LDEV-2191

1 Like

@micstriit Will you notify this thread when there is a snapshot or release that includes these changes?
I am not authorised to view https://luceeserver.atlassian.net/browse/LDEV-2191 so can not see what is happening.
Thank you.

Try 5.3.2.57 or 5.3.1.98, both have the fix.

Are you logged into Jira?

Thanks @Zackster
I have not got credentials to log in to Jira

Screen Shot 2019-03-24 at 20.25.57

Yeah, I think I noticed that myself the other day.

@Brad_Wood any ideas? if unauthenticated users can’t see issues, that might prevent Google indexing too

Cool - glad it’s just not me!

@zendata To be clear when you say you can’t log in, are you saying you haven’t signed up for an account (it’s quick and free) or you have an account but it seems to lack permissions?

I just tried viewing a ticket such as https://luceeserver.atlassian.net/browse/LDEV-2191 from a browser window where I’m not logged in and it loads just fine. I would assume you’re authenticated with an account that has some sort of issues. Please report the details of your user.

Hi @bdw429s - yes now when I go to that URL I am seeing the ticket ok. Previously the ticket page and even just the Jira home link (trying to find where to sign up) all gave me the 401 message page.
Fixed now but @Zackster has seen it too. I am using a different computer now.
Just tried again on the original iMac and it still errors with the 401 error.
I’ll call this a local problem of mine :frowning:
Thanks Brad

thanks for the quick fix!

However I just tested with 5.3.1.98-SNAPSHOT and still got the same error using my code above:

Message: lucee.runtime.functions.list.ListFindNoCase.call(Llucee/runtime/PageContext;Ljava/lang/String;Ljava/lang/String;)D

StackTrace:
lucee.runtime.exp.NativeException: lucee.runtime.functions.list.ListFindNoCase.call(Llucee/runtime/PageContext;Ljava/lang/String;Ljava/lang/String;)D at org.cfpoi.spreadsheet.spreadsheet_cfc$cf.udfCall3(/org/cfpoi/spreadsheet/Spreadsheet.cfc:1048) at org.cfpoi.spreadsheet.spreadsheet_cfc$cf.udfCall(/org/cfpoi/spreadsheet/Spreadsheet.cfc) at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:106) at lucee.runtime.type.UDFImpl._call(UDFImpl.java:339) at lucee.runtime.type.UDFImpl.callWithNamedValues(UDFImpl.java:202) at lucee.runtime.ComponentImpl._call(ComponentImpl.java:679) at lucee.runtime.ComponentImpl._call(ComponentImpl.java:566) at lucee.runtime.ComponentImpl.callWithNamedValues(ComponentImpl.java:1934) at lucee.runtime.util.VariableUtilImpl.callFunctionWithNamedValues(VariableUtilImpl.java:845) at lucee.runtime.PageContextImpl.getFunctionWithNamedValues(PageContextImpl.java:1686) at spreadsheetaddrows_cfm$cf.udfCall(/SpreadsheetAddRows.cfm:26) at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:106) at lucee.runtime.type.UDFImpl._call(UDFImpl.java:339) at lucee.runtime.type.UDFImpl.call(UDFImpl.java:212) at lucee.runtime.functions.system.CFFunction.call(CFFunction.java:107) at sardinia.report.report_final_spreadsheet_cfm$cf.call(/sardinia/report/report_final_spreadsheet.cfm:99) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:911) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:803) at lucee.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:217) at lucee.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:42) at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2367) at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2357) at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2332) at lucee.runtime.engine.Request.exe(Request.java:43) at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1045) at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:991) at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:102) at lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:51) at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NoSuchMethodError: lucee.runtime.functions.list.ListFindNoCase.call(Llucee/runtime/PageContext;Ljava/lang/String;Ljava/lang/String;)D … 50 more

5.3.1.99 will fix it there was actually to separate commits that did cause it

@thilohermann i created a new ticket for this
https://luceeserver.atlassian.net/browse/LDEV-2194