BorderColor and BackgroundColor set to "None" returns a java.lang.NullPointerException from Graphviz

0 votes
asked Feb 18, 2022 in Question / help by eduardomozart (360 points)

Hello,

Two weeks ago I created a diagram using PlantUML Online server with the following syntax:

@startuml
skinparam sequence {
  ArrowColor Black
  LifeLineBorderColor Black
}
skinparam participant {
  Bordercolor none
  Backgroundcolor none
  Shadowing false
}
participant "<size:40><&monitor></size>\nCliente" as WKS
participant "<size:40><&loop></size>\nSwitch" as SW
participant "<size:40><&lock-locked></size>\nServidor de\nAutenticação\n(RADIUS)" as RADIUS
WKS->SW:EAPoL-Start
SW->WKS:EAP-Request-Identity
WKS->SW:EAP-Response-Identity
SW->RADIUS:RADIUS Accept-Request
RADIUS->SW:RADIUS Access-Challenge
SW->WKS:EAP-Request/OTP
WKS->SW:EAP-Response/OTP
SW->RADIUS:RADIUS Access-Request
RADIUS->SW:RADIUS Access-Accept
SW->WKS:EAP-Success
SW->SW:Port Authorized
...
WKS->SW:EAPoL-Logoff
SW->SW:Port Unauthorized
@enduml

It was working perfectly, but today when checking it out, it wasn't rendering anymore.

I started troubleshooting and figure it out that it was throwing a java.lang.NullPointerException from Graphviz because "BorderColor" and "BackgroundColor" was set to "none". Replacing them with "transparent" fixed the issue.

I would like to know if it is a expected behavior or if it's a regression.

1 Answer

0 votes
answered Feb 21, 2022 by plantuml (295,000 points)
Thanks for the report.

This is fixed in last online version.
commented Feb 22, 2022 by eduardomozart (360 points)

Hello,

I tested but it's still triggering a java.lang.NullPointerException from Graphviz when using "BorderColor none".

Sample diagram:

@startuml
scale 1/3
skinparam defaultFontName Calibri
left to right direction

!include <office/Security/certificate>

!define VRTPuml https://raw.githubusercontent.com/eduardomozart/VRT-PlantUML/main/dist
!include VRTPuml/Servers/VRTTower_Server.puml
!include VRTPuml/Clients/VRTSmartphone.puml
!include VRTPuml/Clients/VRTLaptop.puml

hide stereotype

skinparam {
    ArrowColor Black
    DefaultTextAlignment center
    BackgroundColor White
    shadowing false
    RoundCorner 10
    dpi 300
}

skinparam rectangle {
    BackgroundColor none
    BorderColor none
    BorderColor<<LANA>> #Red
    BorderColor<<LANB>> #Blue
}

rectangle "<$VRTTower_Server{scale=0.51}>\n**ClearPass**" as CP
rectangle "<$VRTSmartphone{scale=0.81}>" as Smartphone
rectangle "<$VRTLaptop{scale=0.31}>" as Laptop

CP -[hidden]- Laptop
CP <--> "\nEAP Exchange" Laptop : "<$certificate>\nRADIUS"
CP <--> Smartphone : "<$certificate>\nHTTPS"
@enduml

commented Feb 22, 2022 by plantuml (295,000 points)

Thanks for the report.

Yet another fix with last online version.

Tell us if you find other issues!

...