nidi3 / graphviz-java

Use graphviz with pure java
Apache License 2.0
934 stars 107 forks source link

Caused by: java.lang.NullPointerException: Cannot invoke "com.kitfox.svg.SVGDiagram.setIgnoringClipHeuristic(boolean)" because "diagram" is null #249

Open vanniktech opened 1 year ago

vanniktech commented 1 year ago

I'm updating my Gradle Plugin with all of the latest dependency, and I'm required to use JDK 17 now, which might explain the following:

Caused by: java.lang.NullPointerException: Cannot invoke "com.kitfox.svg.SVGDiagram.setIgnoringClipHeuristic(boolean)" because "diagram" is null
        at guru.nidi.graphviz.engine.SalamanderRasterizer.createDiagram(SalamanderRasterizer.java:45)
        at guru.nidi.graphviz.engine.SalamanderRasterizer.doRasterize(SalamanderRasterizer.java:31)
        at guru.nidi.graphviz.engine.SvgRasterizer.rasterize(SvgRasterizer.java:40)
        at guru.nidi.graphviz.engine.Renderer.toImage(Renderer.java:123)
        at guru.nidi.graphviz.engine.Renderer.toFile(Renderer.java:75)
        at guru.nidi.graphviz.engine.Renderer.lambda$toFile$4(Renderer.java:61)
        at guru.nidi.graphviz.engine.EngineResult.mapIO(EngineResult.java:72)
        at guru.nidi.graphviz.engine.Renderer.toFile(Renderer.java:59)
        at com.vanniktech.dependency.graph.generator.DependencyGraphGeneratorTask.run(DependencyGraphGeneratorTask.kt:34)

Public reproducer: https://github.com/vanniktech/gradle-dependency-graph-generator-plugin/pull/228

This is the problematic line: https://github.com/nidi3/graphviz-java/blob/f0c1fdfa37c8b9876ef1dcccec1a6c19219e727e/graphviz-java/src/main/java/guru/nidi/graphviz/engine/SalamanderRasterizer.java#L45C17-L45C41

iamkhalidcse commented 1 year ago

Facing the same issue using guru.nidi:graphviz-java:0.18.1 and org.graalvm.js:js:22.3.2 after Java 17 migration. I am using gradle 7.6.1.