Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

infov impacts local variable type #32663

Closed
legrosmanu opened this issue Apr 15, 2023 · 7 comments · Fixed by #32679
Closed

infov impacts local variable type #32663

legrosmanu opened this issue Apr 15, 2023 · 7 comments · Fixed by #32679
Assignees
Labels
Milestone

Comments

@legrosmanu
Copy link

legrosmanu commented Apr 15, 2023

Describe the bug

I propose here a very specific problem, but, unfortunately, during a POC of a team to see if Quarkus could replace Spring Boot, the trust of the team on Quarkus is impacted.

Log.infov with more than 1 variable related to a Kafka record, seems to change the type of a local variable in specific context.

The specific context is:

  • the first line is a Uni not initialized explicitly (no = null for example), but the result would be the same with a CompletionStage.
  • a Log.infov is used with 2 variables related to a Kafka record

It means:

@Incoming("prices")
    public Uni<Void> consume(ConsumerRecord<String, String> msg) {
        Uni<Void> result; // result = null will work, or even if Instant now = Instant.now(); if before this line
        Instant now = Instant.now();

        Log.infov("infov seems changing now into a long, {0} - {1}", msg.topic(), msg.offset());
        // Log.infov("infov seems changing now into a long, {0}", msg.topic()); will work

        methodThatGetAnInstant(now);

        result = Uni.createFrom().voidItem();
        return result;
    }

    private void methodThatGetAnInstant(Instant instant) {
        Log.info("What a wonderfull method.");
    }

Expected behavior

We would expect mvn quarkus:dev starts the service without errors.

Actual behavior

We have an error on mvn quarkus:dev

2023-04-15 11:16:11,240 ERROR [io.qua.dep.dev.IsolatedDevModeMain] (Aesh InputStream Reader) Failed to start quarkus: io.quarkus.dev.appstate.ApplicationStartException: java.lang.RuntimeException: Failed to start quarkus
	at io.quarkus.dev.appstate.ApplicationStateNotification.waitForApplicationStart(ApplicationStateNotification.java:58)
	at io.quarkus.runner.bootstrap.StartupActionImpl.runMainClass(StartupActionImpl.java:123)
	at io.quarkus.deployment.dev.IsolatedDevModeMain.restartApp(IsolatedDevModeMain.java:222)
	at io.quarkus.deployment.dev.IsolatedDevModeMain.restartCallback(IsolatedDevModeMain.java:203)
	at io.quarkus.deployment.dev.RuntimeUpdatesProcessor.doScan(RuntimeUpdatesProcessor.java:543)
	at io.quarkus.deployment.console.ConsoleStateManager.forceRestart(ConsoleStateManager.java:141)
	at io.quarkus.deployment.console.ConsoleStateManager.lambda$installBuiltins$0(ConsoleStateManager.java:98)
	at io.quarkus.deployment.console.ConsoleStateManager$1.accept(ConsoleStateManager.java:73)
	at io.quarkus.deployment.console.ConsoleStateManager$1.accept(ConsoleStateManager.java:46)
	at io.quarkus.deployment.console.AeshConsole.lambda$setup$1(AeshConsole.java:275)
	at org.aesh.terminal.EventDecoder.accept(EventDecoder.java:118)
	at org.aesh.terminal.EventDecoder.accept(EventDecoder.java:31)
	at org.aesh.terminal.io.Decoder.write(Decoder.java:133)
	at org.aesh.readline.tty.terminal.TerminalConnection.openBlocking(TerminalConnection.java:216)
	at org.aesh.readline.tty.terminal.TerminalConnection.openBlocking(TerminalConnection.java:203)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.RuntimeException: Failed to start quarkus
	at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
	at io.quarkus.runtime.Application.start(Application.java:101)
	at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:111)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:124)
	at io.quarkus.runner.GeneratedMain.main(Unknown Source)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at io.quarkus.runner.bootstrap.StartupActionImpl$1.run(StartupActionImpl.java:104)
	... 1 more
