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

debugSymbolsQuarkus fails with latest GraalVM master #138

Closed
Karm opened this issue Feb 14, 2023 · 10 comments · Fixed by quarkusio/quarkus#31294
Closed

debugSymbolsQuarkus fails with latest GraalVM master #138

Karm opened this issue Feb 14, 2023 · 10 comments · Fixed by quarkusio/quarkus#31294
Assignees

Comments

@Karm
Copy link
Owner

Karm commented Feb 14, 2023

There are failures in GDB flows on the latest Ubuntu GHA runners, e.g.:

2023-02-14T03:27:08.3302784Z [ERROR] Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 520.46 s <<< FAILURE! - in org.graalvm.tests.integration.DebugSymbolsTest
2023-02-14T03:27:08.3307172Z [ERROR] debugSymbolsQuarkus{TestInfo}  Time elapsed: 428.272 s  <<< FAILURE!
2023-02-14T03:27:08.3307792Z org.opentest4j.AssertionFailedError: 
2023-02-14T03:27:08.3308675Z There were errors in the GDB session. Note that commands in the session might depend on each other. Errors: 
2023-02-14T03:27:08.3309479Z Command 'b ConfigTestController.java:33' did not match the expected pattern '.*Breakpoint 1 at .*: file com/example/quarkus/config/ConfigTestController.java, line 33.*'.
2023-02-14T03:27:08.3309895Z Output was:
2023-02-14T03:27:08.3310228Z (gdb) (gdb) (gdb) GNU gdb (Ubuntu 12.1-0ubuntu1~22.04) 12.1
2023-02-14T03:27:08.3310521Z Copyright (C) 2022 Free Software Foundation, Inc.
2023-02-14T03:27:08.3310854Z License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
2023-02-14T03:27:08.3311417Z This is free software: you are free to change and redistribute it.
2023-02-14T03:27:08.3311729Z There is NO WARRANTY, to the extent permitted by law.
2023-02-14T03:27:08.3312012Z Type "show copying" and "show warranty" for details.
2023-02-14T03:27:08.3312352Z This GDB was configured as "x86_64-linux-gnu".
2023-02-14T03:27:08.3312631Z Type "show configuration" for configuration details.
2023-02-14T03:27:08.3312902Z For bug reporting instructions, please see:
2023-02-14T03:27:08.3313177Z <https://www.gnu.org/software/gdb/bugs/>.
2023-02-14T03:27:08.3313520Z Find the GDB manual and other documentation resources online at:
2023-02-14T03:27:08.3313831Z     <http://www.gnu.org/software/gdb/documentation/>.
2023-02-14T03:27:08.3314004Z 
2023-02-14T03:27:08.3314091Z For help, type "help".
2023-02-14T03:27:08.3314340Z Type "apropos word" to search for commands related to "word".
2023-02-14T03:27:08.3314635Z (gdb) No symbol table is loaded.  Use the "file" command.
2023-02-14T03:27:08.3314853Z , 
2023-02-14T03:27:08.3315279Z Command 'bt' did not match the expected pattern '.*at.*com/example/quarkus/config/ConfigTestController.java:33.*'.
2023-02-14T03:27:08.3315597Z Output was:
2023-02-14T03:27:08.3315793Z Selected thread is running.
2023-02-14T03:27:08.3316026Z (gdb) [New Thread 0x7fffdaffe640 (LWP 4316)]
2023-02-14T03:27:08.3316273Z [New Thread 0x7fffd9ffd640 (LWP 4317)]
2023-02-14T03:27:08.3316510Z [New Thread 0x7fffc3fff640 (LWP 4318)]
2023-02-14T03:27:08.3316731Z [New Thread 0x7fffc2ffe640 (LWP 4319)]
2023-02-14T03:27:08.3317513Z 2023-02-14 03:25:07,347 WARN  [io.jae.int.rep.RemoteReporter] (jaeger.RemoteReporter-QueueProcessor) FlushCommand execution failed! Repeated errors of this command will not be logged.: io.jaegertracing.internal.exceptions.SenderException: Failed to flush spans.
2023-02-14T03:27:08.3318223Z 	at io.jaegertracing.thrift.internal.senders.ThriftSender.flush(ThriftSender.java:116)
2023-02-14T03:27:08.3318738Z 	at io.jaegertracing.internal.reporters.RemoteReporter$FlushCommand.execute(RemoteReporter.java:158)
2023-02-14T03:27:08.3319240Z 	at io.jaegertracing.internal.reporters.RemoteReporter$QueueProcessor.run(RemoteReporter.java:179)
2023-02-14T03:27:08.3319714Z 	at [email protected]/java.lang.Thread.run(Thread.java:833)
2023-02-14T03:27:08.3320196Z 	at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:807)
2023-02-14T03:27:08.3320875Z 	at org.graalvm.nativeimage.builder/com.oracle.svm.core.posix.thread.PosixPlatformThreads.pthreadStartRoutine(PosixPlatformThreads.java:211)
2023-02-14T03:27:08.3321556Z Caused by: io.jaegertracing.internal.exceptions.SenderException: Could not send 1 spans
2023-02-14T03:27:08.3322026Z 	at io.jaegertracing.thrift.internal.senders.HttpSender.send(HttpSender.java:70)
2023-02-14T03:27:08.3322509Z 	at io.jaegertracing.thrift.internal.senders.ThriftSender.flush(ThriftSender.java:114)
2023-02-14T03:27:08.3322822Z 	... 5 more
2023-02-14T03:27:08.3323145Z Caused by: java.net.ConnectException: Failed to connect to localhost/[0:0:0:0:0:0:0:1]:14268
2023-02-14T03:27:08.3323576Z 	at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:265)
2023-02-14T03:27:08.3324143Z 	at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:183)
2023-02-14T03:27:08.3324595Z 	at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.java:224)
2023-02-14T03:27:08.3325104Z 	at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.java:108)
2023-02-14T03:27:08.3325575Z 	at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.java:88)
2023-02-14T03:27:08.3325998Z 	at okhttp3.internal.connection.Transmitter.newExchange(Transmitter.java:169)
2023-02-14T03:27:08.3326463Z 	at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:41)
2023-02-14T03:27:08.3326943Z 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
2023-02-14T03:27:08.3327408Z 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
2023-02-14T03:27:08.3327896Z 	at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:94)
2023-02-14T03:27:08.3328333Z 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
2023-02-14T03:27:08.3328772Z 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
2023-02-14T03:27:08.3329203Z 	at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
2023-02-14T03:27:08.3329653Z 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
2023-02-14T03:27:08.3330154Z 	at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:88)
2023-02-14T03:27:08.3330647Z 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
2023-02-14T03:27:08.3331084Z 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
2023-02-14T03:27:08.3331516Z 	at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:229)
2023-02-14T03:27:08.3331866Z 	at okhttp3.RealCall.execute(RealCall.java:81)
2023-02-14T03:27:08.3332237Z 	at io.jaegertracing.thrift.internal.senders.HttpSender.send(HttpSender.java:68)
2023-02-14T03:27:08.3332544Z 	... 6 more
2023-02-14T03:27:08.3332790Z Caused by: java.net.ConnectException: Connection refused
2023-02-14T03:27:08.3333177Z 	at [email protected]/sun.nio.ch.Net.pollConnect(Net.java)
2023-02-14T03:27:08.3333579Z 	at [email protected]/sun.nio.ch.Net.pollConnectNow(Net.java:672)
2023-02-14T03:27:08.3334067Z 	at [email protected]/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:542)
2023-02-14T03:27:08.3334567Z 	at [email protected]/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:597)
2023-02-14T03:27:08.3335025Z 	at [email protected]/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
2023-02-14T03:27:08.3335449Z 	at [email protected]/java.net.Socket.connect(Socket.java:633)
2023-02-14T03:27:08.3335831Z 	at okhttp3.internal.platform.Platform.connectSocket(Platform.java:130)
2023-02-14T03:27:08.3336267Z 	at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:263)
2023-02-14T03:27:08.3336580Z 	... 25 more
2023-02-14T03:27:08.3336692Z 
2023-02-14T03:27:08.3336751Z , 
2023-02-14T03:27:08.3337137Z Command 'list' did not match the expected pattern '.*String value = config.getValue\("value", String.class\);.*'.
2023-02-14T03:27:08.3337433Z Output was:
2023-02-14T03:27:08.3337726Z 1	../sysdeps/x86/abi-note.c: No such file or directory.
2023-02-14T03:27:08.3338019Z , 
2023-02-14T03:27:08.3338309Z Command 'c&' did not match the expected pattern '.*Continuing.*'.
2023-02-14T03:27:08.3338558Z Output was:
2023-02-14T03:27:08.3338819Z (gdb) Cannot execute this command while the selected thread is running.
2023-02-14T03:27:08.3339084Z  ==> expected: <true> but was: <false>
2023-02-14T03:27:08.3339488Z 	at org.graalvm.tests.integration.DebugSymbolsTest.carryOutGDBSession(DebugSymbolsTest.java:394)
2023-02-14T03:27:08.3340048Z 	at org.graalvm.tests.integration.DebugSymbolsTest.debugSymbolsQuarkus(DebugSymbolsTest.java:219)
2023-02-14T03:27:08.3340405Z 

