[ https://issues.apache.org/jira/browse/GROOVY-11126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17743982#comment-17743982 ]
Jochen Theodorou commented on GROOVY-11126: ------------------------------------------- Quite surprisingly this is not giving me the expected result. The javap output does not contain the method, even though I see calls to it there... ah wait, I may have forgotten a flag to javap. I assume the method is private therefore it needs to be "javap -p -v" on the class. Could you attach the output of that? Sorry for the inconvenience. > Null-safe Dereference fails after time > -------------------------------------- > > Key: GROOVY-11126 > URL: https://issues.apache.org/jira/browse/GROOVY-11126 > Project: Groovy > Issue Type: Bug > Components: bytecode > Affects Versions: 4.0.11, 4.0.12 > Environment: Zulu Java 17.0.7, Amazon Linux 2023, Spring Boot 3.1.1 > Reporter: Kenneth W DeLong > Priority: Critical > Attachments: javapOutput.txt > > > I have a server-side app that works perfectly for a long time (18-24h) then > suddenly starts throwing "impossible" errors. > {code:java} > Caused by: java.lang.NullPointerException: Cannot invoke > "java.lang.CharSequence.length()" because "self" is null at > org.codehaus.groovy.runtime.StringGroovyMethods.size(StringGroovyMethods.java:2693) > at org.codehaus.groovy.runtime.dgm$1323.doMethodInvoke(Unknown Source) at > com.hatchbaby.model.ColorParser.isOneByteFormat(ColorParser.groovy:74) > at com.hatchbaby.model.ColorParser.getRed(ColorParser.groovy:13) at > com.hatchbaby.domain.Content.getRed(Content.groovy:173) > {code} > The line of code at ColorParser:74 is: > {code:java} > int size = color?.size() ?: 0 {code} > The variable `color` is a String. The null-safe dereference operator has > ceased to short-circuit. > This code is years old and has run flawlessly. Since the upgrade from Spring > Boot 2.7.4 to Boot 3.1.1, it runs fine for 18-24h, then it starts throwing > NullPointerExceptions. This is happening at a couple of other places in the > code, all on null-safe dereferences that don't short-circuit. The above code > is hit 9,000+ times/day. We have a cluster of servers and they seem to > develop the problem within a couple hours of each other. > The server is running with Spring Boot 3.1.1 (hence Groovy 4.0.12) running on > Java 17.0.7 (Azul Zulu) on Amazon Linux 2023. The project is joint Java and > Groovy code that is compiled with the GMavenPlus 3.0.0 Maven plugin (maven > 3.9.1) > I have tried to reproduce the error by running a tiny program that mimics the > error, but so far after running 1.4 million invocations over 24h with no > errors (as you might expect). -- This message was sent by Atlassian Jira (v8.20.10#820010)