Skip to content

Conversation

sberyozkin
Copy link
Member

@sberyozkin sberyozkin commented Jul 8, 2025

Update Keycloak server version which is used for downloading Keycloak images to 26.3.0, and the corresponding keycloak client version used in the extensions such as quarkus-keycloak-authorization to 26.0.6:

https://www.keycloak.org/downloads

@quarkus-bot quarkus-bot bot added area/dependencies Pull requests that update a dependency file area/docstyle issues related for manual docstyle review area/documentation labels Jul 8, 2025
Copy link

quarkus-bot bot commented Jul 8, 2025

Thanks for your pull request!

Your pull request does not follow our editorial rules. Could you have a look?

  • description should not be empty, describe your intent or provide links to the issues this PR is fixing (using Fixes #NNNNN) or changelogs

This message is automatically generated by a bot.

Copy link

quarkus-bot bot commented Jul 8, 2025

Status for workflow Quarkus Documentation CI

This is the status report for running Quarkus Documentation CI on commit 4ad825a.

✅ The latest workflow run for the pull request has completed successfully.

It should be safe to merge provided you have a look at the other checks in the summary.

Warning

There are other workflow runs running, you probably need to wait for their status before merging.

Copy link

github-actions bot commented Jul 8, 2025

🙈 The PR is closed and the preview is expired.

Copy link

quarkus-bot bot commented Jul 8, 2025

Status for workflow Quarkus CI

This is the status report for running Quarkus CI on commit 4ad825a.

Failing Jobs

Status Name Step Failures Logs Raw logs Build scan
JVM Tests - JDK 17 Build Failures Logs Raw logs 🚧
✔️ JVM Tests - JDK 21 Logs Raw logs 🚧

Full information is available in the Build summary check run.
You can consult the Develocity build scans.

Failures

⚙️ JVM Tests - JDK 17 #

- Failing: extensions/opentelemetry/deployment 
! Skipped: devtools/bom-descriptor-json extensions/liquibase/liquibase-mongodb/deployment extensions/micrometer-opentelemetry/deployment and 11 more

📦 extensions/opentelemetry/deployment

io.quarkus.opentelemetry.deployment.logs.OtelLogsDisabledTest. - History - More details - Source on GitHub

java.lang.RuntimeException: 
io.quarkus.builder.BuildException: Build failure: Build failed due to errors
	[error]: Build step io.quarkus.arc.deployment.ArcProcessor#validate threw an exception: java.lang.NullPointerException: Cannot invoke "io.quarkus.arc.processor.InjectionPointInfo.isProgrammaticLookup()" because "injectionPoint" is null
	at io.quarkus.arc.processor.UnusedBeans.findRemovableBeans(UnusedBeans.java:45)
	at io.quarkus.arc.processor.BeanDeployment.removeUnusedBeans(BeanDeployment.java:498)
	at io.quarkus.arc.processor.BeanDeployment.removeUnusedComponents(BeanDeployment.java:407)
	at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:354)
	at io.quarkus.arc.processor.BeanProcessor.initialize(BeanProcessor.java:178)

Flaky tests - Develocity

⚙️ Native Tests - Observability

📦 integration-tests/opentelemetry

io.quarkus.it.opentelemetry.MetricsIT.testAllJvmMetrics - History

  • Assertion condition defined as a Lambda expression in io.quarkus.it.opentelemetry.MetricsTest The metric jvm.cpu.longlock within 10 seconds. - org.awaitility.core.ConditionTimeoutException
org.awaitility.core.ConditionTimeoutException: Assertion condition defined as a Lambda expression in io.quarkus.it.opentelemetry.MetricsTest The metric jvm.cpu.longlock within 10 seconds.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
	at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119)
	at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:31)
	at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1160)
	at org.awaitility.core.ConditionFactory.untilAsserted(ConditionFactory.java:790)
	at io.quarkus.it.opentelemetry.MetricsTest.lambda$testAllJvmMetrics$6(MetricsTest.java:111)
	at java.base/java.lang.Iterable.forEach(Iterable.java:75)