Caused by: jakarta.enterprise.inject.spi.DefinitionException: java.lang.VerifyError: Bad type on operand stack
Exception Details:
  Location:
    legros/emmanuel/KafkaConsumer.consume(Lorg/apache/kafka/clients/consumer/ConsumerRecord;)Lio/smallrye/mutiny/Uni; @52: invokevirtual
  Reason:
    Type 'java/lang/Long' (current frame, stack[1]) is not assignable to 'java/time/Instant'
  Current Frame:
    bci: @52
    flags: { }
    locals: { 'legros/emmanuel/KafkaConsumer', 'org/apache/kafka/clients/consumer/ConsumerRecord', 'java/lang/Long', top, top, 'java/lang/String', top, 'java/lang/String' }
    stack: { 'legros/emmanuel/KafkaConsumer', 'java/lang/Long' }
  Bytecode:
    0000000: b800 074d 120d 2bb6 000f b800 15b2 005f
    0000010: 5b57 b600 6212 212b b600 232b b600 0fb8
    0000020: 0015 4d3a 053a 07b2 005f 1907 1905 2cb6
    0000030: 0063 2a2c b600 2ab8 0030 b600 363a 0819
    0000040: 08b0                                   

	at io.smallrye.reactive.messaging.providers.extension.MediatorManager.createMediator(MediatorManager.java:199)
	at io.smallrye.reactive.messaging.providers.extension.MediatorManager_ClientProxy.createMediator(Unknown Source)
	at io.smallrye.reactive.messaging.providers.wiring.Wiring$SubscriberMediatorComponent.materialize(Wiring.java:626)
	at io.smallrye.reactive.messaging.providers.wiring.Graph.lambda$materialize$10(Graph.java:100)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
	at io.smallrye.reactive.messaging.providers.wiring.Graph.materialize(Graph.java:99)
	at io.smallrye.reactive.messaging.providers.extension.MediatorManager.start(MediatorManager.java:219)
	at io.smallrye.reactive.messaging.providers.extension.MediatorManager_ClientProxy.start(Unknown Source)
	at io.quarkus.smallrye.reactivemessaging.runtime.SmallRyeReactiveMessagingLifecycle.onApplicationStart(SmallRyeReactiveMessagingLifecycle.java:52)
	at io.quarkus.smallrye.reactivemessaging.runtime.SmallRyeReactiveMessagingLifecycle_Observer_onApplicationStart_68e7b57eb97cb75d597c5b816682366e888d0d9b.notify(Unknown Source)
	at io.quarkus.arc.impl.EventImpl$Notifier.notifyObservers(EventImpl.java:344)
	at io.quarkus.arc.impl.EventImpl$Notifier.notify(EventImpl.java:326)
	at io.quarkus.arc.impl.EventImpl.fire(EventImpl.java:82)
	at io.quarkus.arc.runtime.ArcRecorder.fireLifecycleEvent(ArcRecorder.java:151)
	at io.quarkus.arc.runtime.ArcRecorder.handleLifecycleEvents(ArcRecorder.java:102)
	at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294.deploy_0(Unknown Source)
	at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294.deploy(Unknown Source)
	... 13 more
Caused by: java.lang.VerifyError: Bad type on operand stack
Exception Details:
  Location:
    legros/emmanuel/KafkaConsumer.consume(Lorg/apache/kafka/clients/consumer/ConsumerRecord;)Lio/smallrye/mutiny/Uni; @52: invokevirtual
  Reason:
    Type 'java/lang/Long' (current frame, stack[1]) is not assignable to 'java/time/Instant'
  Current Frame:
    bci: @52
    flags: { }
    locals: { 'legros/emmanuel/KafkaConsumer', 'org/apache/kafka/clients/consumer/ConsumerRecord', 'java/lang/Long', top, top, 'java/lang/String', top, 'java/lang/String' }
    stack: { 'legros/emmanuel/KafkaConsumer', 'java/lang/Long' }
  Bytecode:
    0000000: b800 074d 120d 2bb6 000f b800 15b2 005f
    0000010: 5b57 b600 6212 212b b600 232b b600 0fb8
    0000020: 0015 4d3a 053a 07b2 005f 1907 1905 2cb6
    0000030: 0063 2a2c b600 2ab8 0030 b600 363a 0819
    0000040: 08b0                                   

	at legros.emmanuel.KafkaConsumer_Bean.proxy(Unknown Source)
	at legros.emmanuel.KafkaConsumer_Bean.get(Unknown Source)
	at legros.emmanuel.KafkaConsumer_Bean.get(Unknown Source)
	at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:477)
	at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:490)
	at io.quarkus.arc.impl.BeanManagerImpl.getReference(BeanManagerImpl.java:63)
	at io.smallrye.reactive.messaging.providers.extension.MediatorManager.createMediator(MediatorManager.java:176)
	... 29 more

