Detecting stacktrace image - IllegalStateException: Timeout4 TIMEOUT

0 votes
asked Jul 23 in Bug by Meo (620 points)
edited Jul 23 by Meo

I interrupt the rendering thread, when an user requests a different diagram while rendering. It used to work fine, or maybe it still does in some cases, but sometimes it returns this image:

There is no way to detect if it is an stacktrace image or what. Description returned from `SourceStringReader#outputImage` contains only: "(0 entities)".

It would be nice if the Description contained the exception instance or even the whole text, so I can just ignore that image - not cache it, and properly log/report the exception.

Also it seems to me that it should not be a TIMEOUT.

This could probably be fixed:

So to sum it up, there are 2 issues

- not being able to detect the stacktrace error image

- incorrect timeout detection due to InterruptedException


java.lang.IllegalStateException: Timeout4 TIMEOUT

at net.sourceforge.plantuml.svek.DotStringFactory.getSvg(

at net.sourceforge.plantuml.svek.GeneralImageBuilder.buildImage(

at net.sourceforge.plantuml.svek.CucaDiagramFileMakerSvek.createFileInternal(

at net.sourceforge.plantuml.svek.CucaDiagramFileMakerSvek.createFile(

at net.sourceforge.plantuml.cucadiagram.CucaDiagram.exportDiagramInternal(

at net.sourceforge.plantuml.classdiagram.ClassDiagram.exportDiagramInternal(

at net.sourceforge.plantuml.UmlDiagram.exportDiagramNow(

at net.sourceforge.plantuml.AbstractPSystem.exportDiagram(

at net.sourceforge.plantuml.SourceStringReader.outputImage(

at org.plantuml.idea.rendering.PlantUmlNormalRenderer.generateImageItem(

at org.plantuml.idea.rendering.PlantUmlNormalRenderer.normalRendering(

at org.plantuml.idea.rendering.PlantUmlNormalRenderer.doRender(

at org.plantuml.idea.rendering.PlantUmlRendererUtil.render(


at org.plantuml.idea.rendering.LazyApplicationPoolExecutor$

at com.intellij.openapi.application.impl.ApplicationImpl$

at java.util.concurrent.Executors$



at java.util.concurrent.ThreadPoolExecutor.runWorker(

at java.util.concurrent.ThreadPoolExecutor$


    To add new function please review this diagram in conjunction with `` file
end legend

Your answer

Your name to display (optional):
Privacy: Your email address will only be used for sending these notifications.
Anti-spam verification:

[Antispam2 Feature: please please wait 1 or 2 minutes (this message will disappear) before pressing the button otherwise it will fail](--------)
To avoid this verification in future, please log in or register.