See #102 (comment)

The Mandrel CI runs on Ubuntu-latest (i.e. 22.04): https://github.com/graalvm/mandrel/blob/default/.github/workflows/base.yml#L88

Whereas our IT CI runs on Ubuntu 20.04: https://github.com/Karm/mandrel-integration-tests/blob/master/.github/workflows/local_tests.yml#L29

FYI @zakkak I think there might be some devel package missing to make gdb happy with glibc stuff. I will eventually spin up a VM and investigate unless you know from the top of your head what it is...

@Karm Karm self-assigned this Feb 14, 2023
@jerboaa
Copy link
Collaborator

jerboaa commented Feb 14, 2023

There are two possible issues which might cause this too:

  1. 2023-02-14T03:27:08.3314635Z (gdb) No symbol table is loaded. Use the "file" command.
  2. The Jaeger related stack-trace, which didn't happen before?

@Karm
Copy link
Owner Author

Karm commented Feb 14, 2023

@jerboaa

  1. No symbol table is loaded. Use the "file" command.

Perhaps 👀 Not sure what's installed on the runner...

  1. The Jaeger related stack-trace, which didn't happen before?

Jaeger has been always complaining, because there is no https://www.jaegertracing.io/download/ running. That is fine and whitelisted WhitelistLogLines.java, so that should be ok...

@zakkak
Copy link
Collaborator

zakkak commented Feb 14, 2023

I think that the whole breakage starts at:

2023-02-14T03:27:08.3309479Z Command 'b ConfigTestController.java:33' did not match the expected pattern '.*Breakpoint 1 at .*: file com/example/quarkus/config/ConfigTestController.java, line 33.*'.
2

gdb fails to set the breakpoint where it's expected to be set, which then leads us to

2023-02-14T03:27:08.3337137Z Command 'list' did not match the expected pattern '.*String value = config.getValue\("value", String.class\);.*'.
2023-02-14T03:27:08.3337433Z Output was:
2023-02-14T03:27:08.3337726Z 1	../sysdeps/x86/abi-note.c: No such file or directory.

which indicates that gdb did not stop where we expect it to and instead of listing the code in https://github.com/Karm/mandrel-integration-tests/blob/master/apps/quarkus-full-microprofile/src/main/java/com/example/quarkus/config/ConfigTestController.java it tries to list the code in ../sysdeps/x86/abi-note.c which we are missing (but we don't really need).

@jerboaa
Copy link
Collaborator

jerboaa commented Feb 16, 2023

When I run this manually I'm getting:

Reading symbols from quarkus-runner...

warning: the debug information found in "/disk/graal/upstream-sources/mandrel-integration-tests/apps/quarkus-full-microprofile/target/quarkus-runner.debug" does not match "/disk/graal/upstream-sources/mandrel-integration-tests/apps/quarkus-full-microprofile/target/quarkus-runner" (CRC mismatch).

Not sure why that is.

Does the integration test capture warning output?

@jerboaa
Copy link
Collaborator

jerboaa commented Feb 17, 2023

Apparently the objcopy debuginfo stripping breaks the debuginfo. Or rather, that the original binary already contains a .gnu_debuglink section before the stripping....

After a manual run (not with quarkus which does the stripping automatically):

native-image -J-Dsun.nio.ch.maxUpdateArraySize=100 -J-Dlogging.initial-configurator.min-level=500 -J-Djava.util.logging.manager=org.jboss.logmanager.LogManager -J-Dio.netty.noUnsafe=true -J-Dio.netty.leakDetection.level=DISABLED -J-Dio.netty.allocator.maxOrder=3 -J-Dvertx.logger-delegate-factory-class-name=io.quarkus.vertx.core.runtime.VertxLogDelegateFactory -J-Dvertx.disableDnsResolver=true -J-Duser.language=en -J-Duser.country=US -J-Dfile.encoding=UTF-8 --features=io.quarkus.runner.Feature,io.quarkus.runtime.graal.ResourcesFeature,io.quarkus.runtime.graal.DisableLoggingFeature -H:+TrackNodeSourcePosition -J--add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED -J--add-opens=java.base/java.text=ALL-UNNAMED -J--add-opens=java.base/java.io=ALL-UNNAMED -J--add-opens=java.base/java.lang.invoke=ALL-UNNAMED -J--add-opens=java.base/java.util=ALL-UNNAMED -H:+CollectImageBuildStatistics -H:ImageBuildStatisticsFile=quarkus-runner-timing-stats.json -H:BuildOutputJSONFile=quarkus-runner-build-output-stats.json -H:Log=registerResource: --trace-object-instantiation=java.util.Random --initialize-at-run-time=io.vertx.ext.auth.impl.jose.JWT -H:+AllowFoldMethods -J-Djava.awt.headless=true --no-fallback --link-at-build-time -H:+ReportExceptionStackTraces -g -H:DebugInfoSourceSearchPath=app-sources -H:-AddAllCharsets --enable-url-protocols=http,https -H:NativeLinkerOption=-no-pie -H:-UseServiceLoaderFeature -H:+StackTrace -J--add-exports=org.graalvm.sdk/org.graalvm.nativeimage.impl=ALL-UNNAMED -J--add-exports=org.graalvm.nativeimage.builder/com.oracle.svm.core.jdk=ALL-UNNAMED --exclude-config io\.netty\.netty-codec /META-INF/native-image/io\.netty/netty-codec/generated/handlers/reflect-config\.json --exclude-config io\.netty\.netty-handler /META-INF/native-image/io\.netty/netty-handler/generated/handlers/reflect-config\.json quarkus-runner -jar quarkus-runner.jar
========================================================================================================================
GraalVM Native Image: Generating 'quarkus-runner' (executable)...
========================================================================================================================
[1/8] Initializing...                                                                                    (5.1s @ 0.20GB)
 Version info: 'GraalVM 23.0.0-dev Java 17.0.7-beta+1-202302142331 Mandrel Distribution'
 Java version info: '17.0.7-beta+1-202302142331'
 C compiler: gcc (redhat, x86_64, 12.2.1)
 Garbage collector: Serial GC (max heap size: unlimited)
 5 user-specific feature(s)
 - com.oracle.svm.thirdparty.gson.GsonFeature
 - io.quarkus.runner.Feature: Auto-generated class by Quarkus from the existing extensions
 - io.quarkus.runtime.graal.DisableLoggingFeature: Disables INFO logging during the analysis phase for the [org.jboss.threads] categories
 - io.quarkus.runtime.graal.ResourcesFeature: Register each line in META-INF/quarkus-native-resources.txt as a resource on Substrate VM
 - org.eclipse.angus.activation.nativeimage.AngusActivationFeature
16:17:25,529 INFO  [org.jbo.res.res.i18n] RESTEASY002225: Deploying jakarta.ws.rs.core.Application: class com.example.quarkus.QuarkusRestApplication
[2/8] Performing analysis...  [*****]                                                                   (35.4s @ 2.48GB)
  16,481 (89.65%) of 18,383 types reachable
  25,522 (63.22%) of 40,373 fields reachable
  82,248 (60.24%) of 136,524 methods reachable
   4,982 types,   248 fields, and 3,240 methods registered for reflection
      63 types,    68 fields, and    55 methods registered for JNI access
       4 native libraries: dl, pthread, rt, z
[3/8] Building universe...                                                                               (5.6s @ 2.13GB)
[4/8] Parsing methods...      [**]                                                                       (4.5s @ 4.49GB)
[5/8] Inlining methods...     [***]                                                                      (2.3s @ 4.15GB)
[6/8] Compiling methods...    [******]                                                                  (41.1s @ 3.32GB)
[7/8] Layouting methods...    [***]                                                                      (5.6s @ 2.25GB)
[8/8] Creating image...                                                                                 (29.5s @ 4.95GB)
  34.28MB (28.73%) for code area:    52,895 compilation units
  34.85MB (29.20%) for image heap:  400,489 objects and 160 resources
  49.88MB (41.80%) for debug info generated in 16.5s
 336.93KB ( 0.28%) for other data
 119.33MB in total
------------------------------------------------------------------------------------------------------------------------
Top 10 origins of code area:                                Top 10 object types in image heap:
  12.71MB java.base                                            7.93MB byte[] for code metadata
   3.71MB java.xml                                             3.96MB java.lang.Class
   1.81MB c.f.jackson.core.jackson-databind-2.14.2.jar         3.69MB java.lang.String
   1.27MB svm.jar (Native Image)                               3.23MB byte[] for general heap data
   1.19MB quarkus-runner.jar                                   3.16MB byte[] for java.lang.String
 878.48KB modified-io.vertx.vertx-core-4.3.7.jar               1.53MB byte[] for embedded resources
 843.33KB org.jboss.resteasy.resteasy-core-6.2.1.Final.jar     1.38MB com.oracle.svm.core.hub.DynamicHubCompanion
 576.67KB org.apache.httpcomponents.httpclient-4.5.14.jar    880.09KB byte[] for reflection metadata
 493.19KB com.fasterxml.jackson.core.jackson-core-2.14.2.jar 797.02KB java.util.HashMap$Node
 472.73KB io.netty.netty-buffer-4.1.87.Final.jar             744.78KB java.lang.String[]
  10.03MB for 140 more packages                                7.07MB for 3998 more object types
------------------------------------------------------------------------------------------------------------------------
                        7.0s (5.3% of total time) in 53 GCs | Peak RSS: 7.39GB | CPU load: 8.22
------------------------------------------------------------------------------------------------------------------------
Produced artifacts:
 /disk/graal/upstream-sources/mandrel-integration-tests/apps/quarkus-full-microprofile/target/quarkus-native-image-source-jar/quarkus-runner (executable, debug_info)
 /disk/graal/upstream-sources/mandrel-integration-tests/apps/quarkus-full-microprofile/target/quarkus-native-image-source-jar/quarkus-runner-build-output-stats.json (build_info)
 /disk/graal/upstream-sources/mandrel-integration-tests/apps/quarkus-full-microprofile/target/quarkus-native-image-source-jar/quarkus-runner-timing-stats.json (build_info)
 /disk/graal/upstream-sources/mandrel-integration-tests/apps/quarkus-full-microprofile/target/quarkus-native-image-source-jar/quarkus-runner.debug (debug_info)
 /disk/graal/upstream-sources/mandrel-integration-tests/apps/quarkus-full-microprofile/target/quarkus-native-image-source-jar/sources (debug_info)
========================================================================================================================
Finished generating 'quarkus-runner' in 2m 10s.

Lets try to debug it:

$ gdb ./quarkus-runner
GNU gdb (GDB) Fedora Linux 12.1-7.fc37
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./quarkus-runner...
Reading symbols from /disk/graal/upstream-sources/mandrel-integration-tests/apps/quarkus-full-microprofile/target/quarkus-native-image-source-jar/quarkus-runner.debug...
(gdb) break ConfigTestController.java:33

This GDB supports auto-downloading debuginfo from the following URLs:
https://debuginfod.fedoraproject.org/ 
Enable debuginfod for this session? (y or [n]) n
Debuginfod has been disabled.
To make this setting permanent, add 'set debuginfod enabled off' to .gdbinit.
Breakpoint 1 at 0x40de26: file com/example/quarkus/config/ConfigTestController.java, line 33.
(gdb) run&
Starting program: /disk/graal/upstream-sources/mandrel-integration-tests/apps/quarkus-full-microprofile/target/quarkus-native-image-source-jar/quarkus-runner 
(gdb) [Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff56ff6c0 (LWP 53115)]
[New Thread 0x7ffff4cff6c0 (LWP 53116)]
[New Thread 0x7fffeffff6c0 (LWP 53117)]
[Thread 0x7fffeffff6c0 (LWP 53117) exited]
[New Thread 0x7fffeefff6c0 (LWP 53118)]
[New Thread 0x7fffee5ff6c0 (LWP 53119)]
__  ____  __  _____   ___  __ ____  ______ 
 --/ __ \/ / / / _ | / _ \/ //_/ / / / __/ 
 -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \   
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/   
2023-02-17 16:24:13,208 INFO  [io.net.uti.int.PlatformDependent] (Thread-1) Your platform does not provide complete low-level API for accessing direct buffers reliably. Unless explicitly requested, heap buffer will always be preferred to avoid potential system instability.
[New Thread 0x7fffed7ff6c0 (LWP 53120)]
[New Thread 0x7fffecffe6c0 (LWP 53121)]
[New Thread 0x7fffdbfff6c0 (LWP 53122)]
[New Thread 0x7fffdb7fe6c0 (LWP 53123)]
[New Thread 0x7fffdaffd6c0 (LWP 53124)]
[New Thread 0x7fffda5ff6c0 (LWP 53125)]
[New Thread 0x7fffd9dfe6c0 (LWP 53126)]
[New Thread 0x7fffd93ff6c0 (LWP 53127)]
[New Thread 0x7fffd89ff6c0 (LWP 53128)]
[New Thread 0x7fffbfbff6c0 (LWP 53129)]
[New Thread 0x7fffbf1ff6c0 (LWP 53130)]
[New Thread 0x7fffbe9fe6c0 (LWP 53131)]
[New Thread 0x7fffbddff6c0 (LWP 53132)]
2023-02-17 16:24:13,223 INFO  [io.quarkus] (main) quarkus-full-microprofile 1.0.0-SNAPSHOT native (powered by Quarkus 999-SNAPSHOT) started in 0.017s. Listening on: http://0.0.0.0:8080
2023-02-17 16:24:13,223 INFO  [io.quarkus] (main) Profile prod activated. 
2023-02-17 16:24:13,223 INFO  [io.quarkus] (main) Installed features: [cdi, jaeger, reactive-routes, rest-client, resteasy, security, smallrye-context-propagation, smallrye-fault-tolerance, smallrye-health, smallrye-jwt, smallrye-metrics, smallrye-openapi, smallrye-opentracing, vertx]

