micronaut-projects / micronaut-core

Micronaut Application Framework
http://micronaut.io
Apache License 2.0
6.05k stars 1.06k forks source link

Http filter recieves null response in a case of an error #10844

Open dstepanov opened 4 months ago

dstepanov commented 4 months ago

Expected Behavior

No exception

Actual Behaviour

Null value is set for the response:

java.lang.NullPointerException: Cannot invoke "io.micronaut.http.MutableHttpResponse.getHeaders()" because "mutableHttpResponse" is null
        at benchmark.filter.ServerHeaderFilter.addDateHeader(ServerHeaderFilter.java:30)
        at benchmark.filter.$ServerHeaderFilter$Definition$Exec.dispatch(Unknown Source)
        at io.micronaut.context.AbstractExecutableMethodsDefinition$DispatchedExecutableMethod.invokeUnsafe(AbstractExecutableMethodsDefinition.java:461)
        at io.micronaut.http.filter.MethodFilter.filter0(MethodFilter.java:342)
        at io.micronaut.http.filter.MethodFilter.filter(MethodFilter.java:331)
        at io.micronaut.http.filter.MethodFilter.processResponseFilter(MethodFilter.java:305)
        at io.micronaut.http.filter.FilterRunner.filterResponse(FilterRunner.java:220)

Steps To Reproduce

No response

Environment Information

No response

Example Application

No response

Version

4.4

dstepanov commented 4 months ago

Only occurs for async controller methods

dstepanov commented 4 months ago

I can reproduce it on the benchmark project: