On Thu, 14 Nov 2024 15:10:37 GMT, David M. Lloyd <d...@openjdk.org> wrote:
>> Issue [JDK-8164908](https://bugs.openjdk.org/browse/JDK-8164908) added >> support for functionality required to continue to support IIOP and custom >> serializers in light of additional module-based restrictions on reflection. >> It was expected that these libraries would use `sun.misc.Unsafe` in order to >> access fields of serializable classes. However, with JEP 471, the methods >> necessary to do this are being removed. >> >> To allow these libraries to continue to function, it is proposed to add two >> methods to `sun.reflect.ReflectionFactory` which will allow serialization >> libraries to acquire a method handle to generated `readObject`/`writeObject` >> methods which set or get the fields of the serializable class using the >> serialization `GetField`/`PutField` mechanism. These generated methods >> should be used by serialization libraries to serialize and deserialize >> classes which do not have a `readObject`/`writeObject` method or which use >> `ObjectInputStream.defaultReadObject`/`ObjectOutputStream.defaultWriteObject` >> to supplement default serialization. >> >> It is also proposed to add methods which allow for the reading of >> serialization-specific private static final fields from classes which have >> them. >> >> With the addition of these methods, serialization libraries no longer need >> to rely on `Unsafe` for serialization/deserialization activities. >> cc: @AlanBateman > > David M. Lloyd has updated the pull request with a new target base due to a > merge or a rebase. The pull request now contains 40 commits: > > - Merge remote-tracking branch 'upstream-jdk/master' into serialization > - Address review feedback > - Merge remote-tracking branch 'upstream-jdk/master' into serialization > - Merge remote-tracking branch 'upstream-jdk/master' into serialization > - Round out the documentation of the new methods to explain the supported > and unsupported cases > - Move `serialPersistentFields` for a degree of method order consistency > - Address review feedback > - Test fixes and finish renaming > - Address review feedback > - Address review comment > - ... and 30 more: https://git.openjdk.org/jdk/compare/752e1629...8b83bd70 Test failure again seems unrelated. Including the specific error here though, for completeness: 2024-11-14T17:47:36.4324360Z ACTION: main -- Error. Program `/Users/runner/work/jdk/jdk/bundles/jdk/jdk-24.jdk/Contents/Home/bin/java' timed out (timeout set to 480000ms, elapsed time including timeout handling was 708638ms). 2024-11-14T17:47:36.4327170Z REASON: User specified action: run main/othervm GetStackTraceALotWhenBlocking 500000 2024-11-14T17:47:36.4328300Z TIME: 708.661 seconds 2024-11-14T17:47:36.4328770Z messages: 2024-11-14T17:47:36.4329310Z command: main GetStackTraceALotWhenBlocking 500000 2024-11-14T17:47:36.4330560Z reason: User specified action: run main/othervm GetStackTraceALotWhenBlocking 500000 2024-11-14T17:47:36.4331740Z started: Thu Nov 14 17:35:47 UTC 2024 2024-11-14T17:47:36.4332550Z Mode: othervm [/othervm specified] 2024-11-14T17:47:36.4333480Z Additional options from @modules: --add-modules jdk.management 2024-11-14T17:47:36.4334350Z Timeout information: 2024-11-14T17:47:36.4334890Z --- Timeout information end. 2024-11-14T17:47:36.4335460Z finished: Thu Nov 14 17:47:36 UTC 2024 2024-11-14T17:47:36.4336100Z elapsed time (seconds): 708.661 2024-11-14T17:47:36.4336660Z configuration: 2024-11-14T17:47:36.4337320Z Boot Layer 2024-11-14T17:47:36.4338200Z add modules: jdk.management 2024-11-14T17:47:36.4338680Z 2024-11-14T17:47:36.4338990Z STDOUT: 2024-11-14T17:47:36.4358660Z 2024-11-14T17:38:27.326795Z => 10000 of 500000 2024-11-14T17:47:36.4360180Z 2024-11-14T17:38:41.640658Z => 20000 of 500000 2024-11-14T17:47:36.4361400Z 2024-11-14T17:38:49.756549Z => 30000 of 500000 2024-11-14T17:47:36.4362630Z 2024-11-14T17:38:57.493942Z => 40000 of 500000 2024-11-14T17:47:36.4363870Z 2024-11-14T17:39:08.010237Z => 50000 of 500000 2024-11-14T17:47:36.4365080Z 2024-11-14T17:39:16.328399Z => 60000 of 500000 2024-11-14T17:47:36.4366280Z 2024-11-14T17:39:24.093577Z => 70000 of 500000 2024-11-14T17:47:36.4367490Z 2024-11-14T17:39:32.249028Z => 80000 of 500000 2024-11-14T17:47:36.4369570Z 2024-11-14T17:39:40.332657Z => 90000 of 500000 2024-11-14T17:47:36.4370770Z 2024-11-14T17:39:48.896585Z => 100000 of 500000 2024-11-14T17:47:36.4371980Z 2024-11-14T17:39:56.202818Z => 110000 of 500000 2024-11-14T17:47:36.4373300Z 2024-11-14T17:40:03.124551Z => 120000 of 500000 2024-11-14T17:47:36.4374380Z 2024-11-14T17:40:09.787697Z => 130000 of 500000 2024-11-14T17:47:36.4375350Z 2024-11-14T17:40:18.527866Z => 140000 of 500000 2024-11-14T17:47:36.4376150Z 2024-11-14T17:40:25.597202Z => 150000 of 500000 2024-11-14T17:47:36.4376920Z 2024-11-14T17:40:33.003481Z => 160000 of 500000 2024-11-14T17:47:36.4377700Z 2024-11-14T17:40:41.028630Z => 170000 of 500000 2024-11-14T17:47:36.4378480Z 2024-11-14T17:40:47.934187Z => 180000 of 500000 2024-11-14T17:47:36.4379260Z 2024-11-14T17:40:55.464061Z => 190000 of 500000 2024-11-14T17:47:36.4380040Z 2024-11-14T17:41:02.558836Z => 200000 of 500000 2024-11-14T17:47:36.4380950Z 2024-11-14T17:41:09.825570Z => 210000 of 500000 2024-11-14T17:47:36.4382430Z 2024-11-14T17:41:17.577988Z => 220000 of 500000 2024-11-14T17:47:36.4383210Z 2024-11-14T17:41:26.589768Z => 230000 of 500000 2024-11-14T17:47:36.4383980Z 2024-11-14T17:41:33.137518Z => 240000 of 500000 2024-11-14T17:47:36.4384760Z 2024-11-14T17:41:42.334781Z => 250000 of 500000 2024-11-14T17:47:36.4385530Z 2024-11-14T17:41:51.968771Z => 260000 of 500000 2024-11-14T17:47:36.4386300Z 2024-11-14T17:41:58.428868Z => 270000 of 500000 2024-11-14T17:47:36.4387970Z 2024-11-14T17:42:09.241304Z => 280000 of 500000 2024-11-14T17:47:36.4389480Z 2024-11-14T17:42:15.361728Z => 290000 of 500000 2024-11-14T17:47:36.4390860Z 2024-11-14T17:42:21.300814Z => 300000 of 500000 2024-11-14T17:47:36.4392280Z 2024-11-14T17:42:28.007759Z => 310000 of 500000 2024-11-14T17:47:36.4393110Z 2024-11-14T17:42:34.121006Z => 320000 of 500000 2024-11-14T17:47:36.4393920Z 2024-11-14T17:42:41.597375Z => 330000 of 500000 2024-11-14T17:47:36.4394720Z 2024-11-14T17:42:47.815044Z => 340000 of 500000 2024-11-14T17:47:36.4395540Z 2024-11-14T17:42:53.644225Z => 350000 of 500000 2024-11-14T17:47:36.4396340Z 2024-11-14T17:42:59.640370Z => 360000 of 500000 2024-11-14T17:47:36.4397140Z 2024-11-14T17:43:05.704448Z => 370000 of 500000 2024-11-14T17:47:36.4397940Z 2024-11-14T17:43:11.992982Z => 380000 of 500000 2024-11-14T17:47:36.4398750Z 2024-11-14T17:43:18.333571Z => 390000 of 500000 2024-11-14T17:47:36.4399560Z 2024-11-14T17:43:24.272030Z => 400000 of 500000 2024-11-14T17:47:36.4400900Z 2024-11-14T17:43:30.751238Z => 410000 of 500000 2024-11-14T17:47:36.4402380Z 2024-11-14T17:43:37.258332Z => 420000 of 500000 2024-11-14T17:47:36.4403200Z 2024-11-14T17:43:43.632902Z => 430000 of 500000 2024-11-14T17:47:36.4403920Z Timeout signalled after 480 seconds 2024-11-14T17:47:36.4404660Z 2024-11-14T17:43:57.423379Z => 440000 of 500000 2024-11-14T17:47:36.4405470Z 2024-11-14T17:44:28.892592Z => 450000 of 500000 2024-11-14T17:47:36.4406120Z STDERR: 2024-11-14T17:47:36.4406480Z rerun: 2024-11-14T17:47:36.4407780Z cd /Users/runner/work/jdk/jdk/build/run-test-prebuilt/test-support/jtreg_test_jdk_tier1_part1/scratch/0 && \ 2024-11-14T17:47:36.4409270Z DOCS_JDK_IMAGE_DIR= \ 2024-11-14T17:47:36.4409780Z HOME=/Users/runner \ 2024-11-14T17:47:36.4410300Z LANG=en_US.UTF-8 \ 2024-11-14T17:47:36.4410750Z LC_ALL=C \ 2024-11-14T17:47:36.4411230Z LC_CTYPE=en_US.UTF-8 \ 2024-11-14T17:47:36.4411750Z PATH=/bin:/usr/bin:/usr/sbin \ 2024-11-14T17:47:36.4412500Z TEST_IMAGE_DIR=/Users/runner/work/jdk/jdk/bundles/tests \ 2024-11-14T17:47:36.4419930Z CLASSPATH=/Users/runner/work/jdk/jdk/build/run-test-prebuilt/test-support/jtreg_test_jdk_tier1_part1/classes/1/java/lang/Thread/virtual/stress/GetStackTraceALotWhenBlocking_id0.d:/Users/runner/work/jdk/jdk/test/jdk/java/lang/Thread/virtual/stress:/Users/runner/work/jdk/jdk/build/run-test-prebuilt/test-support/jtreg_test_jdk_tier1_part1/classes/1/test/lib:/Users/runner/work/jdk/jdk/test/lib:/Users/runner/work/jdk/jdk/jtreg/installed/lib/javatest.jar:/Users/runner/work/jdk/jdk/jtreg/installed/lib/jtreg.jar \ 2024-11-14T17:47:36.4428520Z /Users/runner/work/jdk/jdk/bundles/jdk/jdk-24.jdk/Contents/Home/bin/java \ 2024-11-14T17:47:36.4433500Z -Dtest.vm.opts='-Xmx768m -XX:MaxRAMPercentage=12.5 -Dtest.boot.jdk=/Users/runner/work/jdk/jdk/bootjdk/jdk -Djava.io.tmpdir=/Users/runner/work/jdk/jdk/build/run-test-prebuilt/test-support/jtreg_test_jdk_tier1_part1/tmp -ea -esa' \ 2024-11-14T17:47:36.4440820Z -Dtest.tool.vm.opts='-J-Xmx768m -J-XX:MaxRAMPercentage=12.5 -J-Dtest.boot.jdk=/Users/runner/work/jdk/jdk/bootjdk/jdk -J-Djava.io.tmpdir=/Users/runner/work/jdk/jdk/build/run-test-prebuilt/test-support/jtreg_test_jdk_tier1_part1/tmp -J-ea -J-esa' \ 2024-11-14T17:47:36.4444840Z -Dtest.compiler.opts= \ 2024-11-14T17:47:36.4446110Z -Dtest.java.opts=-XX:-CreateCoredumpOnCrash \ 2024-11-14T17:47:36.4448100Z -Dtest.jdk=/Users/runner/work/jdk/jdk/bundles/jdk/jdk-24.jdk/Contents/Home \ 2024-11-14T17:47:36.4450120Z -Dcompile.jdk=/Users/runner/work/jdk/jdk/bundles/jdk/jdk-24.jdk/Contents/Home \ 2024-11-14T17:47:36.4451380Z -Dtest.timeout.factor=4.0 \ 2024-11-14T17:47:36.4452670Z -Dtest.nativepath=/Users/runner/work/jdk/jdk/bundles/tests/jdk/jtreg/native \ 2024-11-14T17:47:36.4453960Z -Dtest.root=/Users/runner/work/jdk/jdk/test/jdk \ 2024-11-14T17:47:36.4455370Z -Dtest.name=java/lang/Thread/virtual/stress/GetStackTraceALotWhenBlocking.java#id0 \ 2024-11-14T17:47:36.4458490Z -Dtest.file=/Users/runner/work/jdk/jdk/test/jdk/java/lang/Thread/virtual/stress/GetStackTraceALotWhenBlocking.java \ 2024-11-14T17:47:36.4460760Z -Dtest.src=/Users/runner/work/jdk/jdk/test/jdk/java/lang/Thread/virtual/stress \ 2024-11-14T17:47:36.4463030Z -Dtest.src.path=/Users/runner/work/jdk/jdk/test/jdk/java/lang/Thread/virtual/stress:/Users/runner/work/jdk/jdk/test/lib \ 2024-11-14T17:47:36.4466620Z -Dtest.classes=/Users/runner/work/jdk/jdk/build/run-test-prebuilt/test-support/jtreg_test_jdk_tier1_part1/classes/1/java/lang/Thread/virtual/stress/GetStackTraceALotWhenBlocking_id0.d \ 2024-11-14T17:47:36.4472620Z -Dtest.class.path=/Users/runner/work/jdk/jdk/build/run-test-prebuilt/test-support/jtreg_test_jdk_tier1_part1/classes/1/java/lang/Thread/virtual/stress/GetStackTraceALotWhenBlocking_id0.d:/Users/runner/work/jdk/jdk/build/run-test-prebuilt/test-support/jtreg_test_jdk_tier1_part1/classes/1/test/lib \ 2024-11-14T17:47:36.4481720Z -Dtest.class.path.prefix=/Users/runner/work/jdk/jdk/build/run-test-prebuilt/test-support/jtreg_test_jdk_tier1_part1/classes/1/java/lang/Thread/virtual/stress/GetStackTraceALotWhenBlocking_id0.d:/Users/runner/work/jdk/jdk/test/jdk/java/lang/Thread/virtual/stress:/Users/runner/work/jdk/jdk/build/run-test-prebuilt/test-support/jtreg_test_jdk_tier1_part1/classes/1/test/lib \ 2024-11-14T17:47:36.4486950Z -Dtest.modules=jdk.management \ 2024-11-14T17:47:36.4487740Z --add-modules jdk.management \ 2024-11-14T17:47:36.4488440Z -Xmx768m \ 2024-11-14T17:47:36.4489010Z -XX:MaxRAMPercentage=12.5 \ 2024-11-14T17:47:36.4490150Z -Dtest.boot.jdk=/Users/runner/work/jdk/jdk/bootjdk/jdk \ 2024-11-14T17:47:36.4492140Z -Djava.io.tmpdir=/Users/runner/work/jdk/jdk/build/run-test-prebuilt/test-support/jtreg_test_jdk_tier1_part1/tmp \ 2024-11-14T17:47:36.4494970Z -ea \ 2024-11-14T17:47:36.4495720Z -esa \ 2024-11-14T17:47:36.4496690Z -XX:-CreateCoredumpOnCrash \ 2024-11-14T17:47:36.4498620Z -Djava.library.path=/Users/runner/work/jdk/jdk/bundles/tests/jdk/jtreg/native \ 2024-11-14T17:47:36.4504150Z com.sun.javatest.regtest.agent.MainWrapper /Users/runner/work/jdk/jdk/build/run-test-prebuilt/test-support/jtreg_test_jdk_tier1_part1/java/lang/Thread/virtual/stress/GetStackTraceALotWhenBlocking_id0.d/main.0.jta 500000 2024-11-14T17:47:36.4507990Z 2024-11-14T17:47:36.4511330Z TEST RESULT: Error. Program `/Users/runner/work/jdk/jdk/bundles/jdk/jdk-24.jdk/Contents/Home/bin/java' timed out (timeout set to 480000ms, elapsed time including timeout handling was 708638ms). 2024-11-14T17:47:36.4516420Z -------------------------------------------------- ------------- PR Comment: https://git.openjdk.org/jdk/pull/19702#issuecomment-2477111143