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

Add debugging/tracing for PublicFieldAccessInheritanceTest #43074

Merged
merged 3 commits into from
Sep 12, 2024

Conversation

yrodiere
Copy link
Member

@yrodiere yrodiere commented Sep 6, 2024

Part of an ongoing investigation regarding #42479.

Best reviewed commit by commit.

I don't know what I'm looking for, so I enabled as much tracing and dumps as I could for this particular test -- and made sure to upload dumps as artifacts.

@yrodiere yrodiere requested a review from gsmet September 6, 2024 09:34
@quarkus-bot quarkus-bot bot added area/arc Issue related to ARC (dependency injection) area/core area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/hibernate-orm Hibernate ORM area/infra-automation anything related to CI, bots, etc. that are used to automated our infrastructure labels Sep 6, 2024
@quarkus-bot
Copy link

quarkus-bot bot commented Sep 6, 2024

/cc @gsmet (hibernate-orm)

@quarkus-bot

This comment has been minimized.

@yrodiere
Copy link
Member Author

yrodiere commented Sep 6, 2024

Wonderful -- system properties seem to be leaking from one test to the next.

I'll look into this.

@yrodiere yrodiere marked this pull request as draft September 6, 2024 14:57
So that tests can change them between executions -- in particular in
QuarkusUnitTest, which re-builds the application for each test class.
@yrodiere yrodiere marked this pull request as ready for review September 10, 2024 13:50
@quarkus-bot

This comment has been minimized.

@quarkus-bot
Copy link

quarkus-bot bot commented Sep 10, 2024

Status for workflow Quarkus CI

This is the status report for running Quarkus CI on commit 7b34581.

✅ 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.

You can consult the Develocity build scans.


Flaky tests - Develocity

⚙️ JVM Tests - JDK 17 Windows

📦 integration-tests/grpc-hibernate

com.example.grpc.hibernate.BlockingRawTest.shouldAdd - History

  • Condition with Lambda expression in com.example.grpc.hibernate.BlockingRawTestBase was not fulfilled within 30 seconds. - org.awaitility.core.ConditionTimeoutException
org.awaitility.core.ConditionTimeoutException: Condition with Lambda expression in com.example.grpc.hibernate.BlockingRawTestBase was not fulfilled within 30 seconds.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
	at org.awaitility.core.CallableCondition.await(CallableCondition.java:78)
	at org.awaitility.core.CallableCondition.await(CallableCondition.java:26)
	at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1006)
	at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:975)
	at com.example.grpc.hibernate.BlockingRawTestBase.shouldAdd(BlockingRawTestBase.java:59)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)

@yrodiere
Copy link
Member Author

yrodiere commented Sep 11, 2024

Wonderful -- system properties seem to be leaking from one test to the next.

I'll look into this.

I managed to work around that problem. So, tests pass.

Also, the debug information is correctly attached as build artifacts to the GitHub Actions' run results:

image

And the build artifacts contain all I need:

❯ tree --filelimit 10 debug-1-JVM\ Tests\ -\ JDK\ 17
debug-1-JVM Tests - JDK 17
└── extensions
    └── hibernate-orm
        └── deployment
            └── target
                └── debug
                    └── class io.quarkus.hibernate.orm.applicationfieldaccess.PublicFieldAccessInheritanceTest
                        └── d65a7456-380c-4cf5-93a3-56e5dbd63a48
                            ├── generated-classes  [55 entries exceeds filelimit, not opening dir]
                            └── transformed-classes
                                ├── io
                                │   ├── quarkus
                                │   │   ├── hibernate
                                │   │   │   └── orm
                                │   │   │       └── applicationfieldaccess
                                │   │   │           ├── PublicFieldAccessInheritanceTest$FieldAccessEnhancedDelegate$1.class
                                │   │   │           ├── PublicFieldAccessInheritanceTest$FieldAccessEnhancedDelegate$2.class
                                │   │   │           ├── PublicFieldAccessInheritanceTest$FieldAccessEnhancedDelegate$3.class
                                │   │   │           ├── PublicFieldAccessInheritanceTest$FieldAccessEnhancedDelegate.class
                                │   │   │           ├── PublicFieldAccessInheritanceTest$MyAbstractEntity.class
                                │   │   │           ├── PublicFieldAccessInheritanceTest$MyConcreteEntity.class
                                │   │   │           ├── PublicFieldAccessInheritanceTest$MyMappedSuperclass.class
                                │   │   │           └── PublicFieldAccessInheritanceTest.class
                                │   │   └── resteasy
                                │   │       └── common
                                │   │           └── runtime
                                │   │               └── jackson
                                │   │                   └── QuarkusObjectMapperContextResolver.class
                                │   ├── smallrye
                                │   │   └── context
                                │   │       └── SmallRyeManagedExecutor.class
                                │   └── vertx
                                │       └── core
                                │           └── impl
                                │               └── ContextInternal.class
                                └── jakarta
                                    └── validation
                                        └── Validation.class

26 directories, 12 files

The directory name class io.quarkus.hibernate.orm.applicationfieldaccess.PublicFieldAccessInheritanceTest is not great, but I'll solve that in #43077.

Hey @gsmet can we merge this? It will take a few weeks before we get another instance of the failure on CI, so the sooner the better :)

@gsmet gsmet merged commit e47fe96 into quarkusio:main Sep 12, 2024
67 checks passed
@quarkus-bot quarkus-bot bot added this to the 3.16 - main milestone Sep 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/arc Issue related to ARC (dependency injection) area/core area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/hibernate-orm Hibernate ORM area/infra-automation anything related to CI, bots, etc. that are used to automated our infrastructure triage/flaky-test
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants