cancel
Showing results for 
Search instead for 
Did you mean: 

thumbmail.get.js crashing

hsturner
Champ on-the-rise
Champ on-the-rise

I don't know what file is causing this error, or how to fix this error, any suggestions on how I can find the file or fix the issue?

 ERROR [org.springframework.extensions.webscripts.AbstractRuntime] [http-apr-8080-exec-310] Exception from executeScript - redirecting to status template error: 11060091 Wrapped Exception (with status template): 11066532 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/repository/thumbnail/thumbnail.get.js': 11066531 11066530 Transformation failed to obey timeout limit
org.springframework.extensions.webscripts.WebScriptException: 11060091 Wrapped Exception (with status template): 11066532 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/repository/thumbnail/thumbnail.get.js': 11066531 11066530 Transformation failed to obey timeout limit
        at org.springframework.extensions.webscripts.AbstractWebScript.createStatusException(AbstractWebScript.java:1138)
        at org.alfresco.repo.web.scripts.content.StreamContent.execute(StreamContent.java:195)
        at org.alfresco.repo.web.scripts.RepositoryContainer$3.execute(RepositoryContainer.java:505)
        at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:457)
        at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:580)
        at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:649)
        at org.alfresco.repo.web.scripts.RepositoryContainer.executeScriptInternal(RepositoryContainer.java:421)
        at org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:301)
        at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:382)
        at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:210)
        at org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:132)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:61)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
        at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2466)
        at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2455)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.alfresco.scripts.ScriptException: 11066532 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/repository/thumbnail/thumbnail.get.js': 11066531 11066530 Transformation failed to obey timeout limit

6 REPLIES 6

jpotts
World-Class Innovator
World-Class Innovator

Transformers have a time limit they must complete their work within or an exception will be thrown. In this case it looks like a thumbnail is trying to get generated but that's not happening in a timely manner and thus the exception. Unfortunately there is not a node reference listed, or you could use that to figure out what is exceptional about that particular document.

This could be caused by any number of things including a very large document, limited system resources causing the transformer to not be able to work with the doc (look at disk space, look at memory), or just something funky about that particular file.

Can you tell if this is happening on all documents or just a subset?

hsturner
Champ on-the-rise
Champ on-the-rise

Thanks Jeff,

I had a feeling it could be a really complicated excel or pdf file, as we have a few of those. We have terrabytes of free disk space, and 32 GB of memory assigned to the virtual server instance so system resources shouldn't be an issue, but I will have the sys admin add some monitoring on that as well.

briant
Champ on-the-rise
Champ on-the-rise

Hi, search for:

ASPECT:"cm:failedThumbnailSource"

..and it will provide a list of docs that failed to render a thumbnail. Download, open, resave, upload, usually fixes it for us - provided to use a different tool than the one that created it - so LibreOffice to 'fix' MS docs, {any other pdf printer than adobe} to generate a new PDF [but beware 'free' online conversions as they typically come bundled with malware embedded], Gimp for images, etc.

[Long answer here: Re: Document preview Problem with the 'error Failed to load the PDF content' Yes it works in node browser using search type = lucene and spacesstore either the archive or workspace]

hsturner
Champ on-the-rise
Champ on-the-rise

Thanks Brian,

That helped me identify the files.  Most of them are office 2010 or newer file format, so I will give the Libre Office thing a try if I can get permission from the content owners to do so. Some of them are specially formatted documents and I can't risk messing with those if Libre Office does not save an unaltered layout of the original.

briant
Champ on-the-rise
Champ on-the-rise

When I 'must have' an online preview and the original will not render (for whatever reason) then I generate a PDF on my local machine and upload that into the same folder and move the troublesome doc into a subfolder.

This gives the Alfresco users the ability to access, search and use the content without being forced to download and open the original (nor even to have the software that created the original installed).  And it works across platforms, so Android/iOS users can access and more importantly, use, the content directly from the native app. This does incur management overhead to keep the PDF in sync (yes, I know - we use Alfresco for the exact purpose to avoid this duplication - this is an edge case/workaround I guess).

I would check those docs for (in no particular order):

- change tracking - has it been left on and the entire history of the doc is bundled up and dragged with it everywhere -> mega complexity (not to mention privacy and security considerations of doing this - avoid it is my recommendation once a doc gets to final version status)

- languages - more than one is a rarity within a document, remove any not in use.

- fonts - avoid manual, use styles

- styles - keep simple, avoid nesting, use fonts known to exist with customers, alfresco and users. Ban the remaining fonts. Ensure one language is used (as appropriate for your company, you may have a set of standard ones eg euro countries - at least limit to the ones you use within the documents).

- images - the number of times I have witnessed an enormous bmp (5+MB) inserted into a word doc and then scaled to thumbnail size is far too often - usually in the page header/logo so it appears on every single page (and sometimes the user didn't use page headers so it was actually copied to every page!). LO can re-scale an image inline, simply right click image, Compress Graphic - can choose replacement image format (including jpg and lossless), resolution, DPI and shows current and projected calculated size of the replacement - very handy. Brilliant actually IMHO)

- hidden text - why is it there and what is it doing. Have seen crazy things with hidden text eg: hidden heading 1 style embedded in page header -> blank page inserted every 2nd page. Would *not* render the page break onscreen, only when printed (to paper or PDF).

- complex spreadsheet formulas - the title is enough. Foot shooting all too easy.

- flattening the PDF's seems to help when we have had some that would not render that contained layers. We use only open source PDF generators, and no forms of any kind.

- encryption - the one many forget - if the doc is password protected there is no way Alfresco can open it and there is no solution that doesn't involve uploading an unencrypted version (that we are aware of).  We do store some of these and are happy not to have preview - that was the purpose of encrypting the doc after all, to control who can open it/where it will be rendered. [Actually it could be a useful feature to selectively enable rendering of docs so encrypted ones can be marked as encrypted ie:"never try to render this content, ever" to avoid the log mesages that you get otherwise]

Doing the above has (for us) generally resulted in smaller docs that open and render reliably across platforms, making everyone's life easier as a result.

hsturner
Champ on-the-rise
Champ on-the-rise

Thanks Brian,

I think we have pretty much all of those problems in most of the affected documents, unfortunately we wont be able to implement many of the fixes as we do need to have documents with multiple languages, specific fonts based on the customer requirements, uncompressed images sometimes embedded in work documents, hidden text especially in the excel documents, can't flatten multi-layer pdfs as we need the ability to hide or show content on layers for out production documents, and encryption as we are a high security company and that is one of our requirements.  I will let the site owners know the generate pdf locally and move troublesome document to a sub-folder solution and leave it up to them to decide if they want to implement this fix. Unfortunately they are also using alfresco as a place to store and share collaborative rough drafts while working on final drafts. This will just be a problem we have to live with for dumps out to the log file.