Missing separate debuginfos, use: dnf debuginfo-install glibc-2.36-9.fc37.x86_64 zlib-1.2.12-5.fc37.x86_64
(gdb) GOTO URL http://localhost:8080/data/config/lookup
Undefined command: "GOTO".  Try "help".
(gdb) [New Thread 0x7fffbcfff6c0 (LWP 53222)]
[New Thread 0x7fff9ffff6c0 (LWP 53223)]
[New Thread 0x7fff9f7fe6c0 (LWP 53224)]
[New Thread 0x7fff9effd6c0 (LWP 53225)]
[Switching to Thread 0x7fffeefff6c0 (LWP 53118)]

Thread 5 "ecutor-thread-0" hit Breakpoint 1, com.example.quarkus.config.ConfigTestController::getLookupConfigValue() (this=<optimized out>) at com/example/quarkus/config/ConfigTestController.java:33
33	com/example/quarkus/config/ConfigTestController.java: No such file or directory.
bt
#0  com.example.quarkus.config.ConfigTestController::getLookupConfigValue() (this=<optimized out>) at com/example/quarkus/config/ConfigTestController.java:33
#1  0x000000000040f3b4 in com.example.quarkus.config.ConfigTestController_ClientProxy::getLookupConfigValue() (this=<optimized out>)
#2  0x000000000081824f in com.oracle.svm.core.reflect.ReflectionAccessorHolder::invoke_fef58f1595c0771a9b7327c0926d0fc7a566b418(java.lang.Object*, java.lang.Object[]*, org.graalvm.nativeimage.c.function.CFunctionPointer*) (
    __0=<optimized out>, __1=<optimized out>, __2=<optimized out>) at com/oracle/svm/core/reflect/ReflectionAccessorHolder.java:1
#3  0x0000000000819280 in com.oracle.svm.core.reflect.SubstrateMethodAccessor::invoke(java.lang.Object*, java.lang.Object[]*) (this=<optimized out>, obj=<optimized out>, args=<optimized out>)
    at com/oracle/svm/core/reflect/SubstrateMethodAccessor.java:115
#4  0x0000000001f02b35 in org.jboss.resteasy.core.MethodInjectorImpl::invoke(org.jboss.resteasy.spi.HttpRequest*, org.jboss.resteasy.spi.HttpResponse*, java.lang.Object*, java.lang.Object[]*) (this=<optimized out>, 
    request=<optimized out>, httpResponse=<optimized out>, resource=<optimized out>, args=<optimized out>) at org/jboss/resteasy/core/MethodInjectorImpl.java:170
#5  0x0000000001f02675 in org.jboss.resteasy.core.MethodInjectorImpl::invoke(org.jboss.resteasy.spi.HttpRequest*, org.jboss.resteasy.spi.HttpResponse*, java.lang.Object*) (this=<optimized out>, request=<optimized out>, 
    httpResponse=<optimized out>, resource=<optimized out>) at org/jboss/resteasy/core/MethodInjectorImpl.java:130
#6  0x0000000001f10193 in org.jboss.resteasy.core.ResourceMethodInvoker::internalInvokeOnTarget(org.jboss.resteasy.spi.HttpRequest*, org.jboss.resteasy.spi.HttpResponse*, java.lang.Object*) (this=<optimized out>, 
    request=<optimized out>, response=<optimized out>, target=<optimized out>) at org/jboss/resteasy/core/ResourceMethodInvoker.java:660
#7  0x0000000001f10f55 in org.jboss.resteasy.core.ResourceMethodInvoker::invokeOnTargetAfterFilter(org.jboss.resteasy.spi.HttpRequest*, org.jboss.resteasy.spi.HttpResponse*, java.lang.Object*) (this=0x7ffff6c2dad0, 
    request=0x7fffee601cf8, response=<optimized out>, target=<optimized out>) at org/jboss/resteasy/core/ResourceMethodInvoker.java:524
#8  0x0000000001f0e7b8 in org.jboss.resteasy.core.ResourceMethodInvoker$$Lambda$2279/0x00000007c1b50ae0::get() (this=<optimized out>)
#9  0x0000000001f2d95b in org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext::filter() (this=<optimized out>) at org/jboss/resteasy/core/interception/jaxrs/PreMatchContainerRequestContext.java:364
#10 0x0000000001f10c95 in org.jboss.resteasy.core.ResourceMethodInvoker::invokeOnTarget(org.jboss.resteasy.spi.HttpRequest*, org.jboss.resteasy.spi.HttpResponse*, java.lang.Object*) (this=0x7ffff6c2dad0, request=<optimized out>, 
    response=<optimized out>, target=<optimized out>) at org/jboss/resteasy/core/ResourceMethodInvoker.java:476
#11 0x0000000001f1096f in org.jboss.resteasy.core.ResourceMethodInvoker::invoke(org.jboss.resteasy.spi.HttpRequest*, org.jboss.resteasy.spi.HttpResponse*, java.lang.Object*) (this=<optimized out>, request=<optimized out>, 
    response=<optimized out>, target=<optimized out>) at org/jboss/resteasy/core/ResourceMethodInvoker.java:434
#12 0x0000000001f1060b in org.jboss.resteasy.core.ResourceMethodInvoker::invoke(org.jboss.resteasy.spi.HttpRequest*, org.jboss.resteasy.spi.HttpResponse*) (this=<optimized out>, request=<optimized out>, response=<optimized out>)
    at org/jboss/resteasy/core/ResourceMethodInvoker.java:408
#13 0x0000000001f2310a in org.jboss.resteasy.core.SynchronousDispatcher::invoke(org.jboss.resteasy.spi.HttpRequest*, org.jboss.resteasy.spi.HttpResponse*, org.jboss.resteasy.spi.ResourceInvoker*) (this=<optimized out>, 
    request=<optimized out>, response=<optimized out>, invoker=<optimized out>) at org/jboss/resteasy/core/SynchronousDispatcher.java:492
#14 0x0000000001f23620 in org.jboss.resteasy.core.SynchronousDispatcher::lambda$invoke$4(org.jboss.resteasy.spi.HttpRequest*, org.jboss.resteasy.spi.HttpResponse*) (this=0x7ffff6e7ece8, request=<optimized out>, response=<optimized out>)
    at org/jboss/resteasy/core/SynchronousDispatcher.java:261
#15 0x0000000001f223ad in org.jboss.resteasy.core.SynchronousDispatcher$$Lambda$2188/0x00000007c1b42cf0::run() (this=<optimized out>)
#16 0x0000000001f22054 in org.jboss.resteasy.core.SynchronousDispatcher$$Lambda$2271/0x00000007c1b50220::get() (this=<optimized out>)
#17 0x0000000001f2d95b in org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext::filter() (this=<optimized out>) at org/jboss/resteasy/core/interception/jaxrs/PreMatchContainerRequestContext.java:364
#18 0x0000000001f23c6a in org.jboss.resteasy.core.SynchronousDispatcher::preprocess(org.jboss.resteasy.spi.HttpRequest*, org.jboss.resteasy.spi.HttpResponse*, java.lang.Runnable*) (this=0x7ffff6e7ece8, request=0x7fffee601cf8, 
    response=0x7fffee601bf0, continuation=<optimized out>) at org/jboss/resteasy/core/SynchronousDispatcher.java:164
#19 0x0000000001f22fa5 in org.jboss.resteasy.core.SynchronousDispatcher::invoke(org.jboss.resteasy.spi.HttpRequest*, org.jboss.resteasy.spi.HttpResponse*) (this=0x7ffff6e7ece8, request=<optimized out>, response=<optimized out>)
    at org/jboss/resteasy/core/SynchronousDispatcher.java:247
#20 0x000000000103a928 in io.quarkus.resteasy.runtime.standalone.RequestDispatcher::service(io.vertx.core.Context*, io.vertx.core.http.HttpServerRequest*, io.vertx.core.http.HttpServerResponse*, org.jboss.resteasy.spi.HttpRequest*, org.jboss.resteasy.spi.HttpResponse*, bool, java.lang.Throwable*) (this=<optimized out>, context=<optimized out>, req=<optimized out>, resp=<optimized out>, vertxReq=<optimized out>, vertxResp=<optimized out>, handleNotFound=<optimized out>, 
    throwable=<optimized out>) at io/quarkus/resteasy/runtime/standalone/RequestDispatcher.java:82
#21 0x000000000104675f in io.quarkus.resteasy.runtime.standalone.VertxRequestHandler::dispatch(io.vertx.ext.web.RoutingContext*, java.io.InputStream*, io.quarkus.resteasy.runtime.standalone.VertxOutput*) (this=<optimized out>, 
    routingContext=0x7fffec6d88f8, is=<optimized out>, output=<optimized out>) at io/quarkus/resteasy/runtime/standalone/VertxRequestHandler.java:147
#22 0x0000000001045916 in io.quarkus.resteasy.runtime.standalone.VertxRequestHandler$1::run() (this=0x7fffbd025bd0) at io/quarkus/resteasy/runtime/standalone/VertxRequestHandler.java:93
#23 0x000000000111cd34 in io.quarkus.vertx.core.runtime.VertxCoreRecorder$14::runWith(java.lang.Runnable*, java.lang.Object*) (this=<optimized out>, task=<optimized out>, context=<optimized out>)
    at io/quarkus/vertx/core/runtime/VertxCoreRecorder.java:576
#24 0x0000000001fd669b in org.jboss.threads.EnhancedQueueExecutor$Task::run() (this=0x7fffbd025c00) at org/jboss/threads/EnhancedQueueExecutor.java:2449
#25 0x0000000001fd76f9 in org.jboss.threads.EnhancedQueueExecutor$ThreadBody::run() (this=0x7fffef0173f8) at org/jboss/threads/EnhancedQueueExecutor.java:1478
#26 0x0000000001fdd2a4 in org.jboss.threads.ThreadLocalResettingRunnable::run() (this=<optimized out>) at org/jboss/threads/ThreadLocalResettingRunnable.java:29
#27 0x0000000000f2ab04 in io.netty.util.concurrent.FastThreadLocalRunnable::run() (this=<optimized out>) at io/netty/util/concurrent/FastThreadLocalRunnable.java:30
#28 0x0000000001572fe5 in java.lang.Thread::run() (this=<optimized out>) at java/lang/Thread.java:833
#29 0x00000000008325d3 in com.oracle.svm.core.thread.PlatformThreads::threadStartRoutine(org.graalvm.nativeimage.ObjectHandle*) (threadHandle=<optimized out>) at com/oracle/svm/core/thread/PlatformThreads.java:807
#30 0x00000000007f8517 in com.oracle.svm.core.posix.thread.PosixPlatformThreads::pthreadStartRoutine(com.oracle.svm.core.thread.PlatformThreads$ThreadStartData*) (data=<optimized out>)
    at com/oracle/svm/core/posix/thread/PosixPlatformThreads.java:211
#31 0x0000000000753a70 in com.oracle.svm.core.code.IsolateEnterStub::PosixPlatformThreads_pthreadStartRoutine_3b5ea476cb36e0b8cc189b08d4e47eb8d5016e46(com.oracle.svm.core.thread.PlatformThreads$ThreadStartData*) (__0=<optimized out>)
    at com/oracle/svm/core/code/IsolateEnterStub.java:1
#32 0x00007ffff7e3112d in start_thread () from /lib64/libc.so.6
#33 0x00007ffff7eb2bc0 in clone3 () from /lib64/libc.so.6
Missing separate debuginfos, use: dnf debuginfo-install libgcc-12.2.1-4.fc37.x86_64 systemd-libs-251.10-588.fc37.x86_64
(gdb) quit

OK, that looks good.

Let's strip debuginfo:

$ objcopy --only-keep-debug quarkus-runner quarkus-runner.debug
$ objcopy --add-gnu-debuglink=quarkus-runner.debug quarkus-runner
objcopy: sts96qVU: debuglink section already exists
$ objcopy --strip-debug quarkus-runner

Trying debugging again?

$ gdb ./quarkus-runner
GNU gdb (GDB) Fedora Linux 12.1-7.fc37
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./quarkus-runner...

warning: the debug information found in "/disk/graal/upstream-sources/mandrel-integration-tests/apps/quarkus-full-microprofile/target/quarkus-native-image-source-jar/quarkus-runner.debug" does not match "/disk/graal/upstream-sources/mandrel-integration-tests/apps/quarkus-full-microprofile/target/quarkus-native-image-source-jar/quarkus-runner" (CRC mismatch).

Missing separate debuginfo for /disk/graal/upstream-sources/mandrel-integration-tests/apps/quarkus-full-microprofile/target/quarkus-native-image-source-jar/quarkus-runner
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/87/79f7e441db5d7f7c9670e1b998f76730ed8cf4.debug
(No debugging symbols found in ./quarkus-runner)
(gdb) break ConfigTestController.java:33
No symbol table is loaded.  Use the "file" command.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (ConfigTestController.java:33) pending.
(gdb) run
Starting program: /disk/graal/upstream-sources/mandrel-integration-tests/apps/quarkus-full-microprofile/target/quarkus-native-image-source-jar/quarkus-runner                                                                                                                                                                            
[Thread debugging using libthread_db enabled]                                                                                                                                                                                                
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff56ff6c0 (LWP 54405)]
[New Thread 0x7ffff4cff6c0 (LWP 54406)]
[New Thread 0x7fffeffff6c0 (LWP 54407)]
[Thread 0x7fffeffff6c0 (LWP 54407) exited]
[New Thread 0x7fffeefff6c0 (LWP 54408)]
[New Thread 0x7fffee5ff6c0 (LWP 54409)]
__  ____  __  _____   ___  __ ____  ______ 
 --/ __ \/ / / / _ | / _ \/ //_/ / / / __/ 
 -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \   
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/   
2023-02-17 16:44:14,430 INFO  [io.net.uti.int.PlatformDependent] (Thread-1) Your platform does not provide complete low-level API for accessing direct buffers reliably. Unless explicitly requested, heap buffer will always be preferred to avoid potential system instability.
[New Thread 0x7fffed7ff6c0 (LWP 54410)]
[New Thread 0x7fffecffe6c0 (LWP 54411)]
[New Thread 0x7fffdbfff6c0 (LWP 54412)]
[New Thread 0x7fffdb7fe6c0 (LWP 54413)]
[New Thread 0x7fffdaffd6c0 (LWP 54414)]
[New Thread 0x7fffda7fc6c0 (LWP 54415)]
[New Thread 0x7fffd9dff6c0 (LWP 54416)]
[New Thread 0x7fffd93ff6c0 (LWP 54417)]
[New Thread 0x7fffbffff6c0 (LWP 54418)]
[New Thread 0x7fffbf7fe6c0 (LWP 54419)]
[New Thread 0x7fffbeffd6c0 (LWP 54420)]
[New Thread 0x7fffbe7fc6c0 (LWP 54421)]
[New Thread 0x7fffbdffb6c0 (LWP 54422)]
2023-02-17 16:44:14,445 INFO  [io.quarkus] (main) quarkus-full-microprofile 1.0.0-SNAPSHOT native (powered by Quarkus 999-SNAPSHOT) started in 0.016s. Listening on: http://0.0.0.0:8080
2023-02-17 16:44:14,445 INFO  [io.quarkus] (main) Profile prod activated. 
2023-02-17 16:44:14,445 INFO  [io.quarkus] (main) Installed features: [cdi, jaeger, reactive-routes, rest-client, resteasy, security, smallrye-context-propagation, smallrye-fault-tolerance, smallrye-health, smallrye-jwt, smallrye-metrics, smallrye-openapi, smallrye-opentracing, vertx]
[New Thread 0x7fffbd0fe6c0 (LWP 54433)]
[New Thread 0x7fffbc8fd6c0 (LWP 54434)]
[New Thread 0x7fffa3aff6c0 (LWP 54435)]
[New Thread 0x7fffa32fe6c0 (LWP 54436)]                                                                                          
2023-02-17 16:44:30,689 WARN  [io.jae.int.rep.RemoteReporter] (jaeger.RemoteReporter-QueueProcessor) FlushCommand execution failed! Repeated errors of this command will not be logged.: io.jaegertracing.internal.exceptions.SenderException: Failed to flush spans.
	at io.jaegertracing.thrift.internal.senders.ThriftSender.flush(ThriftSender.java:116)
	at io.jaegertracing.internal.reporters.RemoteReporter$FlushCommand.execute(RemoteReporter.java:158)
	at io.jaegertracing.internal.reporters.RemoteReporter$QueueProcessor.run(RemoteReporter.java:179)
	at [email protected]/java.lang.Thread.run(Thread.java:833)
	at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:807)
	at org.graalvm.nativeimage.builder/com.oracle.svm.core.posix.thread.PosixPlatformThreads.pthreadStartRoutine(PosixPlatformThreads.java:211)
Caused by: io.jaegertracing.internal.exceptions.SenderException: Could not send 1 spans
	at io.jaegertracing.thrift.internal.senders.HttpSender.send(HttpSender.java:70)
	at io.jaegertracing.thrift.internal.senders.ThriftSender.flush(ThriftSender.java:114)
	... 5 more
Caused by: java.net.ConnectException: Failed to connect to localhost/[0:0:0:0:0:0:0:1]:14268
	at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:265)
	at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:183)
	at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.java:224)
	at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.java:108)
	at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.java:88)
	at okhttp3.internal.connection.Transmitter.newExchange(Transmitter.java:169)
	at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:41)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
	at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:94)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
	at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
	at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:88)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
	at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:229)
	at okhttp3.RealCall.execute(RealCall.java:81)
	at io.jaegertracing.thrift.internal.senders.HttpSender.send(HttpSender.java:68)
	... 6 more
Caused by: java.net.ConnectException: Connection refused
	at [email protected]/sun.nio.ch.Net.pollConnect(Net.java)
	at [email protected]/sun.nio.ch.Net.pollConnectNow(Net.java:672)
	at [email protected]/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:542)
	at [email protected]/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:597)
	at [email protected]/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
	at [email protected]/java.net.Socket.connect(Socket.java:633)
	at okhttp3.internal.platform.Platform.connectSocket(Platform.java:130)
	at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:263)
	... 25 more
```

@jerboaa
Copy link
Collaborator

jerboaa commented Feb 17, 2023

This raised a flag:

$ objcopy --add-gnu-debuglink=quarkus-runner.debug quarkus-runner
objcopy: sts96qVU: debuglink section already exists

So looking at the original unstripped binary we see a .gnu_debuglink section already...

$ readelf -S quarkus-runner-unstripped | grep gnu_debuglink
  [29] .gnu_debuglink    PROGBITS         0000000000000000  0454aa4c

@jerboaa
Copy link
Collaborator

jerboaa commented Feb 17, 2023

Heh, running with -H:+TraceNativeToolUsage reveals this is oracle/graal#5691:

>> objcopy --only-keep-debug /disk/graal/upstream-sources/mandrel-integration-tests/apps/quarkus-full-microprofile/target/quarkus-native-image-source-jar/quarkus-runner /disk/graal/upstream-sources/mandrel-integration-tests/apps/quarkus-full-microprofile/target/quarkus-native-image-source-jar/quarkus-runner.debug
>> objcopy --strip-all --keep-symbols=/tmp/SVM-11012982990757660865/keep-symbols.list /disk/graal/upstream-sources/mandrel-integration-tests/apps/quarkus-full-microprofile/target/quarkus-native-image-source-jar/quarkus-runner
>> objcopy --add-gnu-debuglink=/disk/graal/upstream-sources/mandrel-integration-tests/apps/quarkus-full-microprofile/target/quarkus-native-image-source-jar/quarkus-runner.debug /disk/graal/upstream-sources/mandrel-integration-tests/apps/quarkus-full-microprofile/target/quarkus-native-image-source-jar/quarkus-runner

So after oracle/graal#5691, native image does the stripping by default:

$ native-image --expert-options-all | grep StripDebug
  -H:±StripDebugInfo                           Strip debug info from the binary. Default: + (enabled).

And indeed, adding -Dquarkus.native.additional-build-args="-H:-StripDebugInfo" to the test fixes the problem:

$ gdb ./quarkus-runner
GNU gdb (GDB) Fedora Linux 12.1-7.fc37
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./quarkus-runner...
Reading symbols from /disk/graal/upstream-sources/mandrel-integration-tests/apps/quarkus-full-microprofile/target/quarkus-runner.debug...

No more CRC check warning!

@jerboaa jerboaa assigned jerboaa and unassigned Karm Feb 17, 2023
jerboaa added a commit to jerboaa/mandrel-integration-tests that referenced this issue Feb 17, 2023
This avoids trying to add a debuglink to the resulting binary
twice which then fails the CRC check when reading the debuginfo.

Closes Karm#138
@jerboaa jerboaa changed the title Ubuntu 22.04 ../sysdeps/x86/abi-note.c: No such file or directory. debugSymbolsQuarkus fails with latest GraalVM master Feb 17, 2023
@jerboaa
Copy link
Collaborator

jerboaa commented Feb 17, 2023

Related quarkus issue is: quarkusio/quarkus#31258

@jerboaa
Copy link
Collaborator

jerboaa commented Feb 21, 2023

Should be fixed with quarkusio/quarkus#31294 I'll close once we have confirmation from the nightly CI.

@jerboaa
Copy link
Collaborator

jerboaa commented Feb 23, 2023

This is fixed. The run from yesterday doesn't show it as failing anymore (JDK 20-based mandrel build doesn't have any Mandrel IT failures):
https://github.com/graalvm/mandrel/actions/runs/4238620621

@jerboaa jerboaa closed this as completed Feb 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants