我无法将带有 h2 驱动程序的 spring-boot fat jar 转换为 graalvm 本机映像,以下是异常消息:
Excluding 0 auto-configurations from spring.factories file
Processing existing META-INF/spring.components files...
Registered 15 entries
Configuring initialization time for specific types and packages:
#87 buildtime-init-classes #23 buildtime-init-packages #33 runtime-init-classes #1 runtime-init-packages
Error: Incompatible change of initialization policy for org.springframework.boot.validation.MessageInterpolatorFactory: trying to change RUN_TIME from the command line to BUILD_TIME from feature org.springframework.graalvm.support.InitializationHandler.register
com.oracle.svm.core.util.UserError$UserException: Incompatible change of initialization policy for org.springframework.boot.validation.MessageInterpolatorFactory: trying to change RUN_TIME from the command line to BUILD_TIME from feature org.springframework.graalvm.support.InitializationHandler.register
at com.oracle.svm.core.util.UserError.abort(UserError.java:68)
at com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:98)
at com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:112)
at com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:112)
at com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:112)
at com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:112)
at com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:112)
at com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insert(ClassInitializationConfiguration.java:63)
at com.oracle.svm.hosted.classinitialization.ConfigurableClassInitialization.initializeAtBuildTime(ConfigurableClassInitialization.java:392)
at org.graalvm.nativeimage.hosted.RuntimeClassInitialization.initializeAtBuildTime(RuntimeClassInitialization.java:118)
at org.springframework.graalvm.support.InitializationHandler.register(InitializationHandler.java:52)
at org.springframework.graalvm.support.SpringFeature.beforeAnalysis(SpringFeature.java:79)
at com.oracle.svm.hosted.NativeImageGenerator.lambda$runPointsToAnalysis$7(NativeImageGenerator.java:679)
at com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:70)
at com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:679)
at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:538)
at com.oracle.svm.hosted.NativeImageGenerator.lambda$run$0(NativeImageGenerator.java:451)
at java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1386)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Error: Image build request failed with exit status 1
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 24.097 s
[INFO] Finished at: 2020-06-27T11:41:49+08:00
[INFO] Final Memory: 53M/1388M
[INFO] ------------------------------------------------------------------------
我确实首先使用代理运行它以获取配置文件并在 native-image-maven-plugin 配置中包含“-H:ConfigurationResourceRoots=nativeimage”。
我的构建环境中使用的模块版本:
native-image-maven-plugin: 20.1.0
spring-graalvm-native: 0.7.0
graal-sdk: 20.1.0
spring-boot-starter-parent: 2.3.0.RELEASE
spring-context-indexer
这可以通过配置或其他方式解决吗?
编辑@ 2020/07/01 --
spring-boot-starter-parent:2.4.0-SNAPSHOT spring-
graalvm
-native:0.8.0-SNAPSHOT
和
<buildArgs>-H:+ReportExceptionStackTraces -H:+TraceClassInitialization --allow-incomplete-classpath -H:+RemoveSaturatedTypeFlows -R:MaxHeapSize=16g -J-Xmx16G</buildArgs>
Warning: class initialization of class org.springframework.boot.validation.MessageInterpolatorFactory failed with exception java.lang.NoClassDefFoundError: javax/validation/ValidationException. This class will be initialized at run time because option --allow-incomplete-classpath is used for image building. Use the option --initialize-at-run-time=org.springframework.boot.validation.MessageInterpolatorFactory to explicitly request delayed initialization of this class.
Number of types dynamically registered for reflective access: #2826
[com.xxx.xxx.xxx.xxx:4160331] analysis: 68,477.47 ms, 5.20 GB
Error: Classes that should be initialized at run time got initialized during image building:
com.alibaba.druid.mock.MockDriver was unintentionally initialized at build time. org.h2.Driver caused initialization of this class with the following trace:
at com.alibaba.druid.mock.MockDriver.<clinit>(MockDriver.java)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at java.sql.DriverManager$2.run(DriverManager.java:603)
at java.sql.DriverManager$2.run(DriverManager.java:583)
at java.security.AccessController.doPrivileged(Native Method)
at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:583)
at java.sql.DriverManager.<clinit>(DriverManager.java:101)
at org.h2.Driver.load(Driver.java:155)
at org.h2.Driver.<clinit>(Driver.java:41)
com.mysql.jdbc.NonRegisteringDriver was unintentionally initialized at build time. org.h2.Driver caused initialization of this class with the following trace:
at com.mysql.jdbc.NonRegisteringDriver.<clinit>(NonRegisteringDriver.java)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at java.sql.DriverManager$2.run(DriverManager.java:603)
at java.sql.DriverManager$2.run(DriverManager.java:583)
at java.security.AccessController.doPrivileged(Native Method)
at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:583)
at java.sql.DriverManager.<clinit>(DriverManager.java:101)
at org.h2.Driver.load(Driver.java:155)
at org.h2.Driver.<clinit>(Driver.java:41)
com.mysql.fabric.jdbc.FabricMySQLDriver was unintentionally initialized at build time. org.h2.Driver caused initialization of this class with the following trace:
at com.mysql.fabric.jdbc.FabricMySQLDriver.<clinit>(FabricMySQLDriver.java)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at java.sql.DriverManager$2.run(DriverManager.java:603)
at java.sql.DriverManager$2.run(DriverManager.java:583)
at java.security.AccessController.doPrivileged(Native Method)
at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:583)
at java.sql.DriverManager.<clinit>(DriverManager.java:101)
at org.h2.Driver.load(Driver.java:155)
at org.h2.Driver.<clinit>(Driver.java:41)
com.alibaba.druid.proxy.DruidDriver was unintentionally initialized at build time. org.h2.Driver caused initialization of this class with the following trace:
at com.alibaba.druid.proxy.DruidDriver.<clinit>(DruidDriver.java)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at java.sql.DriverManager$2.run(DriverManager.java:603)
at java.sql.DriverManager$2.run(DriverManager.java:583)
at java.security.AccessController.doPrivileged(Native Method)
at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:583)
at java.sql.DriverManager.<clinit>(DriverManager.java:101)
at org.h2.Driver.load(Driver.java:155)
at org.h2.Driver.<clinit>(Driver.java:41)
com.mysql.jdbc.Driver was unintentionally initialized at build time. org.h2.Driver caused initialization of this class with the following trace:
at com.mysql.jdbc.Driver.<clinit>(Driver.java)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at java.sql.DriverManager$2.run(DriverManager.java:603)
at java.sql.DriverManager$2.run(DriverManager.java:583)
at java.security.AccessController.doPrivileged(Native Method)
at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:583)
at java.sql.DriverManager.<clinit>(DriverManager.java:101)
at org.h2.Driver.load(Driver.java:155)
at org.h2.Driver.<clinit>(Driver.java:41)
com.oracle.svm.core.util.UserError$UserException: Classes that should be initialized at run time got initialized during image building:
com.alibaba.druid.mock.MockDriver was unintentionally initialized at build time. org.h2.Driver caused initialization of this class with the following trace:
at com.alibaba.druid.mock.MockDriver.<clinit>(MockDriver.java)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at java.sql.DriverManager$2.run(DriverManager.java:603)
at java.sql.DriverManager$2.run(DriverManager.java:583)
at java.security.AccessController.doPrivileged(Native Method)
at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:583)
at java.sql.DriverManager.<clinit>(DriverManager.java:101)
at org.h2.Driver.load(Driver.java:155)
at org.h2.Driver.<clinit>(Driver.java:41)
com.mysql.jdbc.NonRegisteringDriver was unintentionally initialized at build time. org.h2.Driver caused initialization of this class with the following trace:
at com.mysql.jdbc.NonRegisteringDriver.<clinit>(NonRegisteringDriver.java)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at java.sql.DriverManager$2.run(DriverManager.java:603)
at java.sql.DriverManager$2.run(DriverManager.java:583)
at java.security.AccessController.doPrivileged(Native Method)
at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:583)
at java.sql.DriverManager.<clinit>(DriverManager.java:101)
at org.h2.Driver.load(Driver.java:155)
at org.h2.Driver.<clinit>(Driver.java:41)
com.mysql.fabric.jdbc.FabricMySQLDriver was unintentionally initialized at build time. org.h2.Driver caused initialization of this class with the following trace:
at com.mysql.fabric.jdbc.FabricMySQLDriver.<clinit>(FabricMySQLDriver.java)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at java.sql.DriverManager$2.run(DriverManager.java:603)
at java.sql.DriverManager$2.run(DriverManager.java:583)
at java.security.AccessController.doPrivileged(Native Method)
at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:583)
at java.sql.DriverManager.<clinit>(DriverManager.java:101)
at org.h2.Driver.load(Driver.java:155)
at org.h2.Driver.<clinit>(Driver.java:41)
com.alibaba.druid.proxy.DruidDriver was unintentionally initialized at build time. org.h2.Driver caused initialization of this class with the following trace:
at com.alibaba.druid.proxy.DruidDriver.<clinit>(DruidDriver.java)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at java.sql.DriverManager$2.run(DriverManager.java:603)
at java.sql.DriverManager$2.run(DriverManager.java:583)
at java.security.AccessController.doPrivileged(Native Method)
at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:583)
at java.sql.DriverManager.<clinit>(DriverManager.java:101)
at org.h2.Driver.load(Driver.java:155)
at org.h2.Driver.<clinit>(Driver.java:41)
com.mysql.jdbc.Driver was unintentionally initialized at build time. org.h2.Driver caused initialization of this class with the following trace:
at com.mysql.jdbc.Driver.<clinit>(Driver.java)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at java.sql.DriverManager$2.run(DriverManager.java:603)
at java.sql.DriverManager$2.run(DriverManager.java:583)
at java.security.AccessController.doPrivileged(Native Method)
at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:583)
at java.sql.DriverManager.<clinit>(DriverManager.java:101)
at org.h2.Driver.load(Driver.java:155)
at org.h2.Driver.<clinit>(Driver.java:41)
at com.oracle.svm.core.util.UserError.abort(UserError.java:68)
at com.oracle.svm.hosted.classinitialization.ConfigurableClassInitialization.checkDelayedInitialization(ConfigurableClassInitialization.java:518)
at com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.duringAnalysis(ClassInitializationFeature.java:187)
at com.oracle.svm.hosted.NativeImageGenerator.lambda$runPointsToAnalysis$8(NativeImageGenerator.java:720)
at com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:70)
at com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:720)
at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:538)
at com.oracle.svm.hosted.NativeImageGenerator.lambda$run$0(NativeImageGenerator.java:451)
at java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1386)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
编辑@ 2020/07/02 -
当我尝试在构建时初始化“无意初始化”类时出现以下错误。
Warning: class initialization of class org.springframework.boot.validation.MessageInterpolatorFactory failed with exception java.lang.NoClassDefFoundError: javax/validation/ValidationException. This class will be initialized at run time because option --allow-incomplete-classpath is used for image building. Use the option --initialize-at-run-time=org.springframework.boot.validation.MessageInterpolatorFactory to explicitly request delayed initialization of this class.
Number of types dynamically registered for reflective access: #2824
[com.xxx.xxx.xxx.xxx:1276846] (clinit): 1,639.21 ms, 6.48 GB
[com.xxx.xxx.xxx.xxx:1276846] (typeflow): 41,244.42 ms, 6.48 GB
[com.xxx.xxx.xxx.xxx:1276846] (objects): 34,338.05 ms, 6.48 GB
[com.xxx.xxx.xxx.xxx:1276846] (features): 9,918.59 ms, 6.48 GB
[com.xxx.xxx.xxx.xxx:1276846] analysis: 89,221.06 ms, 6.48 GB
Error: Unsupported features in 2 methods
Detailed message:
Error: type is not available in this platform: org.graalvm.compiler.hotspot.management.SVMMBean
Trace: Object was reached by
reading field com.sun.jmx.mbeanserver.NamedObject.object of
constant com.sun.jmx.mbeanserver.NamedObject@4e61fbc2 reached by
reading field java.util.HashMap$Node.value of
constant java.util.HashMap$Node@41a5eec0 reached by
reading field java.util.HashMap$Node.next of
constant java.util.HashMap$Node@4a321ac0 reached by
indexing into array
constant java.util.HashMap$Node[]@5ec2c4b0 reached by
reading field java.util.HashMap.table of
constant java.util.HashMap@441dc7c0 reached by
reading field java.util.HashMap$Node.value of
constant java.util.HashMap$Node@8f15e1fa reached by
indexing into array
constant java.util.HashMap$Node[]@2a17237f reached by
reading field java.util.HashMap.table of
constant java.util.HashMap@5eace3ce reached by
reading field com.sun.jmx.mbeanserver.Repository.domainTb of
constant com.sun.jmx.mbeanserver.Repository@1397c899 reached by
reading field com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.repository of
constant com.sun.jmx.interceptor.DefaultMBeanServerInterceptor@1a8e83d1 reached by
reading field com.sun.jmx.mbeanserver.JmxMBeanServer.mbsInterceptor of
constant com.sun.jmx.mbeanserver.JmxMBeanServer@1d840f77 reached by
reading field java.lang.ref.Reference.referent of
constant com.sun.jmx.mbeanserver.WeakIdentityHashMap$IdentityWeakReference@1d840f77 reached by
reading field java.util.HashMap$Node.key of
constant java.util.HashMap$Node@61056459 reached by
indexing into array
constant java.util.HashMap$Node[]@1db861a7 reached by
reading field java.util.HashMap.table of
constant java.util.HashMap@61056459 reached by
reading field com.sun.jmx.mbeanserver.WeakIdentityHashMap.map of
constant com.sun.jmx.mbeanserver.WeakIdentityHashMap@53bb4e30 reached by
scanning method com.sun.jmx.mbeanserver.MXBeanLookup.lookupFor(MXBeanLookup.java:93)
Call path from entry point to com.sun.jmx.mbeanserver.MXBeanLookup.lookupFor(MBeanServerConnection):
at com.sun.jmx.mbeanserver.MXBeanLookup.lookupFor(MXBeanLookup.java:93)
at com.sun.jmx.mbeanserver.MXBeanProxy.invoke(MXBeanProxy.java:162)
at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:258)
at com.sun.proxy.$Proxy282.duplicate(Unknown Source)
at com.mysql.jdbc.StatementImpl$CancelTask$1.run(StatementImpl.java:124)
at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:517)
at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:193)
at com.oracle.svm.core.code.IsolateEnterStub.PosixJavaThreads_pthreadStartRoutine_e1f4a8c0039f8337338252cd8734f63a79b5e3df(generated:0)
这会以不同的调用路径重复 6 次。