How to Reproduce?

I think that the description of the bug already explains how to reproduce it, but to make it simple, I propose you more comments on the following code -> https://github.com/legrosmanu/quarkus-infov-issue/blob/main/src/main/java/legros/emmanuel/KafkaConsumer.java

On this project, you can do a mvn:quarkus to get the error.

You'll have the same issue with Quarkus 2.6 or 3.0

Output of uname -a or ver

Darwin **** 22.4.0 Darwin Kernel Version 22.4.0: Mon Mar 6 21:00:17 PST 2023; root:xnu-8796.101.5~3/RELEASE_X86_64 x86_64

Output of java -version

OpenJDK Runtime Environment Temurin-17.0.6+10 (build 17.0.6+10) OpenJDK 64-Bit Server VM Temurin-17.0.6+10 (build 17.0.6+10, mixed mode, sharing)

GraalVM version (if different from Java)

No response

Quarkus version or git rev

3.0.0.CR2

Build tool (ie. output of mvnw --version or gradlew --version)

Apache Maven 3.9.1 (2e178502fcdbffc201671fb2537d0cb4b4cc58f8) Maven home: /usr/local/Cellar/maven/3.9.1/libexec Java version: 17.0.6, vendor: Eclipse Adoptium, runtime: /Users/manu/.sdkman/candidates/java/17.0.6-tem Default locale: fr_FR, platform encoding: UTF-8 OS name: "mac os x", version: "13.3", arch: "x86_64", family: "mac"

Additional information

No response

@legrosmanu legrosmanu added the kind/bug Something isn't working label Apr 15, 2023
@gsmet
Copy link
Member

gsmet commented Apr 15, 2023

@Ladicek could it be your Log magic doing weird things?

@legrosmanu could you try using a standard logger instead?

Create a field like so:

private static final Logger LOG = Logger.getLogger(YourClass.class);

with Logger being org.jboss.logging.Logger and use it to log instead of Log.

@legrosmanu
Copy link
Author

legrosmanu commented Apr 15, 2023

Hi @gsmet,
Thanks for the proposal, but I proposed this bug to be fixed if it is interesting for the community.
Indeed, It is very easy to not have the issue even with keeping this logger. The minimal workaround is to write Uni result = null; instead of Uni result;

@gsmet
Copy link
Member

gsmet commented Apr 15, 2023

I totally agree we need to fix it. My question was more to try to narrow down the issue.

@Ladicek
Copy link
Contributor

Ladicek commented Apr 17, 2023

Yeah, this totally looks like the bytecode transformation not preserving the stack state properly. I'll take a look.

@quarkus-bot
Copy link

quarkus-bot bot commented Apr 17, 2023

/cc @FroMage (panache), @Sgitario (rest-data-panache), @loicmathieu (panache)

@Ladicek Ladicek self-assigned this Apr 17, 2023
@Ladicek
Copy link
Contributor

Ladicek commented Apr 17, 2023

The problem is that I'm using the LocalVariablesSorter API incorrectly (as eloquently described in https://stackoverflow.com/questions/50140365/asm-strange-localvar-index-using-newlocal-from-localvariablesorter), so the resulting bytecode doesn't obey the JVM stack discipline. I'll submit a PR in a bit.

@Ladicek
Copy link
Contributor

Ladicek commented Apr 17, 2023

#32679 should fix this.

@quarkus-bot quarkus-bot bot added this to the 3.1 - main milestone Apr 18, 2023
@gsmet gsmet modified the milestones: 2.16.7.Final, 2.13.8.Final May 9, 2023
benkard pushed a commit to benkard/mulkcms2 that referenced this issue May 11, 2023
This MR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [flow-bin](https://github.com/flowtype/flow-bin) ([changelog](https://github.com/facebook/flow/blob/master/Changelog.md)) | devDependencies | minor | [`^0.203.0` -> `^0.206.0`](https://renovatebot.com/diffs/npm/flow-bin/0.203.1/0.206.0) |
| [org.liquibase.ext:liquibase-hibernate5](https://github.com/liquibase/liquibase-hibernate/wiki) ([source](https://github.com/liquibase/liquibase-hibernate)) | build | minor | `4.20.0` -> `4.21.1` |
| [org.liquibase:liquibase-maven-plugin](http://www.liquibase.org/liquibase-maven-plugin) ([source](https://github.com/liquibase/liquibase)) | build | minor | `4.20.0` -> `4.21.1` |
| [org.jsoup:jsoup](https://jsoup.org/) ([source](https://github.com/jhy/jsoup)) | compile | minor | `1.15.4` -> `1.16.1` |
| [com.vladsch.flexmark:flexmark-all](https://github.com/vsch/flexmark-java) | compile | patch | `0.64.0` -> `0.64.4` |
| [com.diffplug.spotless:spotless-maven-plugin](https://github.com/diffplug/spotless) | build | minor | `2.35.0` -> `2.36.0` |
| [io.quarkus:quarkus-maven-plugin](https://github.com/quarkusio/quarkus) | build | patch | `2.16.6.Final` -> `2.16.7.Final` |
| [io.quarkus:quarkus-universe-bom](https://github.com/quarkusio/quarkus-platform) | import | patch | `2.16.6.Final` -> `2.16.7.Final` |
| [org.apache.maven.plugins:maven-enforcer-plugin](https://maven.apache.org/enforcer/) | build | minor | `3.2.1` -> `3.3.0` |

---

### Release Notes

<details>
<summary>flowtype/flow-bin</summary>

### [`v0.206.0`](flow/flow-bin@f1c1fe9...7bf1c0e)

[Compare Source](flow/flow-bin@f1c1fe9...7bf1c0e)

### [`v0.205.1`](flow/flow-bin@7b34b50...f1c1fe9)

[Compare Source](flow/flow-bin@7b34b50...f1c1fe9)

### [`v0.205.0`](flow/flow-bin@2b838b7...7b34b50)

[Compare Source](flow/flow-bin@2b838b7...7b34b50)

### [`v0.204.1`](flow/flow-bin@283b669...2b838b7)

[Compare Source](flow/flow-bin@283b669...2b838b7)

### [`v0.204.0`](flow/flow-bin@5e0645d...283b669)

[Compare Source](flow/flow-bin@5e0645d...283b669)

</details>

<details>
<summary>liquibase/liquibase-hibernate</summary>

### [`v4.21.1`](https://github.com/liquibase/liquibase-hibernate/releases/tag/v4.21.1)

[Compare Source](liquibase/liquibase-hibernate@v4.21.0...v4.21.1)

Support for Liquibase 4.21.1.

**Full Changelog**: liquibase/liquibase-hibernate@v4.20.0...v4.21.1

### [`v4.21.0`](https://github.com/liquibase/liquibase-hibernate/releases/tag/v4.21.0)

[Compare Source](liquibase/liquibase-hibernate@v4.20.0...v4.21.0)

Support for Liquibase 4.21.0.

#### What's Changed

-   Bump snakeyaml from 1.33 to 2.0 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase-hibernate#462
-   Bump spring.version from 6.0.5 to 6.0.6 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase-hibernate#464
-   Bump maven-compiler-plugin from 3.10.1 to 3.11.0 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase-hibernate#461
-   Fix snyk warning by [@&#8203;filipelautert](https://github.com/filipelautert) in liquibase/liquibase-hibernate#466
-   UniqueConstraintSnapshotGenerator removed to avoid issue of index/constraint recreation by [@&#8203;MalloD12](https://github.com/MalloD12) in liquibase/liquibase-hibernate#468
-   Bump spring.version from 6.0.6 to 6.0.7 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase-hibernate#470
-   feat: Make test failing with unique constraints by [@&#8203;fleboulch](https://github.com/fleboulch) in liquibase/liquibase-hibernate#455
-   Bump jacoco-maven-plugin from 0.8.8 to 0.8.9 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase-hibernate#473
-   Bump maven-resources-plugin from 3.3.0 to 3.3.1 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase-hibernate#471
-   Bump maven-surefire-plugin from 2.22.2 to 3.0.0 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase-hibernate#469
-   Fix types handling by [@&#8203;filipelautert](https://github.com/filipelautert) in liquibase/liquibase-hibernate#467

#### New Contributors

-   [@&#8203;MalloD12](https://github.com/MalloD12) made their first contribution in liquibase/liquibase-hibernate#468
-   [@&#8203;fleboulch](https://github.com/fleboulch) made their first contribution in liquibase/liquibase-hibernate#455

**Full Changelog**: liquibase/liquibase-hibernate@v4.19.1...v4.21.0

</details>

<details>
<summary>liquibase/liquibase</summary>

### [`v4.21.1`](https://github.com/liquibase/liquibase/blob/HEAD/changelog.txt#Liquibase-4211-is-a-patch-release)

[Compare Source](liquibase/liquibase@v4.21.0...v4.21.1)

### [`v4.21.0`](https://github.com/liquibase/liquibase/blob/HEAD/changelog.txt#Liquibase-v4210-is-a-major-release)

[Compare Source](liquibase/liquibase@v4.20.0...v4.21.0)

</details>

<details>
<summary>vsch/flexmark-java</summary>

### [`v0.64.4`](vsch/flexmark-java@0.64.2...0.64.4)

[Compare Source](vsch/flexmark-java@0.64.2...0.64.4)

### [`v0.64.2`](vsch/flexmark-java@0.64.0...0.64.2)

[Compare Source](vsch/flexmark-java@0.64.0...0.64.2)

</details>

<details>
<summary>diffplug/spotless</summary>

### [`v2.36.0`](https://github.com/diffplug/spotless/blob/HEAD/CHANGES.md#&#8203;2360---2023-02-27)

##### Added

-   `gradlew equoIde` opens a repeatable clean Spotless dev environment. ([#&#8203;1523](diffplug/spotless#1523))
-   `cleanthat` added `includeDraft` option, to include draft mutators from composite mutators. ([#&#8203;1574](diffplug/spotless#1574))
-   `npm`-based formatters now support caching of `node_modules` directory ([#&#8203;1590](diffplug/spotless#1590))

##### Fixed

-   `JacksonJsonFormatterFunc` handles json files with an Array as root. ([#&#8203;1585](diffplug/spotless#1585))

##### Changes

-   Bump default `cleanthat` version to latest `2.1` -> `2.6` ([#&#8203;1569](diffplug/spotless#1569) and [#&#8203;1574](diffplug/spotless#1574))
-   Reduce logging-noise created by `npm`-based formatters ([#&#8203;1590](diffplug/spotless#1590) fixes [#&#8203;1582](diffplug/spotless#1582))

</details>

<details>
<summary>quarkusio/quarkus</summary>

### [`v2.16.7.Final`](https://github.com/quarkusio/quarkus/releases/tag/2.16.7.Final)

[Compare Source](quarkusio/quarkus@2.16.6.Final...2.16.7.Final)

##### Complete changelog

-   [#&#8203;33023](quarkusio/quarkus#33023) - Fix algorithm comparison bug in OIDC code loading the token decryption key
-   [#&#8203;33020](quarkusio/quarkus#33020) - Fixed example in command-mode-reference.adoc
-   [#&#8203;33012](quarkusio/quarkus#33012) - Update JReleaser guide for native executables
-   [#&#8203;32842](quarkusio/quarkus#32842) - Correct a typo in redis-reference.adoc
-   [#&#8203;32841](quarkusio/quarkus#32841) - Add a column before a table column separator `|`
-   [#&#8203;32838](quarkusio/quarkus#32838) - Fix a typo in security-openid-connect-multitenancy.adoc
-   [#&#8203;32771](quarkusio/quarkus#32771) - Prevent NPE for UserInfo String and Boolean properties
-   [#&#8203;32762](quarkusio/quarkus#32762) - Normalize paths for POM Model providers
-   [#&#8203;32753](quarkusio/quarkus#32753) - Update codestarts to use openjdk container images 1.15
-   [#&#8203;32751](quarkusio/quarkus#32751) - Codestarts - OpenJDK-Container Image not updated
-   [#&#8203;32740](quarkusio/quarkus#32740) - Add missing static import in config interceptor doc
-   [#&#8203;32738](quarkusio/quarkus#32738) - Fix guide oidc trust-store config parameter name
-   [#&#8203;32703](quarkusio/quarkus#32703) - Include MariaDB deprecated.properties
-   [#&#8203;32702](quarkusio/quarkus#32702) - Native MariaDb with useSsl throw NPE
-   [#&#8203;32692](quarkusio/quarkus#32692) - Allow ConfigMappings with default visibility
-   [#&#8203;32690](quarkusio/quarkus#32690) - Quarkus dev mode is not working with a certain type of folder tree due to dependency injection
-   [#&#8203;32679](quarkusio/quarkus#32679) - Logging with Panache: fix LocalVariablesSorter usage
-   [#&#8203;32669](quarkusio/quarkus#32669) - Replace remaining references to bcX-jdk150
-   [#&#8203;32663](quarkusio/quarkus#32663) - infov impacts local variable type
-   [#&#8203;32655](quarkusio/quarkus#32655) - Correct a minor error in native-reference.adoc
-   [#&#8203;32636](quarkusio/quarkus#32636) - Remove reference Uni::then in Mutiny primer
-   [#&#8203;32635](quarkusio/quarkus#32635) - Quarkus Mutiny guide mistake
-   [#&#8203;32603](quarkusio/quarkus#32603) - Avoid calling after construct callbacks twice when using `@Nested` tests
-   [#&#8203;32514](quarkusio/quarkus#32514) - Bump OWASP dependency check plugin version to 8.2.1
-   [#&#8203;32505](quarkusio/quarkus#32505) - Throw the exception if OIDC client fails to acquire the token
-   [#&#8203;32501](quarkusio/quarkus#32501) - Remove unnecessary line split from metadata yaml
-   [#&#8203;32500](quarkusio/quarkus#32500) - `YamlMetadataGenerator` emits yaml with line splits
-   [#&#8203;32481](quarkusio/quarkus#32481) - Fix NPE when OIDC TenantConfigResolver returns null
-   [#&#8203;32480](quarkusio/quarkus#32480) - RestClient with Oidc Token (OidcClientRequestReactiveFilter) is NOT failing when Token is wrong/unauthorized
-   [#&#8203;32449](quarkusio/quarkus#32449) - Multitenancy OIDC permit tenant enumeration
-   [#&#8203;32442](quarkusio/quarkus#32442) - Add one more CORS same origin unit test
-   [#&#8203;32419](quarkusio/quarkus#32419) - Correcting Resteasy Reactive docs
-   [#&#8203;32403](quarkusio/quarkus#32403) - Make SDKMAN releases minor for maintenance and preview releases
-   [#&#8203;32383](quarkusio/quarkus#32383) - Using `@InjectSpy` from a JUnit5 `@Nested` inner class leads to unreliable test result
-   [#&#8203;32360](quarkusio/quarkus#32360) - Qute validation - fix the way the namespace expressions are collected
-   [#&#8203;32355](quarkusio/quarkus#32355) - Cannot using 2 classes with Qute `@MessageBundle` with different namespace
-   [#&#8203;32349](quarkusio/quarkus#32349) - Better error on unparseable GraphQL JSON request
-   [#&#8203;31939](quarkusio/quarkus#31939) - A bit of javadoc for codegen
-   [#&#8203;31581](quarkusio/quarkus#31581) - Arc - Do not validate static members in inner non-static classes for CDI annotations
-   [#&#8203;31558](quarkusio/quarkus#31558) - JUnit `@Nested` Inner Classes with `@BeforeAll` and `@Transactional` annotations fail on initialization after upgrading to 2.16.3.Final
-   [#&#8203;31554](quarkusio/quarkus#31554) - RunTimeMappingsConfigBuilder failures (native build/tests) with 2.16.4

</details>

<details>
<summary>quarkusio/quarkus-platform</summary>

### [`v2.16.7.Final`](quarkusio/quarkus-platform@2.16.6.Final...2.16.7.Final)

[Compare Source](quarkusio/quarkus-platform@2.16.6.Final...2.16.7.Final)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever MR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This MR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yNC4wIiwidXBkYXRlZEluVmVyIjoiMzQuMjQuMCJ9-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants