micronaut-projects / micronaut-projects/micronaut-problem-json

Stack Trace, localized message, suppressed always present with Micronaut 4.8.0

Open
#456 2 comments 4 reactions 0 assignees View on GitHub
status: awaiting feedback type: bug
Dominant language
Java
Stars
14
Forks
9
Avg merge
7h 59m
Merged PRs (30d)
5

Description

Worked on `micronautVersion=4.7.6`

### Expected Behavior

```
throw Problem.builder()
.withType(URI.create("https://example.org/out-of-stock"))
.withTitle("Out of Stock")
.withStatus(HttpStatusType(HttpStatus.BAD_REQUEST))
.withDetail("Item B00027Y5QG is no longer available")
.with("product", "B00027Y5QG")
.build()
```

With stack trace off (default but set explicitly too)

```yaml
problem:
stack-trace: false
```

Confirmed code goes into the `ThrowableProblemWithoutStacktrace` class

Image

Response

```json
{
"status": 400,
"title": "Out of Stock",
"detail": "Item B00027Y5QG is no longer available",
"type": "https://example.org/out-of-stock",
"parameters": {"product": "B00027Y5QG"}
}
```

### Actual Behaviour

```json
{
"stack_trace": [
{
"class_loader_name": "app",
"method_name": "build",
"file_name": "ProblemBuilder.java",
"line_number": 83,
"native_method": false,
"class_name": "org.zalando.problem.ProblemBuilder"
},
{
"class_loader_name": "app",
"method_name": "createScheduledAction$suspendImpl",
"file_name": "ScheduledActionController.kt",
"line_number": 82,
"native_method": false,
"class_name": "com.f.test.controllers.ScheduledActionController"
},
{
"class_loader_name": "app",
"method_name": "createScheduledAction",
"file_name": "ScheduledActionController.kt",
"line_number": -1,
"native_method": false,
"class_name": "com.f.test.controllers.ScheduledActionController"
},
{
"class_loader_name": "app",
"method_name": "$$access$$createScheduledAction",
"line_number": -1,
"native_method": false,
"class_name": "com.f.test.controllers.$ScheduledActionController$Definition$Intercepted"
},
{
"class_loader_name": "app",
"method_name": "dispatch",
"line_number": -1,
"native_method": false,
"class_name": "com.f.test.controllers.$ScheduledActionController$Definition$Exec"
},
{
"class_loader_name": "app",
"method_name": "invoke",
"file_name": "AbstractExecutableMethodsDefinition.java",
"line_number": 456,
"native_method": false,
"class_name": "io.micronaut.context.AbstractExecutableMethodsDefinition$DispatchedExecutableMethod"
},
{
"class_loader_name": "app",
"method_name": "proceed",
"file_name": "MethodInterceptorChain.java",
"line_number": 134,
"native_method": false,
"class_name": "io.micronaut.aop.chain.MethodInterceptorChain"
},
{
"class_loader_name": "app",
"method_name": "interceptResultAsCompletionStage",
"file_name": "KotlinInterceptedMethodImpl.java",
"line_number": 116,
"native_method": false,
"class_name": "io.micronaut.aop.internal.intercepted.KotlinInterceptedMethodImpl"
},
{
"class_loader_name": "app",
"method_name": "interceptResultAsCompletionStage",
"file_name": "KotlinInterceptedMethodImpl.java",
"line_number": 43,
"native_method": false,
"class_name": "io.micronaut.aop.internal.intercepted.KotlinInterceptedMethodImpl"
},
{
"class_loader_name": "app",
"method_name": "intercept",
"file_name": "ValidatingInterceptor.java",
"line_number": 140,
"native_method": false,
"class_name": "io.micronaut.validation.ValidatingInterceptor"
},
{
"class_loader_name": "app",
"method_name": "proceed",
"file_name": "MethodInterceptorChain.java",
"line_number": 143,
"native_method": false,
"class_name": "io.micronaut.aop.chain.MethodInterceptorChain"
},
{
"class_loader_name": "app",
"method_name": "createScheduledAction",
"line_number": -1,
"native_method": false,
"class_name": "com.f.test.controllers.$ScheduledActionController$Definition$Intercepted"
},
{
"class_loader_name": "app",
"method_name": "dispatch",
"line_number": -1,
"native_method": false,
"class_name": "com.f.test.controllers.$ScheduledActionController$Definition$Exec"
},
{
"class_loader_name": "app",
"method_name": "invokeUnsafe",
"file_name": "AbstractExecutableMethodsDefinition.java",
"line_number": 461,
"native_method": false,
"class_name": "io.micronaut.context.AbstractExecutableMethodsDefinition$DispatchedExecutableMethod"
},
{
"class_loader_name": "app",
"method_name": "invokeUnsafe",
"file_name": "DefaultBeanContext.java",
"line_number": 4419,
"native_method": false,
"class_name": "io.micronaut.context.DefaultBeanContext$BeanContextUnsafeExecutionHandle"
},
{
"class_loader_name": "app",
"method_name": "execute",
"file_name": "AbstractRouteMatch.java",
"line_number": 272,
"native_method": false,
"class_name": "io.micronaut.web.router.AbstractRouteMatch"
},
{
"class_loader_name": "app",
"method_name": "execute",
"file_name": "DefaultUriRouteMatch.java",
"line_number": 38,
"native_method": false,
"class_name": "io.micronaut.web.router.DefaultUriRouteMatch"
},
{
"class_loader_name": "app",
"method_name": "executeRouteAndConvertBody",
"file_name": "RouteExecutor.java",
"line_number": 493,
"native_method": false,
"class_name": "io.micronaut.http.server.RouteExecutor"
},
{
"class_loader_name": "app",
"method_name": "lambda$callRoute$3",
"file_name": "RouteExecutor.java",
"line_number": 464,
"native_method": false,
"class_name": "io.micronaut.http.server.RouteExecutor"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "MonoDeferContextual.java",
"line_number": 47,
"native_method": false,
"class_name": "reactor.core.publisher.MonoDeferContextual"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "Mono.java",
"line_number": 4576,
"native_method": false,
"class_name": "reactor.core.publisher.Mono"
},
{
"class_loader_name": "app",
"method_name": "onNext",
"file_name": "MonoFlatMapMany.java",
"line_number": 196,
"native_method": false,
"class_name": "reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain"
},
{
"class_loader_name": "app",
"method_name": "onNext",
"file_name": "MonoNext.java",
"line_number": 82,
"native_method": false,
"class_name": "reactor.core.publisher.MonoNext$NextSubscriber"
},
{
"class_loader_name": "app",
"method_name": "innerNext",
"file_name": "FluxConcatMapNoPrefetch.java",
"line_number": 259,
"native_method": false,
"class_name": "reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber"
},
{
"class_loader_name": "app",
"method_name": "onNext",
"file_name": "FluxConcatMap.java",
"line_number": 865,
"native_method": false,
"class_name": "reactor.core.publisher.FluxConcatMap$ConcatMapInner"
},
{
"class_loader_name": "app",
"method_name": "onNext",
"file_name": "MonoPeekTerminal.java",
"line_number": 180,
"native_method": false,
"class_name": "reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber"
},
{
"class_loader_name": "app",
"method_name": "onNext",
"file_name": "FluxFilterFuseable.java",
"line_number": 337,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber"
},
{
"class_loader_name": "app",
"method_name": "request",
"file_name": "Operators.java",
"line_number": 2571,
"native_method": false,
"class_name": "reactor.core.publisher.Operators$ScalarSubscription"
},
{
"class_loader_name": "app",
"method_name": "request",
"file_name": "FluxFilterFuseable.java",
"line_number": 411,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber"
},
{
"class_loader_name": "app",
"method_name": "request",
"file_name": "MonoPeekTerminal.java",
"line_number": 139,
"native_method": false,
"class_name": "reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber"
},
{
"class_loader_name": "app",
"method_name": "set",
"file_name": "Operators.java",
"line_number": 2367,
"native_method": false,
"class_name": "reactor.core.publisher.Operators$MultiSubscriptionSubscriber"
},
{
"class_loader_name": "app",
"method_name": "onSubscribe",
"file_name": "Operators.java",
"line_number": 2241,
"native_method": false,
"class_name": "reactor.core.publisher.Operators$MultiSubscriptionSubscriber"
},
{
"class_loader_name": "app",
"method_name": "onSubscribe",
"file_name": "MonoPeekTerminal.java",
"line_number": 152,
"native_method": false,
"class_name": "reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber"
},
{
"class_loader_name": "app",
"method_name": "onSubscribe",
"file_name": "FluxFilterFuseable.java",
"line_number": 305,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "MonoJust.java",
"line_number": 55,
"native_method": false,
"class_name": "reactor.core.publisher.MonoJust"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "Mono.java",
"line_number": 4576,
"native_method": false,
"class_name": "reactor.core.publisher.Mono"
},
{
"class_loader_name": "app",
"method_name": "onNext",
"file_name": "FluxConcatMapNoPrefetch.java",
"line_number": 207,
"native_method": false,
"class_name": "reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber"
},
{
"class_loader_name": "app",
"method_name": "slowPath",
"file_name": "FluxIterable.java",
"line_number": 335,
"native_method": false,
"class_name": "reactor.core.publisher.FluxIterable$IterableSubscription"
},
{
"class_loader_name": "app",
"method_name": "request",
"file_name": "FluxIterable.java",
"line_number": 294,
"native_method": false,
"class_name": "reactor.core.publisher.FluxIterable$IterableSubscription"
},
{
"class_loader_name": "app",
"method_name": "innerComplete",
"file_name": "FluxConcatMapNoPrefetch.java",
"line_number": 275,
"native_method": false,
"class_name": "reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber"
},
{
"class_loader_name": "app",
"method_name": "onComplete",
"file_name": "FluxConcatMap.java",
"line_number": 889,
"native_method": false,
"class_name": "reactor.core.publisher.FluxConcatMap$ConcatMapInner"
},
{
"class_loader_name": "app",
"method_name": "onComplete",
"file_name": "MonoPeekTerminal.java",
"line_number": 299,
"native_method": false,
"class_name": "reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber"
},
{
"class_loader_name": "app",
"method_name": "onComplete",
"file_name": "FluxFilterFuseable.java",
"line_number": 391,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber"
},
{
"class_loader_name": "app",
"method_name": "request",
"file_name": "Operators.java",
"line_number": 2573,
"native_method": false,
"class_name": "reactor.core.publisher.Operators$ScalarSubscription"
},
{
"class_loader_name": "app",
"method_name": "request",
"file_name": "FluxFilterFuseable.java",
"line_number": 411,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber"
},
{
"class_loader_name": "app",
"method_name": "request",
"file_name": "MonoPeekTerminal.java",
"line_number": 139,
"native_method": false,
"class_name": "reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber"
},
{
"class_loader_name": "app",
"method_name": "request",
"file_name": "Operators.java",
"line_number": 2331,
"native_method": false,
"class_name": "reactor.core.publisher.Operators$MultiSubscriptionSubscriber"
},
{
"class_loader_name": "app",
"method_name": "request",
"file_name": "FluxConcatMapNoPrefetch.java",
"line_number": 339,
"native_method": false,
"class_name": "reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber"
},
{
"class_loader_name": "app",
"method_name": "request",
"file_name": "MonoNext.java",
"line_number": 108,
"native_method": false,
"class_name": "reactor.core.publisher.MonoNext$NextSubscriber"
},
{
"class_loader_name": "app",
"method_name": "onSubscribe",
"file_name": "MonoFlatMapMany.java",
"line_number": 141,
"native_method": false,
"class_name": "reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain"
},
{
"class_loader_name": "app",
"method_name": "onSubscribe",
"file_name": "MonoNext.java",
"line_number": 70,
"native_method": false,
"class_name": "reactor.core.publisher.MonoNext$NextSubscriber"
},
{
"class_loader_name": "app",
"method_name": "onSubscribe",
"file_name": "FluxConcatMapNoPrefetch.java",
"line_number": 164,
"native_method": false,
"class_name": "reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "FluxIterable.java",
"line_number": 201,
"native_method": false,
"class_name": "reactor.core.publisher.FluxIterable"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "FluxIterable.java",
"line_number": 83,
"native_method": false,
"class_name": "reactor.core.publisher.FluxIterable"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "MonoFromFluxOperator.java",
"line_number": 83,
"native_method": false,
"class_name": "reactor.core.publisher.MonoFromFluxOperator"
},
{
"class_loader_name": "app",
"method_name": "onNext",
"file_name": "MonoFlatMap.java",
"line_number": 165,
"native_method": false,
"class_name": "reactor.core.publisher.MonoFlatMap$FlatMapMain"
},
{
"class_loader_name": "app",
"method_name": "onNext",
"file_name": "MonoNext.java",
"line_number": 82,
"native_method": false,
"class_name": "reactor.core.publisher.MonoNext$NextSubscriber"
},
{
"class_loader_name": "app",
"method_name": "tryEmit",
"file_name": "FluxFlatMap.java",
"line_number": 547,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFlatMap$FlatMapMain"
},
{
"class_loader_name": "app",
"method_name": "onNext",
"file_name": "FluxFlatMap.java",
"line_number": 988,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFlatMap$FlatMapInner"
},
{
"class_loader_name": "app",
"method_name": "tryEmit",
"file_name": "FluxFlatMap.java",
"line_number": 547,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFlatMap$FlatMapMain"
},
{
"class_loader_name": "app",
"method_name": "onNext",
"file_name": "FluxFlatMap.java",
"line_number": 988,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFlatMap$FlatMapInner"
},
{
"class_loader_name": "app",
"method_name": "onNext",
"file_name": "FluxMap.java",
"line_number": 122,
"native_method": false,
"class_name": "reactor.core.publisher.FluxMap$MapSubscriber"
},
{
"class_loader_name": "app",
"method_name": "onNext",
"file_name": "MonoNext.java",
"line_number": 82,
"native_method": false,
"class_name": "reactor.core.publisher.MonoNext$NextSubscriber"
},
{
"class_loader_name": "app",
"method_name": "tryEmit",
"file_name": "FluxFlatMap.java",
"line_number": 547,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFlatMap$FlatMapMain"
},
{
"class_loader_name": "app",
"method_name": "onNext",
"file_name": "FluxFlatMap.java",
"line_number": 988,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFlatMap$FlatMapInner"
},
{
"class_loader_name": "app",
"method_name": "onNext",
"file_name": "FluxOnErrorResume.java",
"line_number": 79,
"native_method": false,
"class_name": "reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber"
},
{
"class_loader_name": "app",
"method_name": "onNext",
"file_name": "FluxHandleFuseable.java",
"line_number": 194,
"native_method": false,
"class_name": "reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber"
},
{
"class_loader_name": "app",
"method_name": "onNext",
"file_name": "FluxFilterFuseable.java",
"line_number": 337,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber"
},
{
"class_loader_name": "app",
"method_name": "onNext",
"file_name": "FluxHandleFuseable.java",
"line_number": 194,
"native_method": false,
"class_name": "reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber"
},
{
"class_loader_name": "app",
"method_name": "onNext",
"file_name": "FluxFilterFuseable.java",
"line_number": 337,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber"
},
{
"class_loader_name": "app",
"method_name": "request",
"file_name": "Operators.java",
"line_number": 2571,
"native_method": false,
"class_name": "reactor.core.publisher.Operators$ScalarSubscription"
},
{
"class_loader_name": "app",
"method_name": "request",
"file_name": "FluxFilterFuseable.java",
"line_number": 411,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber"
},
{
"class_loader_name": "app",
"method_name": "request",
"file_name": "FluxHandleFuseable.java",
"line_number": 260,
"native_method": false,
"class_name": "reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber"
},
{
"class_loader_name": "app",
"method_name": "request",
"file_name": "FluxFilterFuseable.java",
"line_number": 411,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber"
},
{
"class_loader_name": "app",
"method_name": "request",
"file_name": "FluxHandleFuseable.java",
"line_number": 260,
"native_method": false,
"class_name": "reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber"
},
{
"class_loader_name": "app",
"method_name": "set",
"file_name": "Operators.java",
"line_number": 2367,
"native_method": false,
"class_name": "reactor.core.publisher.Operators$MultiSubscriptionSubscriber"
},
{
"class_loader_name": "app",
"method_name": "onSubscribe",
"file_name": "FluxOnErrorResume.java",
"line_number": 74,
"native_method": false,
"class_name": "reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber"
},
{
"class_loader_name": "app",
"method_name": "onSubscribe",
"file_name": "FluxHandleFuseable.java",
"line_number": 164,
"native_method": false,
"class_name": "reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber"
},
{
"class_loader_name": "app",
"method_name": "onSubscribe",
"file_name": "FluxFilterFuseable.java",
"line_number": 305,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber"
},
{
"class_loader_name": "app",
"method_name": "onSubscribe",
"file_name": "FluxHandleFuseable.java",
"line_number": 164,
"native_method": false,
"class_name": "reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber"
},
{
"class_loader_name": "app",
"method_name": "onSubscribe",
"file_name": "FluxFilterFuseable.java",
"line_number": 305,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "MonoJust.java",
"line_number": 55,
"native_method": false,
"class_name": "reactor.core.publisher.MonoJust"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "Mono.java",
"line_number": 4576,
"native_method": false,
"class_name": "reactor.core.publisher.Mono"
},
{
"class_loader_name": "app",
"method_name": "onNext",
"file_name": "FluxFlatMap.java",
"line_number": 430,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFlatMap$FlatMapMain"
},
{
"class_loader_name": "app",
"method_name": "slowPath",
"file_name": "FluxIterable.java",
"line_number": 335,
"native_method": false,
"class_name": "reactor.core.publisher.FluxIterable$IterableSubscription"
},
{
"class_loader_name": "app",
"method_name": "request",
"file_name": "FluxIterable.java",
"line_number": 294,
"native_method": false,
"class_name": "reactor.core.publisher.FluxIterable$IterableSubscription"
},
{
"class_loader_name": "app",
"method_name": "onSubscribe",
"file_name": "FluxFlatMap.java",
"line_number": 373,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFlatMap$FlatMapMain"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "FluxIterable.java",
"line_number": 201,
"native_method": false,
"class_name": "reactor.core.publisher.FluxIterable"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "FluxIterable.java",
"line_number": 83,
"native_method": false,
"class_name": "reactor.core.publisher.FluxIterable"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "Mono.java",
"line_number": 4576,
"native_method": false,
"class_name": "reactor.core.publisher.Mono"
},
{
"class_loader_name": "app",
"method_name": "onNext",
"file_name": "FluxFlatMap.java",
"line_number": 430,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFlatMap$FlatMapMain"
},
{
"class_loader_name": "app",
"method_name": "slowPath",
"file_name": "FluxIterable.java",
"line_number": 335,
"native_method": false,
"class_name": "reactor.core.publisher.FluxIterable$IterableSubscription"
},
{
"class_loader_name": "app",
"method_name": "request",
"file_name": "FluxIterable.java",
"line_number": 294,
"native_method": false,
"class_name": "reactor.core.publisher.FluxIterable$IterableSubscription"
},
{
"class_loader_name": "app",
"method_name": "onSubscribe",
"file_name": "FluxFlatMap.java",
"line_number": 373,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFlatMap$FlatMapMain"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "FluxIterable.java",
"line_number": 201,
"native_method": false,
"class_name": "reactor.core.publisher.FluxIterable"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "FluxIterable.java",
"line_number": 83,
"native_method": false,
"class_name": "reactor.core.publisher.FluxIterable"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "Flux.java",
"line_number": 8891,
"native_method": false,
"class_name": "reactor.core.publisher.Flux"
},
{
"class_loader_name": "app",
"method_name": "onNext",
"file_name": "FluxFlatMap.java",
"line_number": 430,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFlatMap$FlatMapMain"
},
{
"class_loader_name": "app",
"method_name": "slowPath",
"file_name": "FluxIterable.java",
"line_number": 335,
"native_method": false,
"class_name": "reactor.core.publisher.FluxIterable$IterableSubscription"
},
{
"class_loader_name": "app",
"method_name": "request",
"file_name": "FluxIterable.java",
"line_number": 294,
"native_method": false,
"class_name": "reactor.core.publisher.FluxIterable$IterableSubscription"
},
{
"class_loader_name": "app",
"method_name": "onSubscribe",
"file_name": "FluxFlatMap.java",
"line_number": 373,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFlatMap$FlatMapMain"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "FluxIterable.java",
"line_number": 201,
"native_method": false,
"class_name": "reactor.core.publisher.FluxIterable"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "FluxIterable.java",
"line_number": 83,
"native_method": false,
"class_name": "reactor.core.publisher.FluxIterable"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "Mono.java",
"line_number": 4576,
"native_method": false,
"class_name": "reactor.core.publisher.Mono"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "ReactivePropagation.java",
"line_number": 72,
"native_method": false,
"class_name": "io.micronaut.core.async.propagation.ReactivePropagation$1"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "ReactivePropagation.java",
"line_number": 79,
"native_method": false,
"class_name": "io.micronaut.core.async.propagation.ReactivePropagation$1"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "MonoFromPublisher.java",
"line_number": 64,
"native_method": false,
"class_name": "reactor.core.publisher.MonoFromPublisher"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "FluxFromMonoOperator.java",
"line_number": 85,
"native_method": false,
"class_name": "reactor.core.publisher.FluxFromMonoOperator"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "WebMetricsPublisher.java",
"line_number": 162,
"native_method": false,
"class_name": "io.micronaut.configuration.metrics.binder.web.WebMetricsPublisher"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "Flux.java",
"line_number": 8891,
"native_method": false,
"class_name": "reactor.core.publisher.Flux"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "ReactivePropagation.java",
"line_number": 72,
"native_method": false,
"class_name": "io.micronaut.core.async.propagation.ReactivePropagation$1"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "ReactivePropagation.java",
"line_number": 79,
"native_method": false,
"class_name": "io.micronaut.core.async.propagation.ReactivePropagation$1"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "MonoFromPublisher.java",
"line_number": 64,
"native_method": false,
"class_name": "reactor.core.publisher.MonoFromPublisher"
},
{
"class_loader_name": "app",
"method_name": "subscribe",
"file_name": "InternalMonoOperator.java",
"line_number": 76,
"native_method": false,
"class_name": "reactor.core.publisher.InternalMonoOperator"
},
{
"class_loader_name": "app",
"method_name": "onComplete",
"file_name": "ReactorExecutionFlowImpl.java",
"line_number": 233,
"native_method": false,
"class_name": "io.micronaut.http.reactive.execution.ReactorExecutionFlowImpl"
},
{
"class_loader_name": "app",
"method_name": "handleNormal",
"file_name": "NettyRequestLifecycle.java",
"line_number": 107,
"native_method": false,
"class_name": "io.micronaut.http.server.netty.NettyRequestLifecycle"
},
{
"class_loader_name": "app",
"method_name": "accept",
"file_name": "RoutingInBoundHandler.java",
"line_number": 203,
"native_method": false,
"class_name": "io.micronaut.http.server.netty.RoutingInBoundHandler"
},
{
"class_loader_name": "app",
"method_name": "accept",
"file_name": "NettyServerWebSocketUpgradeHandler.java",
"line_number": 156,
"native_method": false,
"class_name": "io.micronaut.http.server.netty.websocket.NettyServerWebSocketUpgradeHandler"
},
{
"class_loader_name": "app",
"method_name": "read",
"file_name": "PipeliningServerHandler.java",
"line_number": 487,
"native_method": false,
"class_name": "io.micronaut.http.server.netty.handler.PipeliningServerHandler$OptimisticBufferingInboundHandler"
},
{
"class_loader_name": "app",
"method_name": "channelRead",
"file_name": "PipeliningServerHandler.java",
"line_number": 221,
"native_method": false,
"class_name": "io.micronaut.http.server.netty.handler.PipeliningServerHandler"
},
{
"class_loader_name": "app",
"method_name": "invokeChannelRead",
"file_name": "AbstractChannelHandlerContext.java",
"line_number": 444,
"native_method": false,
"class_name": "io.netty.channel.AbstractChannelHandlerContext"
},
{
"class_loader_name": "app",
"method_name": "invokeChannelRead",
"file_name": "AbstractChannelHandlerContext.java",
"line_number": 420,
"native_method": false,
"class_name": "io.netty.channel.AbstractChannelHandlerContext"
},
{
"class_loader_name": "app",
"method_name": "fireChannelRead",
"file_name": "AbstractChannelHandlerContext.java",
"line_number": 412,
"native_method": false,
"class_name": "io.netty.channel.AbstractChannelHandlerContext"
},
{
"class_loader_name": "app",
"method_name": "channelRead",
"file_name": "ChannelInboundHandlerAdapter.java",
"line_number": 93,
"native_method": false,
"class_name": "io.netty.channel.ChannelInboundHandlerAdapter"
},
{
"class_loader_name": "app",
"method_name": "channelRead",
"file_name": "WebSocketServerExtensionHandler.java",
"line_number": 87,
"native_method": false,
"class_name": "io.netty.handler.codec.http.websocketx.extensions.WebSocketServerExtensionHandler"
},
{
"class_loader_name": "app",
"method_name": "invokeChannelRead",
"file_name": "AbstractChannelHandlerContext.java",
"line_number": 442,
"native_method": false,
"class_name": "io.netty.channel.AbstractChannelHandlerContext"
},
{
"class_loader_name": "app",
"method_name": "invokeChannelRead",
"file_name": "AbstractChannelHandlerContext.java",
"line_number": 420,
"native_method": false,
"class_name": "io.netty.channel.AbstractChannelHandlerContext"
},
{
"class_loader_name": "app",
"method_name": "fireChannelRead",
"file_name": "AbstractChannelHandlerContext.java",
"line_number": 412,
"native_method": false,
"class_name": "io.netty.channel.AbstractChannelHandlerContext"
},
{
"class_loader_name": "app",
"method_name": "fireChannelRead",
"file_name": "CombinedChannelDuplexHandler.java",
"line_number": 436,
"native_method": false,
"class_name": "io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext"
},
{
"class_loader_name": "app",
"method_name": "fireChannelRead",
"file_name": "ByteToMessageDecoder.java",
"line_number": 346,
"native_method": false,
"class_name": "io.netty.handler.codec.ByteToMessageDecoder"
},
{
"class_loader_name": "app",
"method_name": "channelRead",
"file_name": "ByteToMessageDecoder.java",
"line_number": 318,
"native_method": false,
"class_name": "io.netty.handler.codec.ByteToMessageDecoder"
},
{
"class_loader_name": "app",
"method_name": "channelRead",
"file_name": "CombinedChannelDuplexHandler.java",
"line_number": 251,
"native_method": false,
"class_name": "io.netty.channel.CombinedChannelDuplexHandler"
},
{
"class_loader_name": "app",
"method_name": "invokeChannelRead",
"file_name": "AbstractChannelHandlerContext.java",
"line_number": 442,
"native_method": false,
"class_name": "io.netty.channel.AbstractChannelHandlerContext"
},
{
"class_loader_name": "app",
"method_name": "invokeChannelRead",
"file_name": "AbstractChannelHandlerContext.java",
"line_number": 420,
"native_method": false,
"class_name": "io.netty.channel.AbstractChannelHandlerContext"
},
{
"class_loader_name": "app",
"method_name": "fireChannelRead",
"file_name": "AbstractChannelHandlerContext.java",
"line_number": 412,
"native_method": false,
"class_name": "io.netty.channel.AbstractChannelHandlerContext"
},
{
"class_loader_name": "app",
"method_name": "channelRead",
"file_name": "IdleStateHandler.java",
"line_number": 289,
"native_method": false,
"class_name": "io.netty.handler.timeout.IdleStateHandler"
},
{
"class_loader_name": "app",
"method_name": "invokeChannelRead",
"file_name": "AbstractChannelHandlerContext.java",
"line_number": 442,
"native_method": false,
"class_name": "io.netty.channel.AbstractChannelHandlerContext"
},
{
"class_loader_name": "app",
"method_name": "invokeChannelRead",
"file_name": "AbstractChannelHandlerContext.java",
"line_number": 420,
"native_method": false,
"class_name": "io.netty.channel.AbstractChannelHandlerContext"
},
{
"class_loader_name": "app",
"method_name": "fireChannelRead",
"file_name": "AbstractChannelHandlerContext.java",
"line_number": 412,
"native_method": false,
"class_name": "io.netty.channel.AbstractChannelHandlerContext"
},
{
"class_loader_name": "app",
"method_name": "channelRead",
"file_name": "DefaultChannelPipeline.java",
"line_number": 1357,
"native_method": false,
"class_name": "io.netty.channel.DefaultChannelPipeline$HeadContext"
},
{
"class_loader_name": "app",
"method_name": "invokeChannelRead",
"file_name": "AbstractChannelHandlerContext.java",
"line_number": 440,
"native_method": false,
"class_name": "io.netty.channel.AbstractChannelHandlerContext"
},
{
"class_loader_name": "app",
"method_name": "invokeChannelRead",
"file_name": "AbstractChannelHandlerContext.java",
"line_number": 420,
"native_method": false,
"class_name": "io.netty.channel.AbstractChannelHandlerContext"
},
{
"class_loader_name": "app",
"method_name": "fireChannelRead",
"file_name": "DefaultChannelPipeline.java",
"line_number": 868,
"native_method": false,
"class_name": "io.netty.channel.DefaultChannelPipeline"
},
{
"class_loader_name": "app",
"method_name": "read",
"file_name": "AbstractNioByteChannel.java",
"line_number": 166,
"native_method": false,
"class_name": "io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe"
},
{
"class_loader_name": "app",
"method_name": "processSelectedKey",
"file_name": "NioEventLoop.java",
"line_number": 796,
"native_method": false,
"class_name": "io.netty.channel.nio.NioEventLoop"
},
{
"class_loader_name": "app",
"method_name": "processSelectedKeysOptimized",
"file_name": "NioEventLoop.java",
"line_number": 732,
"native_method": false,
"class_name": "io.netty.channel.nio.NioEventLoop"
},
{
"class_loader_name": "app",
"method_name": "processSelectedKeys",
"file_name": "NioEventLoop.java",
"line_number": 658,
"native_method": false,
"class_name": "io.netty.channel.nio.NioEventLoop"
},
{
"class_loader_name": "app",
"method_name": "run",
"file_name": "NioEventLoop.java",
"line_number": 562,
"native_method": false,
"class_name": "io.netty.channel.nio.NioEventLoop"
},
{
"class_loader_name": "app",
"method_name": "run",
"file_name": "SingleThreadEventExecutor.java",
"line_number": 998,
"native_method": false,
"class_name": "io.netty.util.concurrent.SingleThreadEventExecutor$4"
},
{
"class_loader_name": "app",
"method_name": "run",
"file_name": "ThreadExecutorMap.java",
"line_number": 74,
"native_method": false,
"class_name": "io.netty.util.internal.ThreadExecutorMap$2"
},
{
"class_loader_name": "app",
"method_name": "run",
"file_name": "FastThreadLocalRunnable.java",
"line_number": 30,
"native_method": false,
"class_name": "io.netty.util.concurrent.FastThreadLocalRunnable"
},
{
"module_name": "java.base",
"module_version": "17.0.11",
"method_name": "run",
"file_name": "Thread.java",
"line_number": 840,
"native_method": false,
"class_name": "java.lang.Thread"
}
],
"suppressed": [],
"localized_message": "Out of Stock: Item B00027Y5QG is no longer available",
"type": "https://example.org/out-of-stock",
"parameters": {
"product": "B00027Y5QG"
},
"detail": "Item B00027Y5QG is no longer available",
"status": 400,
"title": "Out of Stock"
}
```

### Steps To Reproduce

_No response_

### Environment Information

_No response_

### Example Application

_No response_

### Version

4.8.0

Contributor guide

Open the contributing guide

Research direction

Reproduce the regression with Micronaut 4.8.0 and problem.stack-trace=false, then inspect the ThrowableProblemWithoutStacktrace path and the generated response. Compare it with the shown response from 4.7.6; done means the response omits stack_trace and suppressed data while retaining the expected problem fields.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.