⚙️ JVM Integration Tests - JDK 17

📦 integration-tests/kafka-devservices

io.quarkus.it.kafka.continuoustesting.DevServicesDevModeTest.testDevModeServiceDoesNotRestartContainersOnCodeChange - History

  • New containers: [Container(command=sh -c 'while [ ! -f /work/run.sh ]; do sleep 0.1; done; sleep 0.1; /work/run.sh', created=1751996619, id=9695af1cebecd19223d3e926871bd29b2736d15a8dd7cc9aa39dd4fc9f3747da, image=quay.io/ogunalp/kafka-native:latest, imageId=sha256:99fa71388449ac7ff46bda7f6d645fb4435d9a21dce3d4dbcaedfc8a738afd6b, names=[/kind_hermann], ports=[ContainerPort(ip=0.0.0.0, privatePort=9092, publicPort=32857, type=tcp), ContainerPort(ip=::, privatePort=9092, publicPort=32857, type=tcp)], labels={architecture=x86_64, build-date=2025-03-25T21:45:00Z, com.redhat.component=ubi9-micro-container, com.redhat.license_terms=https://www.redhat.com/en/about/red-hat-end-user-license-agreements\#UBI, description=Very small image which doesn't install the package manager., distribution-scope=public, io.buildah.version=1.39.0-dev, io.k8s.description=Very small image which doesn't install the package manager., io.k8s.display-name=Red Hat Universal Base Image 9 Micro, io.openshift.expose-ser... - org.opentest4j.AssertionFailedError
org.opentest4j.AssertionFailedError: 
New containers: [Container(command=sh -c 'while [ ! -f /work/run.sh ]; do sleep 0.1; done; sleep 0.1; /work/run.sh', created=1751996619, id=9695af1cebecd19223d3e926871bd29b2736d15a8dd7cc9aa39dd4fc9f3747da, image=quay.io/ogunalp/kafka-native:latest, imageId=sha256:99fa71388449ac7ff46bda7f6d645fb4435d9a21dce3d4dbcaedfc8a738afd6b, names=[/kind_hermann], ports=[ContainerPort(ip=0.0.0.0, privatePort=9092, publicPort=32857, type=tcp), ContainerPort(ip=::, privatePort=9092, publicPort=32857, type=tcp)], labels={architecture=x86_64, build-date=2025-03-25T21:45:00Z, com.redhat.component=ubi9-micro-container, com.redhat.license_terms=https://www.redhat.com/en/about/red-hat-end-user-license-agreements#UBI, description=Very small image which doesn't install the package manager., distribution-scope=public, io.buildah.version=1.39.0-dev, io.k8s.description=Very small image which doesn't install the package manager., io.k8s.display-name=Red Hat Universal Base ...

⚙️ JVM Integration Tests - JDK 21

📦 integration-tests/kafka-devservices

io.quarkus.it.kafka.continuoustesting.DevServicesDevModeTest.testDevModeServiceDoesNotRestartContainersOnCodeChange - History

  • expected: <false> but was: <true> - org.opentest4j.AssertionFailedError
org.opentest4j.AssertionFailedError: expected: <false> but was: <true>
	at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
	at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
	at org.junit.jupiter.api.AssertFalse.failNotFalse(AssertFalse.java:63)
	at org.junit.jupiter.api.AssertFalse.assertFalse(AssertFalse.java:36)
	at org.junit.jupiter.api.AssertFalse.assertFalse(AssertFalse.java:31)
	at org.junit.jupiter.api.Assertions.assertFalse(Assertions.java:231)
	at io.quarkus.it.kafka.continuoustesting.DevServicesDevModeTest.testDevModeServiceDoesNotRestartContainersOnCodeChange(DevServicesDevModeTest.java:81)

@gsmet
Copy link
Member

gsmet commented Jul 9, 2025

@mkouba @manovotn @Ladicek it seems we are hit again by this injectionPoint being null issue:

2025-07-08T18:36:50.8913581Z Caused by: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
2025-07-08T18:36:50.8915117Z 	[error]: Build step io.quarkus.arc.deployment.ArcProcessor#validate threw an exception: java.lang.NullPointerException: Cannot invoke "io.quarkus.arc.processor.InjectionPointInfo.isProgrammaticLookup()" because "injectionPoint" is null
2025-07-08T18:36:50.8916693Z 	at io.quarkus.arc.processor.UnusedBeans.findRemovableBeans(UnusedBeans.java:45)
2025-07-08T18:36:50.8917568Z 	at io.quarkus.arc.processor.BeanDeployment.removeUnusedBeans(BeanDeployment.java:498)
2025-07-08T18:36:50.8918508Z 	at io.quarkus.arc.processor.BeanDeployment.removeUnusedComponents(BeanDeployment.java:407)
2025-07-08T18:36:50.8919358Z 	at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:354)
2025-07-08T18:36:50.8920083Z 	at io.quarkus.arc.processor.BeanProcessor.initialize(BeanProcessor.java:178)

@gsmet gsmet merged commit 56ed501 into quarkusio:main Jul 9, 2025
60 of 61 checks passed
@quarkus-bot quarkus-bot bot added this to the 3.25 - main milestone Jul 9, 2025
@manovotn
Copy link
Contributor

manovotn commented Jul 9, 2025

@mkouba @manovotn @Ladicek it seems we are hit again by this injectionPoint being null issue:

Do you have links to the other issue(s) where we saw this?
I do recall this being discussed but I have no recollection of where. I also remember Martin added some extra logging for that case but that doesn't seem to be this part of the code.

@Eng-Fouad
Copy link
Contributor

@mkouba @manovotn @Ladicek it seems we are hit again by this injectionPoint being null issue:

Do you have links to the other issue(s) where we saw this? I do recall this being discussed but I have no recollection of where. I also remember Martin added some extra logging for that case but that doesn't seem to be this part of the code.

@Ladicek
Copy link
Contributor

Ladicek commented Jul 9, 2025

Thanks, I didn't remember where the check was introduced either (it was in #48331). Apparently there are other places where injection points can come to existence (synthetic IPs come to mind). @manovotn do you wanna work on it? If not, I can add more checks.

@manovotn
Copy link
Contributor

manovotn commented Jul 9, 2025

Thanks, I didn't remember where the check was introduced either (it was in #48331). Apparently there are other places where injection points can come to existence (synthetic IPs come to mind). @manovotn do you wanna work on it? If not, I can add more checks.

I'll take it.
I wanted to first take a look around if I can spot something out of ordinary and if not, we can at least have more checks to guide us when we next encounter it.

@manovotn
Copy link
Contributor

So far no luck and I am frankly out of ideas.

Notes about some of the things I tried:

  • The mention of synthetic beans in the earlier comment is not the issue here; those use Injection#forSyntheticBean which means it would go via Martin's added check and throw if there was null
    • I double checked code paths that lead to creation of Injection across ArC but all I found go via already existing null check
  • Tests that fail do not appear to have anything in common, nor do they repeat
    • Needless to say I didn't manage to spot this failure locally running build of modules that failed in CI in a loop)
  • I also checked how we create and populate the List<InjectionPointInfo> injectionPoints in BeanDeployment which is then used to perform the removal of unused beans. But those are basically just delegations to the Injection API with no real leeway for null to popup like this
  • We could obviously curate the list of IPs before processing them to remove these invalid values but that is not a solution, just a workaround
  • We could also have some List wrapper in BeanDeployment that will guard for any null value that we'd attempt to put in there but this will not tell us much about where does it come from either. We'd at most spot that it is, say, a producer or an observer method 🤷

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/dependencies Pull requests that update a dependency file area/docstyle issues related for manual docstyle review area/documentation triage/flaky-test
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants