From fec655def4971784bd1505347bfad0318e5660d2 Mon Sep 17 00:00:00 2001 From: Brian Neumann-Fopiano Date: Wed, 19 Aug 2026 22:21:25 -0400 Subject: [PATCH] ddd --- .../iris/core/commands/CommandIris.java | 24 +- adapters/fabric/logs/2026-07-13-1.log.gz | Bin 1137 -> 0 bytes adapters/fabric/logs/2026-07-13-2.log.gz | Bin 1188 -> 0 bytes adapters/fabric/logs/2026-07-13-3.log.gz | Bin 1189 -> 0 bytes adapters/fabric/logs/2026-07-13-4.log.gz | Bin 1189 -> 0 bytes adapters/fabric/logs/2026-07-13-5.log.gz | Bin 1192 -> 0 bytes adapters/fabric/logs/2026-07-13-6.log.gz | Bin 1189 -> 0 bytes adapters/fabric/logs/2026-07-14-1.log.gz | Bin 1189 -> 0 bytes adapters/fabric/logs/2026-07-14-2.log.gz | Bin 1189 -> 0 bytes adapters/fabric/logs/2026-07-14-3.log.gz | Bin 1192 -> 0 bytes adapters/fabric/logs/2026-07-14-4.log.gz | Bin 1192 -> 0 bytes adapters/fabric/logs/2026-07-15-1.log.gz | Bin 1009 -> 0 bytes adapters/fabric/logs/2026-07-15-2.log.gz | Bin 1168 -> 0 bytes adapters/fabric/logs/2026-07-15-3.log.gz | Bin 1522 -> 0 bytes adapters/fabric/logs/2026-07-15-4.log.gz | Bin 1522 -> 0 bytes adapters/fabric/logs/2026-07-15-5.log.gz | Bin 1522 -> 0 bytes adapters/fabric/logs/2026-07-15-6.log.gz | Bin 1522 -> 0 bytes adapters/fabric/logs/2026-07-16-1.log.gz | Bin 1520 -> 0 bytes adapters/fabric/logs/2026-07-16-2.log.gz | Bin 1522 -> 0 bytes adapters/fabric/logs/2026-07-16-3.log.gz | Bin 1521 -> 0 bytes adapters/fabric/logs/2026-07-18-1.log.gz | Bin 1521 -> 0 bytes adapters/fabric/logs/2026-07-20-1.log.gz | Bin 1520 -> 0 bytes adapters/fabric/logs/2026-07-20-2.log.gz | Bin 1666 -> 0 bytes adapters/fabric/logs/2026-07-20-3.log.gz | Bin 1666 -> 0 bytes adapters/fabric/logs/2026-07-26-1.log.gz | Bin 1666 -> 0 bytes adapters/fabric/logs/2026-07-26-2.log.gz | Bin 2034 -> 0 bytes adapters/fabric/logs/2026-07-26-3.log.gz | Bin 2039 -> 0 bytes adapters/fabric/logs/2026-07-26-4.log.gz | Bin 2034 -> 0 bytes adapters/fabric/logs/latest.log | 488 ------------------ adapters/forge/logs/2026-07-13-2.log.gz | Bin 1293 -> 0 bytes adapters/forge/logs/2026-07-13-3.log.gz | Bin 1294 -> 0 bytes adapters/forge/logs/2026-07-13-4.log.gz | Bin 1295 -> 0 bytes adapters/forge/logs/2026-07-13-5.log.gz | Bin 1293 -> 0 bytes adapters/forge/logs/2026-07-13-6.log.gz | Bin 1296 -> 0 bytes adapters/forge/logs/2026-07-13-7.log.gz | Bin 1294 -> 0 bytes adapters/forge/logs/2026-07-13-8.log.gz | Bin 1291 -> 0 bytes adapters/forge/logs/2026-07-13-9.log.gz | Bin 1290 -> 0 bytes adapters/forge/logs/2026-07-14-2.log.gz | Bin 1293 -> 0 bytes adapters/forge/logs/2026-07-14-3.log.gz | Bin 1292 -> 0 bytes adapters/forge/logs/2026-07-15-10.log.gz | Bin 1294 -> 0 bytes adapters/forge/logs/2026-07-15-11.log.gz | Bin 1293 -> 0 bytes adapters/forge/logs/2026-07-15-12.log.gz | Bin 1295 -> 0 bytes adapters/forge/logs/2026-07-15-2.log.gz | Bin 1656 -> 0 bytes adapters/forge/logs/2026-07-15-3.log.gz | Bin 1658 -> 0 bytes adapters/forge/logs/2026-07-15-4.log.gz | Bin 1654 -> 0 bytes adapters/forge/logs/2026-07-15-5.log.gz | Bin 1659 -> 0 bytes adapters/forge/logs/2026-07-15-6.log.gz | Bin 1262 -> 0 bytes adapters/forge/logs/2026-07-15-7.log.gz | Bin 1294 -> 0 bytes adapters/forge/logs/2026-07-15-8.log.gz | Bin 1295 -> 0 bytes adapters/forge/logs/2026-07-15-9.log.gz | Bin 1294 -> 0 bytes adapters/forge/logs/2026-07-16-1.log.gz | Bin 1657 -> 0 bytes adapters/forge/logs/2026-07-16-2.log.gz | Bin 1656 -> 0 bytes adapters/forge/logs/2026-07-16-3.log.gz | Bin 1653 -> 0 bytes adapters/forge/logs/2026-07-18-1.log.gz | Bin 1658 -> 0 bytes adapters/forge/logs/2026-07-20-1.log.gz | Bin 1654 -> 0 bytes adapters/forge/logs/2026-07-26-1.log.gz | Bin 1845 -> 0 bytes adapters/forge/logs/debug-1.log.gz | Bin 2906 -> 0 bytes adapters/forge/logs/debug-2.log.gz | Bin 2919 -> 0 bytes adapters/forge/logs/debug-3.log.gz | Bin 2912 -> 0 bytes adapters/forge/logs/debug-4.log.gz | Bin 2908 -> 0 bytes adapters/forge/logs/debug-5.log.gz | Bin 2921 -> 0 bytes adapters/forge/logs/debug.log | 486 ----------------- adapters/forge/logs/latest.log | 483 ----------------- .../ModdedLifecycleFailureContractTest.java | 3 + adapters/neoforge/logs/latest.log | 141 ----- core/build.gradle | 2 + .../arcane/iris/core/IrisWorldStorage.java | 4 +- .../arcane/iris/core/WorldCreatorCompat.java | 80 ++- .../iris/core/link/MultiverseCoreLink.java | 152 ++++-- .../core/runtime/StudioOpenCoordinator.java | 2 +- .../runtime/WorldRuntimeControlService.java | 2 +- .../arcane/iris/core/tools/IrisCreator.java | 11 +- .../iris/core/IrisWorldStorageTest.java | 12 + .../iris/core/WorldCreatorCompatTest.java | 51 +- .../IrisWorldRemovalServiceTest.java | 16 + .../lifecycle/WorldLifecycleRequestTest.java | 46 ++ .../core/link/MultiverseCoreLinkTest.java | 58 +++ ...torMultiverseRegistrationContractTest.java | 37 ++ .../director/handlers/WorldHandlerTest.java | 2 +- 79 files changed, 425 insertions(+), 1675 deletions(-) delete mode 100644 adapters/fabric/logs/2026-07-13-1.log.gz delete mode 100644 adapters/fabric/logs/2026-07-13-2.log.gz delete mode 100644 adapters/fabric/logs/2026-07-13-3.log.gz delete mode 100644 adapters/fabric/logs/2026-07-13-4.log.gz delete mode 100644 adapters/fabric/logs/2026-07-13-5.log.gz delete mode 100644 adapters/fabric/logs/2026-07-13-6.log.gz delete mode 100644 adapters/fabric/logs/2026-07-14-1.log.gz delete mode 100644 adapters/fabric/logs/2026-07-14-2.log.gz delete mode 100644 adapters/fabric/logs/2026-07-14-3.log.gz delete mode 100644 adapters/fabric/logs/2026-07-14-4.log.gz delete mode 100644 adapters/fabric/logs/2026-07-15-1.log.gz delete mode 100644 adapters/fabric/logs/2026-07-15-2.log.gz delete mode 100644 adapters/fabric/logs/2026-07-15-3.log.gz delete mode 100644 adapters/fabric/logs/2026-07-15-4.log.gz delete mode 100644 adapters/fabric/logs/2026-07-15-5.log.gz delete mode 100644 adapters/fabric/logs/2026-07-15-6.log.gz delete mode 100644 adapters/fabric/logs/2026-07-16-1.log.gz delete mode 100644 adapters/fabric/logs/2026-07-16-2.log.gz delete mode 100644 adapters/fabric/logs/2026-07-16-3.log.gz delete mode 100644 adapters/fabric/logs/2026-07-18-1.log.gz delete mode 100644 adapters/fabric/logs/2026-07-20-1.log.gz delete mode 100644 adapters/fabric/logs/2026-07-20-2.log.gz delete mode 100644 adapters/fabric/logs/2026-07-20-3.log.gz delete mode 100644 adapters/fabric/logs/2026-07-26-1.log.gz delete mode 100644 adapters/fabric/logs/2026-07-26-2.log.gz delete mode 100644 adapters/fabric/logs/2026-07-26-3.log.gz delete mode 100644 adapters/fabric/logs/2026-07-26-4.log.gz delete mode 100644 adapters/fabric/logs/latest.log delete mode 100644 adapters/forge/logs/2026-07-13-2.log.gz delete mode 100644 adapters/forge/logs/2026-07-13-3.log.gz delete mode 100644 adapters/forge/logs/2026-07-13-4.log.gz delete mode 100644 adapters/forge/logs/2026-07-13-5.log.gz delete mode 100644 adapters/forge/logs/2026-07-13-6.log.gz delete mode 100644 adapters/forge/logs/2026-07-13-7.log.gz delete mode 100644 adapters/forge/logs/2026-07-13-8.log.gz delete mode 100644 adapters/forge/logs/2026-07-13-9.log.gz delete mode 100644 adapters/forge/logs/2026-07-14-2.log.gz delete mode 100644 adapters/forge/logs/2026-07-14-3.log.gz delete mode 100644 adapters/forge/logs/2026-07-15-10.log.gz delete mode 100644 adapters/forge/logs/2026-07-15-11.log.gz delete mode 100644 adapters/forge/logs/2026-07-15-12.log.gz delete mode 100644 adapters/forge/logs/2026-07-15-2.log.gz delete mode 100644 adapters/forge/logs/2026-07-15-3.log.gz delete mode 100644 adapters/forge/logs/2026-07-15-4.log.gz delete mode 100644 adapters/forge/logs/2026-07-15-5.log.gz delete mode 100644 adapters/forge/logs/2026-07-15-6.log.gz delete mode 100644 adapters/forge/logs/2026-07-15-7.log.gz delete mode 100644 adapters/forge/logs/2026-07-15-8.log.gz delete mode 100644 adapters/forge/logs/2026-07-15-9.log.gz delete mode 100644 adapters/forge/logs/2026-07-16-1.log.gz delete mode 100644 adapters/forge/logs/2026-07-16-2.log.gz delete mode 100644 adapters/forge/logs/2026-07-16-3.log.gz delete mode 100644 adapters/forge/logs/2026-07-18-1.log.gz delete mode 100644 adapters/forge/logs/2026-07-20-1.log.gz delete mode 100644 adapters/forge/logs/2026-07-26-1.log.gz delete mode 100644 adapters/forge/logs/debug-1.log.gz delete mode 100644 adapters/forge/logs/debug-2.log.gz delete mode 100644 adapters/forge/logs/debug-3.log.gz delete mode 100644 adapters/forge/logs/debug-4.log.gz delete mode 100644 adapters/forge/logs/debug-5.log.gz delete mode 100644 adapters/forge/logs/debug.log delete mode 100644 adapters/forge/logs/latest.log delete mode 100644 adapters/neoforge/logs/latest.log create mode 100644 core/src/test/java/art/arcane/iris/core/lifecycle/WorldLifecycleRequestTest.java create mode 100644 core/src/test/java/art/arcane/iris/core/link/MultiverseCoreLinkTest.java create mode 100644 core/src/test/java/art/arcane/iris/core/tools/IrisCreatorMultiverseRegistrationContractTest.java diff --git a/adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandIris.java b/adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandIris.java index cb5ad5391..f7bc3e3ae 100644 --- a/adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandIris.java +++ b/adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandIris.java @@ -826,8 +826,13 @@ public class CommandIris implements DirectorExecutor { public KList getPossibilities() { Set options = new LinkedHashSet<>(); for (World world : Bukkit.getWorlds()) { - if (IrisToolbelt.isIrisWorld(world)) { - options.add(IrisWorldStorage.logicalName(world)); + if (!IrisToolbelt.isIrisWorld(world)) { + continue; + } + options.add(IrisWorldStorage.logicalName(world)); + String startupName = configuredStartupName(world); + if (startupName != null) { + options.add(startupName); } } for (String identity : IrisWorlds.get().getWorlds().keySet()) { @@ -850,6 +855,21 @@ public class CommandIris implements DirectorExecutor { return new KList<>(options); } + /** + * "iris worlds" prints the Bukkit startup name, so it has to be offered and accepted here too. + */ + private static String configuredStartupName(World world) { + try { + String configured = IrisWorldStorage.configuredWorldName( + WorldIdentity.key(world), + IrisWorldStorage.levelRoot().getName() + ); + return configured.equals(world.getName()) ? configured : null; + } catch (RuntimeException failure) { + return null; + } + } + @Override public String toString(String value) { return value == null ? "" : value; diff --git a/adapters/fabric/logs/2026-07-13-1.log.gz b/adapters/fabric/logs/2026-07-13-1.log.gz deleted file mode 100644 index 5dce6915b21d90687d836c164021aa4f6255806a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1137 zcmV-%1djV3iwFP!00000|Ls~$bJ{u-UHAP87A$xh1p|eI9VO(wcAB;W?PQV3La{Hw zL0Ep0Oh|uy^<^C5kJxE4ZRcr`*p_t9y;nNElFxAIjmEvvxZAyIU48{FT6dJKfgR1} z^Uw3EaqCh(lfYkrzrJd5U|V1cKp_h`+Rz|?0G;d0g>pVs&Q)v@e{&t+wt|`)q%#SWFgT;k z2mXmh-+|FN@PvrA*D1tMfsT9L@!w6nBbG#yD6mc!(ti%z0DB{^5wH%aRz8*4yfses zB3xq*N4LQmg^>UjVS*Se3HSn?hD=`0L9A%-FOC8N6JNUFl*zGMx`s~02$NoSkn^-( z_|%OtPa*A-Hh(*`fl_vZZj&e!YGNZ`dVYYQGln;y7-+28p6Z_)+;9t1Oi1U^7>j)J z7&y!Rz{4RJz9ygsbPAeH!o5ZT+oWf^m{2ak$bCt;!zaV#>iyY3BshAnL9IP(F-c@s z=b+V+uPoRvm`S9$eroqKjEC(8qut_xm|SzgurKzIr?3p=tvt1SVbtz^vAH|!?$k0h{BJbDizF1#ER;$Uv*+~x zz(azat9_I~$YU)0m9FG(82-=rnCg`#J@ErYar360mnt z19(bh(@yB!=Oe`du)KqcF?Oq|;YgBccc0o#0vyW$?etl4Hk)rli9K723~fQMGpA@6 zt5M!jc8l8Da8N?`Z_zrUcTsCW6M0f@@@|>$8>H|q^sU@H}fk^K9*Vt|8B@;sRL)*HTvw>)q+zq&61Jj~b1Oi1Yg{n zJ1p1ow7BQ;=sbyI5*kWApuPq6)t5w#advTfzc_-C4Zu375ywBe+h8dEX^!U_%}Sp9 zH26mTD?uO0&ET?$$Z&^4Ma9;Vvc2H2N<^Su_u67ZYM{V=R&B6Y7ZR%I^L(}oMY~(| zc|I646C1FKT8Rv@b|~~Rt>Jk146UI?HkG;b{=id&lNy}V;G_m8H8`okNexbFa8iSl z8l2SNqy{H7IH}?PEj8#%ZBgN1^fSc-v0}28=;nn839+XouDYq^Xn|4lw`# DtQs!( diff --git a/adapters/fabric/logs/2026-07-13-2.log.gz b/adapters/fabric/logs/2026-07-13-2.log.gz deleted file mode 100644 index e065b084aeb0341074e16e0967a3b87b9c9fc338..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1188 zcmV;V1Y7$biwFP!00000|Ls~!Q{y-gKJWYrA5t~hi-?m<0^G6zcG((WDw!z`6g4Gm zB@t09uPleKzkXW}Cj>vR8K~W<)d6fv-CuW0t(NpvZv5eKzjxgAZ@rtZB$3_&7fT`z z&M(idZjZflK@(4qIZY%HB=mwbk$mL^Jdz}mUM%>UhD3NDDF}WK$&3gP`z`_LK_~9O}F=9BHqjSc{9J8s!lALY= z5=+XX<3gohu=KEy2#Wwm1S$W}iiaTy(S?3oE8}BjT=@q0tGf`l6x75ZodHlP$Qc&_ zNiKQxHxYb7l9b7o-!8;ZjzYMHzc#UsL>i5v&>EeB{T#Rf_J@8WVC_<^cq*g$WQ^)b zxWfrKxDS_z!u*Q}GbG52kwBsoD&TQJ`Mz51|Ed%+D@nHGqH)!gQ8BP)l=kMT(C9>4%)bUO= zekOQU|iWbas0Z94O?M2hAO3m(3y&-*Vem@_R0`0zE;sVlHFy_LPliim|v0ll_ zd_m2BQZDBLLpeq`rn_1pak5O1+Q?~?0c#AkH=J%rkV-C03DvtxJKt#w$D0^Z84#Bm zIqbi`jsCE?jnQ2q1rFpE@`TJNyuzvFi{N(mi_P19ce|FV$^S+JJWZ)2&0MKeF?&w$ zCp;wBvD$hW(j>+*SXh0v2L@OLYmu&^cCN>i!hB}rL9)8;YL8-+LqfmZenIlCKglM>r(DN?ir!H%3t z!&piA2fJ6)(u)0(bpIADBmNM1Q=Y;}xyjlx_Zy_}uJtQyI;!^W8nT+0pV%g_i0H~h z;M#D3K?(l8E(F2hC7cKI*1Cf?v6ct!h{UYl&l6cpHxvJDpN8lZ}<=cgMgTb-)w zdB5L`Y{1HEMKVC`Q0Qe`!{Oi+Ttkg$Dr4#Xgr^8cH8`rlQ4Nl2a8!e%8XVQ&s0K$h zII6)>4UTGXRKx$9YS53`q{5!`E6D`85Kv2W^HfsC>}e@cxBY4oq0^8=sQrtD!7EsV zsxT^paO{C&4;*{o*aOENIQGD?2aY{(?15ts9DCr{1IHdX_TWFj9{d9q<7!rFF#rHZ CJw$N; diff --git a/adapters/fabric/logs/2026-07-13-3.log.gz b/adapters/fabric/logs/2026-07-13-3.log.gz deleted file mode 100644 index 302c0a9cac21622b6eee106f1adf8f511377ebf3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1189 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 GF#rID`$o0^ diff --git a/adapters/fabric/logs/2026-07-13-6.log.gz b/adapters/fabric/logs/2026-07-13-6.log.gz deleted file mode 100644 index 111bd6e80308ecd87d0528cbf24c28f3c33edabc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1189 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 diff --git a/adapters/fabric/logs/2026-07-14-3.log.gz b/adapters/fabric/logs/2026-07-14-3.log.gz deleted file mode 100644 index 1956ec1398866ea473c28c189479f713105d62e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1192 zcmV;Z1XueXiwFP!00000|Ls~!bK*D$mkV1pJ7dNosa#bx3SW-CuW0t(No^x9!%Tb38ci-8r{kNi3X4#+QU2 zU0j`C-wm7#9>fkO^B@+46W{TYSg@7ju~3juI1y*-z$e`K7=Yk+pUemcvF`$qK7P10 z*!=_S@nmv60q|S+roOiz-tx|g310&cz(-*4??lSaa6pOw;Q_BPqBxwR3rfix)2YCM zj5i*MM8Lv9uF`K3UOp8?mvZr`m1tX!%TPiZvA z+Nhd@dmNLa2Y-nIn13E(ia423;t6yXaClr2v0(n6IP@tQdSE7I9AwvQNtz`RI=ogl zV`)3_sTr-FLYgn7e%v#TGCoHSNf-z@up!}Ud>t_WEI7Sx=)aa8n zrU`U4_gYQz6*>C_b3mG?uSREw@w{DQbXpnLQjkxSdCR}PK~r}`aU2^scL$d*k)}?o zig&W{Gr_Yw*LpQwlij05K>ZgS>%0eSuMl-_GP)}La)Rx+mGoT{Lvi*Knm3vK%&I6F zaup9W<$2PshJsb4Xuv$@fD}*NUNr5p)NG$t8`9V2_u-i2Xm{NL7m&(=5#zd??7no0 zbqZGI3u^AOayjQ1$}z%Gu&WgU$IBSWjXVfbV1*&~hVh1YiC|opP_?@>vz?}Jyon*1 z0a2lmlkWT5==ST|7~aQ%V^3@$&&Vu*S2(qN;mquQk$&6nZdOv&`Cn^*r%514Jy%Lq z^q$lC1rG^kthQeIK^$S>EsVb013fH*HAvTCGt;9>VKy_epy?@qg=c9~+SknK(^cu@ zoq*lb3cw?I$lnOH`+Q~?j`>*wB{F8KsbC0_Y4eoo4SgJeKqLKzoZXGLPKj-{v|0@ z2k`m5nZt4=OVcN~39p7xL<60Y&r;t2d-5hxLC#E0`zL$QHx3vh75w-^b!!Zne=5f_ zjd~_ee;9lP{|eCiuo=`M86I&UQ_-0*z9k$MiSXreuS_*hL1n_`nJ>|Nv#1Pex@ zZN;>xQk3KL*LV1k9b1n`*#zyPJS39HnQvyu;gI~`+jeWzZH?T)opbw@#KL)Gd`0-l z#nt)s-N?D%LF{m{2x37v@f|OT1zS5F3k3;<6LGc)e8QcN0SJEg$((Qy`z`?K?V5!C#>O=AVa{B2MO%cmkaU93GcMESdiY4t+|-9+-(42iXlBn*Tc*pP5FK7^ukj@LwHpw?=*vVW>^gAJKrN}ESA z26=c4ypR6C!XX&Gr$h=gbDDL)?OG0-pwG4uWif!!rvi6-FS;Ac^|OWr9HR>bYV^ql z(*(Mj2dyUgik$s|IUr5dSEIAXc;2otI<1UrDadb>d8ZgS>%0eSuMqWMGP)}La)Rx+mGoT{Lvi*Knm3vK%&I6F zaup9W<$2PshJsb4Xuv$@fD}*NK{V~M)NBu{4e4w1`*=)pw7YJB3rJ1 zIt4591vU3sxm<7zgg!`YU2iC|opP_?@>vz?}Jyon*1 z0a2lmLHGS_bo=#fjPGN?u_tzrr(_<$E1X)saAtPDNWUF+H!G>?{I4~@vm_9to-3s) zde7y6nd#A`Fq;`!(DW3*!qc=V?Q7=r>8dn% zCt!D20eB)0`CFlOpU(`#F+XddM8<426%0W#ZJ$!Tv5zAVXr$kev-|PZDY46zJVjFw z%*e?!jHHx%vVTPlrPwV<_iy1UWRIaUV+ov;>#Qw(zd;i3M!mwOBWv%zA+3qoiLC>R zh^kBkt__zMl;H2{k`wG-!Fe!it=)SQYgyn{c6Q$cxR=E>Q?fj diff --git a/adapters/fabric/logs/2026-07-15-1.log.gz b/adapters/fabric/logs/2026-07-15-1.log.gz deleted file mode 100644 index 3573eb5211686b407e19cfcc7906ed7d020db41c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1009 zcmVZTI<*V2@_L`7|14G>@xZFg_iQgW#)o^$CRZzB9fCelnZS zKhD37y|+9To&dg$L-05wr!(1ZFLrek1N*8Td6hVY8%*VnSUSNuE zfNT8D0zyW!h2vYi#fV^fgXSrf@djqQ5E2Wn5Kzyc6@|oQ)fsM7OxfK8O7IR zuOcQiy5yj@1!8L5yis0KCF@p#X|Cg-|CeE6h+ks?C%4fW#Z&^Pm>>>I0-;3bF;^cK zAXhB<2h)haBvgI{<4SkS*3f-K!#MJLgMz1hurfE+JcD#^#{6`6YRwtHLANQ5RWMRY zft#QKL2o$TfIe(%)$#TE+~UStm|{Y@4|E*z*+bxb_Xi#h!F2q!LbpV0H{5ST*ll{Y zO9&GRjNDbw9X?4{NGxFkR0{OgfI55FVv?$*?t#>j9aWLN#9SfG&08nPG49J@LW(G$dimw+8sq8=Q^ zz@%TvW&^*Ly^ln=f+!_rhdC;IE2=_n_M=2)O#1auu&ERsbbV>i;J#sJc}cp0ZFBkSA&=LF&H)XF}W6!<52D)&tVy>N7e2x zIdk1Fu}_D~-CCwL{~HB(k;W35QF+wF_MG4kyd=0-?O8^#NU#i7&R+Mx5bMo4q>r>) zSh1zBm>EUT>=wZ2c_zx%x+QD2D!qCkVE?QJ@RTXhPMYrXp5X|1(ZM4+uGQ3Vq>^cO zm)T7soG67(_O5a^kGD;UeYTVtx`N;$r_(UeTK-A?h&sk_P?7GR>6)_d)LXEWhtTA^ zWk(65@xGWx)pT_2%>`LaEFNqVSOlgrfx6XSU}dEKKCL+5=!3cs7QOX{&*H5J+$)~$ zvj7i^xbCQOY=;)=%LSU49JlpaJv@LfUoBjgYk6AS33YXzBngRaO5RI-2OR22qK2M3 zoc@2zVB`omCpCEdZI&&D&Oejm1))93vtI_^sDBmcBh?J9n#}Vm3(Q>n@67XX-`DRl z&ij90r*6mjcARg=`F5Od$N6@gZ^!v|oNveZcARg=`F5Od$NB%=IDfQAlSGZN0-~|k f*R$gvJ3}1VYmA=xV{1*gYS$lfget$ z(~IfXVQ|W05eVSxID~*RLT+%l3~q5uAPR074=|Sq^AJ-&vD%APEQ%mPXXayO8P71q zbKn}kF@uoNY~kG9!o1=G3?yPe;RCPwiaEa31iTB4Xr;1mD~-DL{jn^>7gft)RamYuHfp@3hldun_?XNd93&{4somvXJ zLr*pdVM2kC`x15g&#EgVmaqaU1v)jLjvv;Tq-v?TN43fh%9OptTp>-(Tcf+fcu04l z)XJ%rfqWt?T>kk*k$Pi-g>Z1~9bEB_EOc5`w9~}TfNzUb>(^9GFOL^7iJnoc`x>zQ zQq({<5xO?pq6_AO7G2=F!?A~mMbxXdP&#<*0q{}(SDjg%7#JgM}u~-Tu zRUL?F25c~NX_#yvOeNzsh5nr?QZv8k632@O(h-o93i;T3eHpz$eHo)0Avq4^7V;Qw zWA&)Y{Uv9v`X%;hf4NzS)y97<1JBY}LOoTUWU)1;`vxxw&Q@D3qgW(Zh6~59YhZ}= zVI9&1ZRS>ND$GYl9yGfJFnXMkvbAQxn$1cdUkSK*_PjUt?=4UOzw#q7@BHYB#uQpD&Ig0q|s!$j|DAMPGe!!Y(r!u<U_6sD}glLU*=I29i4l3ge)iK9a{$$fyqpuZuMtaF{!_+1qU3RtNUPHTBrXa z((=Hqymwy&xSz*$uG(Qcv`}9z(8$EN&DZMT5q$A#?y_7-((GQStMe#HNNhv$LFhZ+ zP}yJMY_h-_HAX-na9=Tswa-OOr&k zu>zuDQ0K?;pQOFk);~Z91-(wNQrEN6`NZk@$wfAv;4qJscR55smQ#m$dYvA|aL~07@`)c!#GSn?zX2z#1zU9)HwZc?G=MHPFu@OJE(x>LI z{N5PNq8w*xT&6c977GyPOzKkc&=FS))o`Z*n$KZcM-1NJ6~@mw{G7wjIsBZ%&pG^@ i!_PVVoWsvK{G7wjIsBZ%&pCd%ImZvl2<=CQFaQAGZ%KIo diff --git a/adapters/fabric/logs/2026-07-15-3.log.gz b/adapters/fabric/logs/2026-07-15-3.log.gz deleted file mode 100644 index 1eb638688c9f7c3655b1e5a042ad9e9bd6a7f4ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1522 zcmZ|Bc{mda003|kvD~&AO*W!gLeduU!g53zFPi7pP?9Sd%DhR;Sd%E`M8>_j-bR@IrRFpPylY)C8AJ=z%p zr$qK|NN@Dlb0~UwG+OHPMI`D+5!UV=o93E87Uh z%)&a{V+#`sYi8s~7GPrOfVPse4dW5c87;rtLdnc~N9_m_B5Z02 ztl_ub+|`Nmw)qa;tISs;?YP@18j3&XToiVg0K%_o_-RLv#d_S$h2UH!H(8s)WZx9v zlUw+}&Q7SHi7{k(i#wlFmn*^^nGc^tz#IK&GKULjFRcgjtlXsM zh0@7d#K;xYp^EF4Kv^sq6lU=!rS#wmk z71~SW>6g(0+A5VVjKSJcw#-w2E$K-Lljx%7OMz*EM=?a80-Q!C8*oWP4P z*|@X@_0V$G3sbQ>4jqJx^{*oQOV7D)oCi&!y(%AEU!HDGc^#%>mu-C|yf5{Jtq+uB zj~N4`z92o*@6*Aqdo_4}Q6A43s-BD-4AKwZ&R5bq{VjK7D|ngx`$}R;iiD#b1bW1II&4Cl0 z_Fa~_fP#NY*dwoZp9Y+S)!U@hf7H_eP32U&;|ma{XhTKhWX9T=Y{^lg21a=1kY}5E zV37Z>yiGDg#Z8m diff --git a/adapters/fabric/logs/2026-07-15-4.log.gz b/adapters/fabric/logs/2026-07-15-4.log.gz deleted file mode 100644 index 19698e44d233bbf66e385277b8c42a19c56cf432..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1522 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 a1Gs{YQfE(0mtKX)k?5)cM|A@W0Q?K|i_P5t diff --git a/adapters/fabric/logs/2026-07-15-6.log.gz b/adapters/fabric/logs/2026-07-15-6.log.gz deleted file mode 100644 index 2e1b01d0caa69e3a147f59f3ce4df36ec8d37615..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1522 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 VsKsBO-FVSciDld!tz!}AnM ziGxGi9kcm|ep)3B!K3x``Yjfd%`BPr#}yRJh9^-3W98O9e0g$=N$_QB-jO7bE`AU@}o zw`@%!;h@e{>g5@yh|2fx(lkEf?SH1rWySdye#8`6U8%P)EJ%lg;Rg;*cSDb^xaC@~ zIviy@{EnBsu68g#$x^OGBs$OWMLFh^4G+IkSW6aq+Amw3shrxm3rBJ|W#_HeRhyu2 z4|c?L{KUQI^#-YPv$Dqj`9gXAKJh%_mQV9drGJ-&Zpm2$qbCwvRslUw2C|miY#v|D zaZ21cfWE~F`TjUAlTvzF=MfCtO+ZE$kosH;G}>7NX@Jw;ntAE#gXCR=5mFes8ya49kRt8R? z!`pwW&8R6vnNEB+S#Y_(+p#PZEM;Obe`rp`$m>j$D*N9<)Q$Muq{o>YJ_ZS>l`T*= z>eVi+E6VG1xZ}Zh#$K;mM+>h4*yNVD3ryye~AOiUb-a z&5H(UbMvDMXu}RpWWY>NCo8Tsz2WMalq(U^XT%SIl?nTg33GAJ!}!Si8(FX(jY9i? zrn1#MPGxN0Af8!0P=Y?ZBi!Cyd#nY>PFFM?8-BgBoQ`bY+nz{xQ&Cbp+0N|Nc;hCx zs!c;XraC@p-RV8EOPXz>NVeU|j$p7CECctL|0xnn&fb=HeTPcaojz$Cm9I@Zy7`=0 zjjc@~Pjie!+ph;0r%5gmOxo9H97%>45SSa+i*lyC1?vH#v-wh3W1wX8Ll8E8&8b`# zW3X?0;3geAUoo6Px&m|x6o+=(S?{(EY2HZRrb9NZMLBzo=NZ$qC{$nIptsu0jTp*e z>&4^r!4ruP5W;8#V5)$AzGKf9UP8;(PCL|96-r`bjk3d9+xk{@p~XjY0xoZ}2qa&g+cu`&-)rL!=D#3D{KYo$;_k4L%Ut zH5U0CjrVrSfRGmdwl1V!q}0OC#g^T*X);TLDt9GS-*PLwm~hT{vtDy`NG+O8f@GG* zQdrZ%CwSJ22XdJ}woi2`t798Yz~iVq>aTP4dKe0lH$!HaI>PBpg$g{fi+~W&5ir3* z<@t#!`#RR%&}7;}uQWh^cFycyyY5>YsX$e?Up(EhrRW*i@>-fc$a~|5q}1lB%#pZhX#7M$7IoC!Ey%c! zzD3$xgpi|GvaDRIW%}0eyFp0)j-G@I*vD{j!-ELDDCrOM>~(c~MVw|KvG8Q$(?{nW zRAyWKy?hQLM}epGzl927tjIG`g%019Khv|VMON4A&xS0IhodHuIfwn@lTI_#xCIqO zu!zxdiMwzW39rvO%WLcfw4ka2V{~&S4>ypEt6m>0y?xfT#t(Qxch5oQ2oba8Tj+c| z5*8Xu(F(r*aj#`{9x)_5pJN?0KrdxSt@7P-(WvdL4J(6xSmyJ_PahzG)uzmJ;(Il& z=C|=FcQj`;<4}YR>Op6ltY%=K!*9vNxWPx~?lFRt#O0jjPZIvFHH->7RHf`QbtE*xxV^(c{rM>bs_~i`XceNWDKHr24 R)T_R!t|Mo!G-d$+{{c~qHJAVZ diff --git a/adapters/fabric/logs/2026-07-20-3.log.gz b/adapters/fabric/logs/2026-07-20-3.log.gz deleted file mode 100644 index 92c5eab297ee05d2699928cda4256679c62a8b01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1666 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 O=W)YTXz?^2o__$y>gI?5 diff --git a/adapters/fabric/logs/2026-07-26-3.log.gz b/adapters/fabric/logs/2026-07-26-3.log.gz deleted file mode 100644 index 60f1734487ea5c46d761308ce47de336ef6e2b53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2039 zcmZw5c{~#g1Hkb)a$k?h@mfX_%cAATW6Y8BY2?b*gNIR$5i1!X_mRY!^$0oU$k~wl zC`Fp-!z9;SQ6@)>9K&ed&*%N8_m6&meLp{Nx)9)h9j|+MI8PhMbp^*JYh4^!vpkib zSk5iNhG(USE*BO8_F{K@lJ$rjIRAS}_;dBL~s;PsDcF=Vgf3}E-bu%rk>z7jlGMv!71gjT z-hq`AA;pDE2a5l3%j7|fak`)H&MYW1Bn2zU%^*>4zU$bDNjvCz8(rjd)8HhgW|I3c zV54xx$aSeah40Ln7#yOC5_dLn@}aeKI_Xc{D6 zg(fph6jGaOLvG!ySkw@cjEQPEr4n#bu|V>wKIXDcjw37!OZ^J$wCT%Q2@S|>&#ZiS ze8VNDzh@j*-fFl|pMUwVIGlEZ`WQRjmR7-&x@4v1@^&YKKOKn^3zg3$3?OeDsoQyX zcR2PoWs6MF7oUu^Hf=U`PH0{KTfhfH4cAuQhHv=!&4oY3f@W?AUyA>b#sBpa{S>gf zszk@P$bGIxc8b&0w-`EJYCZ~X>L*HqdF!lVhkEW`Fq9e4udIWx`GQ$Y9AcR??P4SD z<^8gImR`!jUKVeZY?h#d{680&;c4XRn7UDTRDJ*CRTmzox!JM5H6L{@DwQ^)?oa>+ z9yEW>gr5d>kAKWCRTPE$?j}>*h6s4vK<+>G35V#uY!={hfiVUmAceP0d4hr1V5KCAib57Vc_0_ zKeX+S-n;U1?B{Ca^I8NqJa68NDn32SxEW_6I)m1og4 zRbD~~D|pA9?^NAnf#$DD-gvz^#F^~jhFYIOsjb{bOwN=m#wSc+)V+_Lf;-Mf0uRos z@a0xLSlvxJx^$ES{P|xHQ9di_)dv@#?Tidbj$eK zkyPN#`PW;kT&a0`g-f2*C-IrGlkY4)hQV0ddhSMXo}O-oP*j618qil1HsXQKC@eE1NaAPo8@_IL$uo`yef8$I-GVW%rd zho;gYkgco7xj~PsJoNR$@g}+rYRSBSmL;(wUNGb{D>*V^zF6DciFr<{*YQc#XPY0y zud45@9};B15QI~7+5Z0zZX<*XK~1?}_Eo1h7lB7xnVhY?;4}L+o5Xq5ZtDaBKUf$c z9sO$@2LhwjlI1`7b2eTjfrYI|(EAe2trFkox)(^j(tRaqDeA{STzH#L$I_q+bDQ!_ zbEcX&q*`Q+AVe!27;W8SZqt^2jib83B^8mZ*p2fC(0eS+U6XkFg7q4au3BJiNVu!C zV)W@=*|yEnuW=+w-VPDCp2wRp21T6ie1+zkFEESrcBN3OD~7*0>_;HjDf^n2&w2|%Esu_46s#g9Tg7FBsUNPZ+Q`NL5B zLEBX|ru}^_(gw00F_L?sxxP#GT}T)u+OO7smI@k(4899sUzxY8HJ%Y>w7UctxmhQM zB$$rzUjw?>Ip~@F2Fw$cXW?mLa~iG1%b$-Ngd|7(`k-7>sw-}a1QN||uI5jTSwz7!yyx~}doe$uM(7WBk$%(V)kC;xH4npW{V7x*1w zZdG;vtcISO3H)gR>qg2jrBOx~+#eh@m7SlS(>kpiF7rqA8=o)2=XzQ&L5da+R(Yxg zE0xHRaleN)+SmYY@>-+oh1pA3YQF>YtYdjbK9Tl~(kr#;O~;ti;8)0XDr%OWxIYpC z3)=55&6chv>C_8{rJ-D*oaaMD(5OiZ7qg~%LY_Ly*sp7evN!8B)^j_8aL2vv2Sib% zR-H}Zqxz0_g0Hma155^WYfMsBfbb8z8lq%qTm#_ucqM(^R3b!KGz*%xxVoY9cA-Ie zw>Zg37N}}lW9uXm>N@d;D8smSZaJaK`nvRAB diff --git a/adapters/fabric/logs/2026-07-26-4.log.gz b/adapters/fabric/logs/2026-07-26-4.log.gz deleted file mode 100644 index bdeb94c122b5ec1ff23fe554eaf5b4987be65b9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2034 zcmZw5X*?4S1Hf_1k>x6sGi%8ttHi`c%ROm{97$+7b8JJx5F2go^Y4jl$g#QQC}bFk z{NS`85l=CQI7j8^C`W<i{i9<sH_7HpV+V@M=cN3ij~91G`dd=830%!DC@*=C0-!f#R*Vvsa@APgxGN-yy>7#X_;{ z6U9=mU&&;G($>6j?bo}e<~;HjR`H@kJ)Xn#0FCq&->!fwRuqf=NzY;Gl2PNpQq#)S zPp4U9jU$G^ccp0nMZ)Ws;gMk{u6^<8$^#}R+lZ>s+uv^Q##|~?d<6TMK*oq&2=Ykb zN`N;A+jwzd5AO-Ony5$5c@#fjg@d^$C@UTLZ)2uYb`-Ec<3H;ox>J5hW3tjk=>?-K zVC0)}9M+}4WqON=2Vqghw(Ulo{k&VFee2&WgZ&bb>cezQrqIA;VE)rrlK7Edtq)Kpy0RJeQeR z(w;BBI;gT|=DDKD+r6vSAq=#%T1iE?F{!kD^vN?qY^KR$vJZ3OA#9O%#5YMqkFPqc zNyoh8a^bKPjTL@>`m9K1kkpFTtfJ9}MZ3ix^BHB!x8L%Eyi0eKFF=r8;HrCM@7c|qLx`E>MQhjSF9niSCywJ`znV4{v9Ifyzq>XVBPOF#< zwN@S9cMNz^TW?!j5_^~l2~78H^?&T*DN)OTJ(vN5sUzHptUv=Pvft#a#Ud#3;=irrf70l)!Xg9i4f~+WxXgORfa)fD<*D(FId21G> zCrOKKL;Fh2nP+h|mdZZ_FIGefyh>}Y`#9q5BNF-)J6mDb$@T`yhE2sfwb&a^9orYw ztU%`)Fui=F537$(c9FV_f!7aAOHNbbS+I5iGEQMDOAr|elIdesNTrIp!7K#iR8qd_ zer)bY_ifQTVn@&#lB>^Bgyo7cN=cnbysDkbI3UD3T}_992Pz=2H{NMo1u?b^sSbSo zY8CmF{gDEE29xSq6fwyO4}S*61+1_R5o?2Z8w{Z^D&`uNVM67>{GTp+ZyCiTii4Dp zcS7>FjejP8mTyD-|HwxFOsr!w1Y1Gll-}$aiGV>4D?q*l6`sfg0wP62&TSj7CeQpC zzpqngl$G8`@l{W+iH4q$j8EBC8k|CuUMGHtOjbxBhzZ?3aGP27{@^$LLg`-)HD035 zN3>*Qvew;s&ghi#yPu1?3GEvF8iwM{qTG<>jvs2JkX6m|s!JJefL@QcwTB$ZCy=ez5AKipTIDeQxMiugpQ!25?k;O*~T7z0T6LA;lTp{u diff --git a/adapters/fabric/logs/latest.log b/adapters/fabric/logs/latest.log deleted file mode 100644 index 24f32e414..000000000 --- a/adapters/fabric/logs/latest.log +++ /dev/null @@ -1,488 +0,0 @@ -[19:35:02] [Test worker/WARN]: Iris cannot resolve the biome id for 'minecraft:plains' before the Minecraft server is available; using biome id 0 -[19:35:02] [Test worker/WARN]: Iris cannot enumerate the biome registry before the Minecraft server is available; returning no biomes -[19:35:02] [Test worker/INFO]: [STDERR]: [Iris/WARN] Can't find block data for minecraft:definitely_not_a_real_block -[19:35:02] [Test worker/INFO]: [STDERR]: [Iris/WARN] Can't find block data for minecraft:minecraft:definitely_not_a_real_block -[19:35:02] [Test worker/INFO]: [STDERR]: [Iris/WARN] Block 'minecraft:oak_log' rejected state 'not_a_property=x'; using its default state -[19:35:02] [Test worker/INFO]: Iris registered custom content provider 'iris_deferred_test' -[19:35:02] [Test worker/WARN]: Iris persistent dimension registry entry 1 in /var/folders/l1/g6lr3c5x26z_mdmtfzt9gjbr0000gn/T/iris-dimension-registry-partial7029509183426900057/iris-dimensions.json is invalid (entry 1 in /var/folders/l1/g6lr3c5x26z_mdmtfzt9gjbr0000gn/T/iris-dimension-registry-partial7029509183426900057/iris-dimensions.json has no dimension); kept verbatim: {"id":"iris:broken","pack":"overworld"} -[19:35:02] [Test worker/ERROR]: Iris persistent dimension registry at /var/folders/l1/g6lr3c5x26z_mdmtfzt9gjbr0000gn/T/iris-dimension-registry-corrupt-boot10459791259189814912/iris-dimensions.json is corrupt; quarantining it and continuing boot -java.lang.IllegalStateException: Iris persistent dimension registry at /var/folders/l1/g6lr3c5x26z_mdmtfzt9gjbr0000gn/T/iris-dimension-registry-corrupt-boot10459791259189814912/iris-dimensions.json could not be read; refusing to discard persistent worlds - at art.arcane.iris.modded.ModdedDimensionRegistryStore.contents(ModdedDimensionRegistryStore.java:150) - at art.arcane.iris.modded.ModdedDimensionRegistryStore.load(ModdedDimensionRegistryStore.java:56) - at art.arcane.iris.modded.ModdedDimensionRegistryStore.loadForStartup(ModdedDimensionRegistryStore.java:69) - at art.arcane.iris.modded.ModdedDimensionRegistryStoreTest.startupLoadQuarantinesACorruptRegistryInsteadOfFailingBoot(ModdedDimensionRegistryStoreTest.java:99) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) -Caused by: art.arcane.volmlib.util.json.JSONException: A JSONObject text must end with '}' at 34 [character 35 line 1] - at art.arcane.volmlib.util.json.JSONTokener.syntaxError(JSONTokener.java:414) - at art.arcane.volmlib.util.json.JSONObject.(JSONObject.java:145) - at art.arcane.volmlib.util.json.JSONTokener.nextValue(JSONTokener.java:345) - at art.arcane.volmlib.util.json.JSONArray.(JSONArray.java:111) - at art.arcane.volmlib.util.json.JSONTokener.nextValue(JSONTokener.java:348) - at art.arcane.volmlib.util.json.JSONObject.(JSONObject.java:159) - at art.arcane.volmlib.util.json.JSONObject.(JSONObject.java:260) - at art.arcane.iris.modded.ModdedDimensionRegistryStore.contents(ModdedDimensionRegistryStore.java:117) - ... 45 more -[19:35:02] [Test worker/ERROR]: Iris lost 1 persistent dimension(s) from the corrupt registry: iris:lost -[19:35:02] [Test worker/ERROR]: Iris moved the corrupt persistent dimension registry to /var/folders/l1/g6lr3c5x26z_mdmtfzt9gjbr0000gn/T/iris-dimension-registry-corrupt-boot10459791259189814912/iris-dimensions.json.broken-1787182502612 -[19:35:02] [Test worker/ERROR]: Iris service onDisable failed for art.arcane.iris.modded.ModdedServiceManagerTest$SecondService -java.lang.RuntimeException: second disable failed - at art.arcane.iris.modded.ModdedServiceManagerTest.disableAttemptsEveryServiceInReverseOrderAndNeverRethrows(ModdedServiceManagerTest.java:55) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) -[19:35:02] [Test worker/ERROR]: Iris service onDisable failed for art.arcane.iris.modded.ModdedServiceManagerTest$FirstService -java.lang.RuntimeException: first disable failed - at art.arcane.iris.modded.ModdedServiceManagerTest.disableAttemptsEveryServiceInReverseOrderAndNeverRethrows(ModdedServiceManagerTest.java:54) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) -[19:35:02] [Test worker/ERROR]: Iris disabled all services with 2 failure(s) -java.lang.RuntimeException: second disable failed - at art.arcane.iris.modded.ModdedServiceManagerTest.disableAttemptsEveryServiceInReverseOrderAndNeverRethrows(ModdedServiceManagerTest.java:55) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) - Suppressed: java.lang.RuntimeException: first disable failed - at art.arcane.iris.modded.ModdedServiceManagerTest.disableAttemptsEveryServiceInReverseOrderAndNeverRethrows(ModdedServiceManagerTest.java:54) - ... 42 more -[19:35:02] [Test worker/ERROR]: Iris service rollback failed for art.arcane.iris.modded.ModdedServiceManagerTest$SecondService -java.lang.RuntimeException: cleanup failed - at art.arcane.iris.modded.ModdedServiceManagerTest.rollsBackEnabledServicesAndPreservesCleanupFailures(ModdedServiceManagerTest.java:32) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) -[19:35:02] [Test worker/ERROR]: Iris service onEnable failed for art.arcane.iris.modded.ModdedServiceManagerTest$SecondService -java.lang.RuntimeException: enable failed - at art.arcane.iris.modded.ModdedServiceManagerTest.rollsBackEnabledServicesAndPreservesCleanupFailures(ModdedServiceManagerTest.java:31) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) - Suppressed: java.lang.RuntimeException: cleanup failed - at art.arcane.iris.modded.ModdedServiceManagerTest.rollsBackEnabledServicesAndPreservesCleanupFailures(ModdedServiceManagerTest.java:32) - ... 42 more -[19:35:02] [Test worker/ERROR]: [worldcheck] server stop request failed -java.lang.IllegalStateException: stop request failed - at art.arcane.iris.modded.ModdedWorldCheckTest.lambda$stopRequestFailureForcesNonzeroResult$1(ModdedWorldCheckTest.java:238) - at art.arcane.iris.modded.ModdedWorldCheck.runAndRequestStop(ModdedWorldCheck.java:144) - at art.arcane.iris.modded.ModdedWorldCheckTest.stopRequestFailureForcesNonzeroResult(ModdedWorldCheckTest.java:235) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) -[19:35:02] [Test worker/ERROR]: [worldcheck] waiting for server shutdown failed -java.lang.IllegalStateException: shutdown wait failed - at art.arcane.iris.modded.ModdedWorldCheckTest.lambda$shutdownWaitFailureForcesNonzeroExit$0(ModdedWorldCheckTest.java:264) - at art.arcane.iris.modded.ModdedWorldCheck.awaitStopAndExit(ModdedWorldCheck.java:159) - at art.arcane.iris.modded.ModdedWorldCheckTest.shutdownWaitFailureForcesNonzeroExit(ModdedWorldCheckTest.java:262) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) -[19:35:02] [Test worker/ERROR]: [worldcheck] check failed -java.lang.IllegalStateException: check failed - at art.arcane.iris.modded.ModdedWorldCheckTest.lambda$thrownCheckStillRequestsStop$0(ModdedWorldCheckTest.java:224) - at art.arcane.iris.modded.ModdedWorldCheck.runAndRequestStop(ModdedWorldCheck.java:139) - at art.arcane.iris.modded.ModdedWorldCheckTest.thrownCheckStillRequestsStop(ModdedWorldCheckTest.java:222) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) -[19:35:02] [Test worker/INFO]: Iris registered custom content provider 'iris_discovery_success' -[19:35:02] [Test worker/WARN]: Iris custom content provider discovery failed at provider 'iris_discovery_failure' (art.arcane.iris.modded.api.ModdedCustomContentRegistryTest$TestProvider) -java.lang.RuntimeException: provider init failed - at art.arcane.iris.modded.api.ModdedCustomContentRegistryTest.failedDiscoveryPublishesNothingAndPreservesTheCause(ModdedCustomContentRegistryTest.java:39) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) -[19:35:02] [Test worker/INFO]: Iris object undo service ready (bounded to 32 paste(s) per player) -[19:35:02] [Test worker/INFO]: [STDOUT]: [Iris/INFO] Iris /iris command tree registered -[19:35:02] [Test worker/INFO]: [STDOUT]: [Iris/INFO] Iris /iris command tree registered diff --git a/adapters/forge/logs/2026-07-13-2.log.gz b/adapters/forge/logs/2026-07-13-2.log.gz deleted file mode 100644 index a68c49bc430bce9e86b15185b1ea92adee27cd1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1293 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 E089dNZvX%Q diff --git a/adapters/forge/logs/2026-07-13-4.log.gz b/adapters/forge/logs/2026-07-13-4.log.gz deleted file mode 100644 index 78a0d89ea737e2839796a87cb92bea6d16bedeee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1295 zcmV+q1@QVGiwFP!00000|Lt1KZreB%T~EJ43j_5m%2@I<-V`1unMu(kh20_xBPbY& zjuq3QhN2v&i~07sB&9fx93&zvQTxZ} z$C6yy2>7d84>u&#L?fL6P|V30<1UFVS@45!HX%_=MZ<39Vn{=Wjy?F@`e!Bw=4klw zrivkm$H6G@68WnFlqJ+ubGUc~O zb>Gl`xi6z>JaY4L`N;FoY8CBheF#Zf}PEaXIrz1LYiD?zveoDuA3U=^VYR;;{~X|sUEOe`qI=A^ z&hgtXy{g*P6W=R{dhdP}@s4BIf)Nh=Z2}iKT1H52`+kseDtLJ`INcC87L4nSQXMXu z*~%oFXE)*cd@@wSLassQmr-^4wW&t8k>J=BPsk@^?!zmbZ@+Ms9D_prwp-oYtE*nN zbw+&}`+`)nsI-edKeUUEa{srpV={nGHhX>)V&N_l7<*`l+fX*PkG8Lj& zd#zq!Ta_7qTac#P!nv=4j)=;31g@wTaPt)K`?}x+dzWxS$dWp}w~y0tqr{~z{?Ak{Mu)Cs_KN(#|UmyqcEhtj^SrZCc$^*ZFP@!$;3JT z4MY07b|hSTnDeKq)=)B1)uPB0>RE=YHPdh(9#U@p29#2pDd6mPia2w1wBv3S9qj@8 zGSIC#<4>B}A{L%ZG<)l5X$J{*sGyc$T?15})^xh@MWa=wHFY|*^)xIUkUAQqEJ;)( zrww|C$!UA|Sn8o;)HI`}88ywQX+}*mYMN2gjGAWDG^3^&HO;7LMolwnno-k?nr76r zH&WAjng79+s%h%6w{Eu6x~5(x796seDxM0T(&X$HNfoPHCu`N$$@c!=S?@5RtjxJm z*Ni}B1TrI#8G+0QWJVw}0+|uWj6h}tG9!=~fy@YGMj$f+nGwj0KvqW}`xnYU&z>nd F001<_guMU& diff --git a/adapters/forge/logs/2026-07-13-5.log.gz b/adapters/forge/logs/2026-07-13-5.log.gz deleted file mode 100644 index ab3a4c968c5a6368e2afa52cc3a5096a605d9100..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1293 zcmV+o1@ihIiwFP!00000|Lt1OZ{j!v?QTcYb_6r(0aYV6 zF(t*sS;wJt4*R$7vz?Sul9YtbXjk$9CGn5%d(VD;wm&hoJD(ETZna&@J|49CgN}>3 z-TsX={YqkCJuto?{OJ7h>zS`2xnswCsZ`-W-f*_bkMf@zgz!I<-i;b zKHgL@1o0#shJMOF0aJE(G>6@@CC3s6VO0)g=w4oy`q*xzzd!+m4G%Fz zoXjZk1Ud;gJT8csGyg9f`jiYkV2l}uwkx(E&5{<{>6Rl&KjsiV1xUuGQ8MK8OQCe# z?iLE;cj!I|10e@LBwP&~q3Dd`C6R%vJ2z}uKi2TUii|L&%@=J_f@6uVAU`s84SMKiAk2#WITZy!v6Rqky-kmlgm3a+i;X_u|W_VK|p`x93C%kj?vcI@hgBNg2v z#&wS0eCbuysh;>=LDYNqtB7|T!xoHi6l@Z>!0{qRa@!BWj8nnOqrvH#c!^+KZ9_6b=3ZU( zvaK`flOzzNnnk5u^!cGvbd>wQogLEwe6raO;s^_Gp2EnJjECh2q<~jpbEih{35CJ4 zi=7<=S$L8aWp&M*I-OMeKNsIV-XDJ?ZG*^)`|J$YN*qg^_2 z?f-@$y=^;Eu0728Q&npy8L4Vf>=f!*hO9N!a33BrZvF<8QkyB@>^Vi8xjI_6RYga8 zz<~^OYsUDKrZ!K6FB8q)dRo>&f*mTTrC8Shm8UhGt^?6%m1#|mQ(I5N(gCTXLCTUu zMRHo-Jxos9!^ct&+eS?@YMN2gjGAWDG^3^&HO;7LMolwnno-k?nr75Aqox@(&8TTc zO?xvn&8?!QsmI>B*;ebCdYPDW$YQE^A_7X&vtKM#ta6>KRbMCD`+sNdVM1A%bEU2s zfy@YGMj$f+nGwj0KxPCoBaj(^%m`#gATt7)5y*@{W&|=LkQsrjjzIP=vlQpkDLMcE Ds#$h2 diff --git a/adapters/forge/logs/2026-07-13-6.log.gz b/adapters/forge/logs/2026-07-13-6.log.gz deleted file mode 100644 index 06ab7744dc95596a5fe43e575aa3053e272818dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1296 zcmV+r1@HPFiwFP!00000|Lt1OZ{j!;l#JRBo=IGc`Otp6jsF9D)0%n z-Ura|yH93>L$mJ!5Z}L><}e=jk6$pJj>lKyXOvSYr@l8Q-r~lJ310y`kVas}--+xu z!vQ7!yL-ICh~n@Lol{EgFr5f2$m!Z6kqB5g$nEqS78d3LVea9OAZayPGT$dYx=@d6 zNj{R~(ni2v-uk#9p~f2N41f|&&KUPde96KegtIY;6Dk^ZGZ#Y|I&kcx->rY9a$s76 zk2h5eK|BeEp`Y?kz?2;x&0+U#$+5&iSd~K=x|f%wK6ZC}RI_x8W74|!7bt+R;UT7o zlNlwRKqmo*#|05{=KqC5pOT>mj4|WTcEuK?S<*r~-F7AE#~i|^0Lj=iN`{<%DU@!n zyM@B|9lB4#K*+%l30DJ0C_3YKNo3&a&JA1Ek2QR-A|p&`^F^DK;8@}-$PX^EJIH}@ zKG3f(IXA9sO`xi|RhmY84Hv&)4kTms)#z;CpOXj8U7!Xd5cfqpvWCj9LFh>yWS|aM7?*vig?E{Y{3Xe!6tzV94}%dxBVc@I2F7+8l0|)mk7r7MyU=L z&E3j0o9}MI_4#C|Mul8Q?k}Tq`?aZtx3S>Z6Hmw|WEQ|HoNvEymL7v5{kC1*+^efz zwsl5*k_3WOv#7L-K0kDdj&lFEvtv4dPd58O9AV+jQy6)Y@vt0$6!0o+?$qc#p)h!M zv9p693s175tge|;r<3Z@&&9Wo_s1W}Tjg4)9sM)IaIf6uDQT1L(fjj3^sOJW?n56( z(4dihLy&LgLI=-NT;+94)5`X6%D9bWW4pC^MGe*8Em$Vs!bQj)LTkbjxO~-En)+Ui zB6-4{7pfYZVTtW3OXVx+Yz{;Uck*$!0+pv6YO8Y4Plqm>AfZCE`GZ(0Nw<@ zR|ucZ=7u5#_2hvJ4b|Gv8w0$&V9Bq2cBiUNIC+fWHZ_bQ8t52)wq#O#Pu^DdXqQf$ z^WQL}zimg#wTC%>s%i}-BULSmokBg!khP{7?!!aI&EJ4hYBL3#eYc2nS4ZojcH6F^ zqdnk22D&w4{7F-rC&HJBW^X+$>mb1n71UC!YkcpTS5ec{V{hGTt94DiOw2iCF;zSf0j25LFP17+xlY!uuaoWlzq8(9LRpz} zrLGx)%m`#gATt7)5y*@{W&|=LkQsr@2xLYeGXj|r$c#W{1TrI#8G)>hK=vwNyE|~&1E+=B z{ro~ zt+zfj{OXYz;n3`>0K~U%rWuT#zO%=8F&^KJUrWT#ga&mk%CpNT{(!x&)w@lS{^365X)iJK=0hqL_+?-OR+010C4Cv)`?MrqVGd zgZKAU27-7T3Br@EmL-j zG@e^W+9V4<5w7aDcA326C7~#<0CUAkHMTF$G?*}QTf|o~wi#2g$!MNTi)#0Lf zSeaz=!%et8pA6M7m+Q3i%cwg2+El}bNO0_m4e~je`S1$o+fSS&$DmNZ?N&ESb=AwZ zj@Ku#FG#f!6?W0*2Pf|+_kTM(CJx+;+4G|i3wNHt$dinVr3Vtg+n{++qxXc|;5o!j z4}vT>Pm9vJW=5S(s;55}-##mkKa#h~wNN|yM~2~EdB{`HCfTFQ^Fj2jpVRI`4~Nj8 zk$yvvZ|6b>&nB+2Iwoml*PSwML)q9q*}kHN>fgy(CSQU@z@7qY!eY35)mWPPUX3K| zoqC0BRc8EcL7HxJ=e`O$A}ZSvxT0Re%~Qbd^PCgx-M|gukhI-^(;fynrgUrPboKl1xl&Ss zVP6KiHDi3Esm){I$wX6HPfI&Uuwwo_^BgpGw3Iz~-1YMN2gjGAWDG^3^&HO;7LMolwnno-k?nr75Aqox@(&8TTc zO?xFZt!wwHsA=j^S~uHiT~jX;a}HTd6;FguX>#_9q>5FnlXdIsWaa;NcAQXFWL%+X zMj$f+nGwj0KxPCoBaj(^%m`#gATt7)5y*@{W&|=LkQsr@2xLYet0R#83!(=LNGUo1 E0OWveC)rKWB!%4~2O}sL ziH;T1qL!i@r-%LRJ0vALjwDx-)1n1?;Ml0& z?%Z0_&m-gklY2iBgcHwl<4CZj<+4DKKv*GXE8ipB zdh0{OuO68Z4$Zy_Kz#dVnqhQM%kIBmJR6U%$ImFIP)2F%0Lj0gJIw${1X^Th9~9dN{%J=gQ^^Aprx$bYhy2Cqnf2V9Fe03Z-IOW8y;Ya zIGIu63Uumocw7=OXWl3zRw}t1W3xJQBvgOOQCeN z>ozEi-=l{(@P%}KK)7-oq3E3BC6R%vJ2z}uKi2U6ii|L&%@=JF0yX^#@?8hnZR9{X zAL!SYoLe{Tkni%~J4$4OW=^s8j8lPfubGL*&ekDi5%AEb0wa5e7#Yd+yM(k7p$o;A zK$8`wF;q2oO0|i{HB9`3IgpIiSEId!e_pQP+pQ`FrTBkQ<}N;bfuhcc;wVa(>@8D% zi!`2F2ihbHKN394GpP4^2FdEt+^61m%xV8*#$Fx5otWsTWtHQ-wtXnHjUw3DyqM;N z+i{f~Q8e?)K~R)8e&=8Uta5Jyf;0!eR&edO$Jw_Uo&Lcy`vX?{OaJEpckJo|M=H8U zjO!e~{nD$dT|M!A2hr}9LcHe~wqS%qf1AJsjusJ;+rA&9oC;nZ4bIlYjRoU+qg02B zX0|fP=GjfSKA#NLu#oGd^V6t0$F-@3cah-O6&vJJGV|dT&bOa9OO8RIe%q~Xmg=gP zZ5^*qVqcJIBih?VpC8&qN4eka?3g%kGiJ|^LM+^Q0wYf{E|wlh0I!2)rbh1xg~5}> zP7i`CI8BSvx@JzDPO2wA7T@ld#~;aCzp89TAo72wYJw;pQpe_j%3<_O9TDkR^3`uSuH4Zxsf>tKjzv z;gi|iQY4_RJdmNGS{r&}fR`66`L)mPRMiP5PZ8XvhG9s39mCI-OoH#q+iHn+$;3Io z#z2mD$B}TA7|!3ST0_Z5Rf{51sAn0n)>Om2drZ0cD^N;prhxOfQ^c98qdDCwI@%-l zWuRL##y6VUJQkizG^O>lw1WgYR8UK>ZU8DzYdTx|qS4x?HTAo-^)xIEkUAQqEJ;)( zr=7G8lhaDrxYxqAQPYf?X4EvJrWrNOsA)z`GisVq(~O#C)HI`}88ywQX+}*mYMN2g zUQJD_^shAaD6O0Aw63X_i8+TXriv%Rr!+bHMN-AuuakA_>tyBscXpUiw$He|rWt|E z2xLYeGXj|r$c#W{1TrI#8G+0QWJVw}0+|uWj6h}tG9!=~fvk=|_CH)Gg25>|002f& Be?R~L diff --git a/adapters/forge/logs/2026-07-13-9.log.gz b/adapters/forge/logs/2026-07-13-9.log.gz deleted file mode 100644 index 456446564deb979d4603c9d262daa87430d86ed3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1290 zcmV+l1@-zLiwFP!00000|Ls~$Z`(K!J#T-74hHHyl(FQm#FxVBB)ch^q_A7$U<3st z(XnD$)KZk=^sv8uhoof3v7}0JTC@NUh9rKx#~BWXHaYbd(lespv@u;kO?%I7kh8T*LgBMuklE=EEG*0g!ra9HL2}e+$vlsE=u$my zB>6~^%P|7}^3KBz2{qP8=KvIQa?ZF*qAM1BBb<#%6jRZ#o0%ALpaZ*i@~8FRR66Ep z@cy>SKoF0EVc;eF6Bx=KPs-7i982s6RXNl^OIcZHV{gw!HA{CmB1aG20{IX&Jiruj zGNZ&5=+x)%xFllEynk@uQ8ILaF=8CruGoS!3tDK>R!5S)&mi0cNXn*BQsm@Ip>(zD zHYkkWqlY-~g>-&ExN;n!=$zvvk%6l_H*8ry*6{v{j4-9m7i|&(HT??mT?g51yWYtc<57(k-bBVjO6-VLRyK?h2l$~ z$qLgLs+v2c+Qfbh6F*@NBxCi}Xm8=4muvWTtBOG>{$G^2iw|F*s57ECiV`M!%aq+B zjpx>ZHp#+|1kbVz>b;&pvU)W4srMao+CQ1GSBG#XCOT?aWq7Y`9|~=w2zE9vrdi?E zuaYD3W?nf6in7M<987>!?rlJjX5iNft{wL{MXS*{Ie2D&z-oW#{|w-cU47t4MfZqt zo#VG(dR4WnC%*3>+TBu!_Z-6(jBx006S%<9B0_T8_k)yE!ONq;*_ybqU|esM>TuEA zuS~M}{w7?XPljrk%XQrOX;htlZK~m2Bsg}(2KkiCe0YWP?I+HXV^FBycB`AEy6RrNTBp=@j)ZC_DC_3z{?lP|#{V2^<{VKH33YAj8CuSOE~ zM!mweDl`7JAWgTqb6*7=5tZ!-Tv0FK<|*L!dCm#;uHc5SPwMnulXM@yl^X!Bg5S%9 zPiAvVk$}4LK!%2DZRm{wUS6s8Xx90P+3~j+1eM4R*}|p(ygthVQGNW(I90>qC7e6 zxOJGER>HzaC*m~+Tts(2!NN|Uo+Bvq_povd45CoBKIv%`e4BI628GXj|r z$c#W{1TrI#8G+0QWJVw}0+|uWj6h}tG9!=~fy@YGMj$f+Ssj7wf3OL3_$fL706sQ} A3;+NC diff --git a/adapters/forge/logs/2026-07-14-2.log.gz b/adapters/forge/logs/2026-07-14-2.log.gz deleted file mode 100644 index e0be73a9f535e6837eeebb43cbf9988c13ab8e1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1293 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 E0Li#(fB*mh diff --git a/adapters/forge/logs/2026-07-15-11.log.gz b/adapters/forge/logs/2026-07-15-11.log.gz deleted file mode 100644 index 82438f88df3d750a14d5e42a8cbe5851f1ec6a12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1293 zcmV+o1@ihIiwFP!00000|Ls~$Z`(K!J#T-74hHHyl(FQm#+SnDB)ch^q_A7$U<3st z(Y9h*)KZk=^sv8uholt8v7}0}TkHZn7?Sw$-V8Y$k`JER-H$PKT29YuIRm>jaJs0~ z@7`I{FC-GyBjZcLPcE-7ZlLIr`_akWz>-gkler%W!ii_OaU|Hva#E+hi2adAijMw&0uuw&MU_A@%U!^f^rJw)N>caUEWy{;cI{g(h$t}JC^-s z*r&vM^MKbFQ5?+CC8cDJ=|o^b&NnUzh0lUPW~bki5m3rJt z@{uH$HUj?Y-op(EHP%QM02Fg_!MIDJYZiPboQ+8oQ_--SnHbX0fz$5(Zv8Wr19LL? za970;#N%KXcnSXmOxfen9Cp7aIab&Ys&XhpOLgrI7%>iQ*KA3e1ueAGt&Sx9kU{tyASs(hNs*H;h0^VH zcTgCgqlY-~g&h2Va5Zp*q6>~!L=vM^VCLZ<(@N zr19K3&?i~=iQrk5L%riUB&$aYpL#!Vr~Qi=dvyqRVxps#RmSMG?L(n$6v58s#WXA2 z`c-m7-ps23f}$+@or4Lm%DoK;(hU4s!L>6yPSI*~P7j{hpRn3rkADVm$F6QTQqetP zT<7@hmtIxv>WS|Mh<3LW;+$jHf)Nh=Z2}iKT1H52`+kseDtLJ`INuOA7L4nSQXMXu z`;|#H-`|Am^T|*RbGhDkei>D#Uz=)p9|?|K@r-;%Wa`Svqs$uTI@Z@bmaQeE}3 ztuyMA*cYUlMTK4T`JtV6l>5J(9g_ikw%PNe5DRyaz{rz~i{%I;fHy&NuSV|)xxurK zogM^PaF!OOb}9X!u*mDMpxE4#xf<2ICy?UU^*YN-C5oMrMgSO)AduqG^q%U6x1sqfWD z!rrP^*j8o6-xj3lHh1o;pd+HP9f2$A72G@p{JtzW!QM685cWx(-Z4q{@msk8a1{Jr zE_^bZTZ#nKl?O63RBJ;ovJ$FfE}1yz zzhOv!*N%j%ggJkzY7HeLRV|9WLOsinwWb>G-DAqlk3cE4nHs>k|~jGAWDG^3^&HO;7LMolwnno-k?nr75Aqox@(&8TTcO*3kmQPYf? zb__MG?Nm|I)T6X+w$r+%UM3bCvY0BK2%pmA>=#KDt5_#<>g#0X|95tnP*&tzk!!XQ z$c#W{1TrI#8G+0QWJVw}0+|uWj6h}tG9!=~fy@YGMj$f+nGwk92xR{P6oIhkDLMcE DMa6uv diff --git a/adapters/forge/logs/2026-07-15-12.log.gz b/adapters/forge/logs/2026-07-15-12.log.gz deleted file mode 100644 index 5b7d15e90db7d942a4c7860440b5e36291d48055..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1295 zcmV+q1@QVGiwFP!00000|Lt1KZreB%T~EJ43j_5m%1E+oC*BkuCz(mnB!%4~3nM5P ziH;T1qK2Xzr;GXa;Y)FBJz~jeF#~X6NaEw1d&$d7^1xH4`zgh)?e;9&8MvK+-2?q@ z@79`rMG3PW30)w1ba8cl&5JH*m>k^>Eb+7`x(^eEC<-h;O&D2PK8YBLm=#m93Ijx~ z_aSfiJwP)=d9&|~Bfft(%`x_YZQDDHXXEkp_yy&Zm*c>nBY$ygC5Wy#JSUC08Gomu z-wcKr1@9i<3IYtHdvJjjOX zZUp&AkP90*{_-w>Ede!FNaq|VrRbbcA0<~L`hh4Jqa?+w<+KYigrNi1IsV=HXDSBf zXz=m2jv;`i(J%@$|Ad>8<53(=zb81BFpTPQNJIDXveL(H&PO>*cQ8Rm55WS2JZxwL zF`#IMkD6c(C3T^p}g&iEKs|mg>u^V1nI{D!sh_V*c3{JtiL2m zx7Xc5A@m+Rq*2Jk;75qcfkPOaQ@BJTa8>7)BkIQrK3t&@#JIiFMiZO}dn`VJn6}8bdEgyJqCvZ$SdENZgR;_1Jz{6;7?Xta;HMHNdxtogi1oYVX(a&{ zl21dU6~rm8YHyY5h;QKH7f3nDSbnuS8~B&y3ch34aVW$80~3Go=^HQdMi?fEW^y)6 z#VxXUwh#146n;ibq0ON3zz!^*y2@u&v8}MQKyyd;S_Nji^k5;<`uMLf3IYje2W$ld5o+HN%`fg!O~Rs zY9L^5>^JM(@bxsisuJ{chPwMvGk~EKRmj=L_ z;P*=5^=xh^G^j5QWMC-QhT0hT%MMF%?Tb5AeZt98!f#W?(Ja zI@%))MW9tuFwooxUAogF5WRXJDb zni0s1KxPCoBaj(^%m`#gATt7)5y*@{W&|=LkQsr@2xLYeGXj|r$eIXb{{p3@)W9h^ F008K)cp3lz diff --git a/adapters/forge/logs/2026-07-15-2.log.gz b/adapters/forge/logs/2026-07-15-2.log.gz deleted file mode 100644 index 6add339ae1ba044f9995b4bc8330b31d1d8051fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1656 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 diff --git a/adapters/forge/logs/2026-07-15-4.log.gz b/adapters/forge/logs/2026-07-15-4.log.gz deleted file mode 100644 index 20533f63dbd89885510e2300bed98df9b4c81510..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1654 zcmZw5c{mda003~~kuzN+L#|x)+M@}tM3f_QWKGK)9W+NIhA;PoG&NTqQK_-HZT6`4 zTv^W=<{XPn+1kPwDh1`+xEcw;lW^@+=)C0i2XbXs`y zbd|S~)IaD$c)Wt{ZLahpaiTLmy7@uDkP#nBRUZZoch%zJ^f2!@=qd+YFFhv%B~vut z)QS9r|GQg}+pm_$ufOO|-v!p^%*e%hzlr!3XpwhYJsNYM{h4(yb9868Lh0AcT;1R!-|d( zrfL`Xg5jYdy0F;$`XO={_xoe6*#l_HJsUVn!#U~g=PK>h@GS8>?tv{f^Qf1kHCN03 z$q9T>E%|1hr9JB`XY<|qnoF`IW`)O6?Pu_ItHgdcD#Q7FRMESJv8B}fSvqelSm0;U zl~i`97ajXrh&lRNm!sxxT_^|oYk9t&7{wh{{^{WIz<6T`BX(mDZnvP<1i!Wg*mlGD z+%0oDFYD zimIjI{l%xcA@xj-|H5}KH*6|}l;X7P9AAgcxcn6V{>5Zalb_Ae__l!rATht#rzpvY zJ=y#GFgw(h@;7J7GM;;#an|hmv2FJVm&%ZoM*9Not$o&U)(PHbYR@~CMEZ1Gaidv7 zq~`ck^~TN|J8^SjNnKjSE(V|4K;}%m^AAEgSD^Bnn`>}lq1|Gd4i|167BT}X0Ex5J zo}UlUh=(xy>rcf`)Bb2le$#PIjoA$)L%Lj;x%MtYWk;q>5yw0?Nto8D+q1q=4Zre1 zDr6KQNxTSm{WIhgP7eqoEmZFWdfWE&;FFx_c}X8rF|$jrFUVa5eQU?hGTSMS-5zah zIObpn*(Bh-Kj2XF=G0XPEI4NC*f?|ijt+B#wvuBM@#(P7e>Ie zhAIi{^0C4Q&GXG8pF&I8q8llR`A<&H+!H{y%|=D>{op*_rS9ENeS1RnhlyyY0M8Or z2?1B3ZwVQmfC|}@^0$;H50K3NClI7M8@@4?LiWx?L+7&bGg-<_oh=dt0|DwZlCZn7 zce*KEqMX=%@eA0;+jmF8TCt((8e9>@BvTouNhp>bUI1XW+*Adf_8S+%h^fra&Ob++ zxUY(izg3H}u;&u6b~h~0c^;bE&bGk4g+5a;71<|6LDOgYSAWOIjkYu{`_w!5Irj-e z+-C&)b??VpGaQc&#`1M|+tydJ-YTN^${PLTqWEx+mccJh{|#zqXE#ec!3)c`9Y;rh zLJX9#jSJCU;F7!ktg}FlMlJqTmpSx&qflc0_z}y5H9pv#?^jZD%^ol~dZ~ZRDb%(} zyqv?dVBBG<{%j>%t^igG(;fl82zO*=5CEQXKgO$F<=?u#OuP)At+KK~gm)eR74L5* zmznDg6pTqkrr=&SqpxGh?uvA6C_yf?!sK;$#BmubnGhMeOaVY&&QT#lRp!u-LEZ+C zr5^?pHWvXeSEin>%!v&x5h1I=d*}_CJEl>g{wgJ>>w#a=x)Vk{OliukUZC3pgdCT& zunAY1{MOV}i^wm=KpHI8)!A|sl;QqtC3uIuB+XL2W9atPx*~xC_)A`(LO)ml(hqj* Z%18mM%l;T`YU>;7RuJ|L+c+7Se*lC8L#qG) diff --git a/adapters/forge/logs/2026-07-15-5.log.gz b/adapters/forge/logs/2026-07-15-5.log.gz deleted file mode 100644 index 229e3c92a19ce83e736ba6904d57796bb2baed54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1659 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 YRnMt(;al3f$N~7 ze(%PbekQT79vEK`esF$yb_GS}Jcti&29|tUoZJPmAe{J?m&AfCEsuqQgu;qATLnJh z*4qFYe)Y+WaA@{b0OH#>(;UWQ*LlHsIv!t*pHWVsoci9Jc#9h=CVU0(KpKG=|0c5E z3Z|?C5BZ|X2bWSO`!*n9BAg61OL?U3}Ah**WSXh_~gt>=9f~3`G$$X#q=t4cN zCHY8_OB(@ydF$hrgc@t4GXP3BIb+--@g)nt5zfXWPN-aU0;cTnXb$_ZFFBSt2Z7ycqnf2#9Fv24e}MuB8y;ec zIGIu633L*0cw7)MXZ}Ap^eGv7z!)A~AwqLYK363Scf_ yNets z=L7xvl5;amTjbk3_?8mcpq*2!N5-i^S?XpwVyEkfvKV;iV}X@ zOQFdM(*&y8Tcv5lH*oP2=0Gx5U#;#2{&~5E?{?}ql;QtHnYZ}x1&Z7e#c`Z6*&C+( z7Fj%Z_Vh^>ek6F7=TQIk9Fo8^y4*`3cPn zx5GL)qG;yT06|fn{m$M5SmoXp1ZfU_qu|;a9;a+II>&p@>Y{3Xe!6tzV94}%dxBVc@I2F7+8l0|)mk7r7MyU=L z?cK^Wo9}MI&G}@gMul8Q?oXp~4;xbrZ)3r+C!UZ`$SiH zwoOKTk_3X(v#7L-K0kDej&i@-*)bi!C!75sj8Ml#aY#(f1QA_oA3zo^3a1pYH(3-FWE?*6nroLAr z345(xVOy0Me^Zd9+rqi8gN}&Gb_A}d7jW|w@cTUH1pAk8L)ayC`mag4i{B{>fLFoq z7s98rxuHlwJ$WEQL$x;a#sDubSn_M1-KpvmP99^pO%0=n20DhHEtwSGleg6h?b3;J zehotox9v!|Dwy-Ps@704Qq`i^Db%wJS!=4{-aTa8{1qsrHdDZP=oWG2>u5)HbhHN? z$UwJdj6Z2=^F;VE(NxycvJMh#UqLO!x(28`t?6_fh*qaeYwFvL^)xIUkUAQqEJ;)( zrybk-$!QgQEb~xHMn+9DYMN2gjGAWDG^3^&HO;7LMolwnno-k?nr75Aqox@(&8TTc zO?wSBt>@NJ)6}D~Zno9BpZyxXpBZ|X&bU`V($8;jFAZKfjL?U3}Ah*+RSXh_~gt>=9f~3`G$$X#q=u$my zB>6~^OB(@ydFSJngc@t4a{x*>IcMA>@f8cd6VApYPN-aU0;cToXb$_>l^jbPgmpQTp_RNW_0ie$QO(jFj>*x3zd!+m4G%Fz zoXjZk1Ud~kJT8ftGyg9f`jiYkV2l}uwkx(E?UEMS=}u3Qe#jww4v>sZqh!eGmqO{g z{Vf#6@6kgN20{*gNVpm}LeV+LOCkeTcW&9Teyrhx6&Ybl+dFMif)k0aAm8RN$n0h?B8gze`9fF}hHE zDKuGOnm|>1t2B-H1}=Wa97x9MtJU4Wzbx1A-A)~cGWi_J%3H zMHbJU1AUT(p9r4iIpn^cL$Z1_52*hGce=lr(QQJw6%#$Rta3)LYaa@2qZoEJKcRWy zc3dY%6wSOEASlYS-#M57tK8dyAkD#V6kJ=wjJdv<-pk&5mS z<2uK0zVxc<)=zvtK(zan5brsLEg0b_*d%a)<3)_*wjYEUr-GM9gR?d962Z9MDAnPj zyH zwoOKTk_3X(v#7L-K0kDej&lFEvtv4d&o=u(9AV+jQy6)Y@vt0$6!1E1@73r%p)h#% zv9p693s1A6tgf9?r<3aYpNnswRL395Tjg4)9sLu-aIf6wDQT1L(bf4N`qocb_o0s? zXwb^OA;>p#p@Zi+uJSsjX=QsjW!y%xv3<08MJ?68SFlXJhKrCrhSr27aQSMmH1)k2 zN!T0p3frp8_?v<(-4@P$9dtxgwj*#wy@Z>mfZvxnC)mG&8^S)R8K7OY#0A2;( zErd^Jb3>7Wdh$SqhH7o-jR9VESn_LM+^OmlPM%`8O%0=n20DgcESVJFleg6h?b3;J z{u_oIZ`+Y_RWRpIRjr|9q^d=+SEy$hves0?y?e~K`72OLZKiuFgB33jNUmSWuiRG!v!whlzAQ>Hb!c4IvaO9!Nm1}RGt z70GEQ_F-~b1s}^i)RK`=(~O#C)HI`}88ywQX+}*mYMN2gjGAWDG^3^&HO;7LMolwn zno-kULrt@Lb<{NVsH~f9wQi`Fi8+TXriv#bpfo-E#Ztv8*U6mbI$8DqogF5Wl{r`D znr#F!Baj(^%m`#gATt7)5y*@{W&|=LkQsr@2xLYeGXj|r$c#W{1hOUq*}vA#Cd?^1 F001J1b4UOH diff --git a/adapters/forge/logs/2026-07-15-9.log.gz b/adapters/forge/logs/2026-07-15-9.log.gz deleted file mode 100644 index 854f43e557b8c6485493b87e9f2b7fb906cd342f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1294 zcmV+p1@ZbHiwFP!00000|Ls~$Z`(K!J#T-74hHHyl(yur+LyxXB)ch^q_A7$U<3st z(XnD$)KZk=^sv8uholt8v7}0JTI>Qm7?Sw$-V8Y$k`JESy^k?<+D_kUJENX6>e{Gp z4{oga7ZM5Uf$DBZZz}zCnAYgS zO%+2BkArdGCHylm<$yOgYYRpQZ|i}A}3!8rPuH6 zp)h`j?&H80a_|Gf)xZ&o&NyBZ8MwN0!PWF#+GLq|e4QVAp=ZY_Z zCL2s+sA}$&CJ|r5#m|@n$y9wcIy?C1f=`^>P{$*qJ+ubF=e+% zixi-&M#){*CE`CiLP2!8Kc*+kA=2T1Us7-)2whC zRLK!}Gp_~+in8o?jwZk=_ckC%Gw^E#*WU0rMXS*n9zC-^VYR;;{|w-+UEOe`qI<%) z&hfi1y{bCZ6WdJ`0xtn+s~XO$DmNZ?N>KTb=AwZ z&Zy5~Uyy1R6?W0*hfdy6?*DdnOa}1DX3vj8EZk)RBTq6emLre=UIopA8oejv2G1dO zdJts6Nm`WFH8bjTQhon(@$F%G{E56(ZiU*>KQRpV%0r%lHpw1co)4mL`o(Z73Vtt=%hXsQ%rYW%4yx1?(ZPW-NxwSB<5q@6|}c zUaMEwR%OQD6{P7lckZj8Bcie$fh+0-+&l&RzAQPx-X+`+4oRK~yGtqr{~z{?Ak?Am8{s_KNZ#|Umy<1nPYj^SrZCc$^*ZM8(ZWa6Cv zh9QG}I})xE=KQIuHI$50wI~h>^(;fynrpas4=Fc)1xl&SfYi|-Wl5qu zIc;bkC#RM0vB*O$85uRrsA)z`GisVq(~O#C)HI`}88ywQX+}*mYMN2gjGAWDG^3^& zHSIOjG`n3zO;eB3y4haqntGX7a>!z;cqV*Gle1qWRjgv2%&D)FmH*$_aY9*cA_ zda7TpXlbq)L;7LZ^J{a2NAL4_fByRZ`32`F%Khu7q>L9c3RUamN$^uUO+$g+XI0QG zBs68QnqR3&WZgqlSB$vbP;J6cTpR9f3D;a3Ac2e#d+TvpJpB2}baEAo1>VketsfV4 zW;Wv_Oup4&(zpW)xltBx@o5F5PnD^VPaaU1Ehdyh#Qp&3?EJj{~*T-kXVp+QX~LnA-DSnSaCI$-RD< z2|3Wg$bDeyKtNo$Q#W=acDsuXoQZ&2M%7bYcWsQmFh2G3AVH4ukH6{Fmo)fsR7so%!ts;UL0Qa}UUklmDX z0Z00ty+=ip*6KnC+fGQ-;?-Fl=~+yjEV9`8p-y?_gsMVN$EwiLJSs03f8u#1gW?r5yj*s(+oj1B| zGL$4B{2^GA5RZj!E!m- zwlGpp{>`7wjluKn&WtVlj!Ov-26FAXZ(T|{cJ7B|#LUe_riYeIf>7Xac8_~Q<*8?W zg#^%GJZ$)l@L6PP4S4Vn})GaqyKp z1XYZ)IzKdYu*@nl`0|LYZvZ8WJ#m_*kAEMgVVn60>XzBrR6<|9LM1j%^y)?Yk@x|x zAM)|Kcx0G^D)EzO*q8@+)Bs?3{S42a`<+8*IZ>?azqv;2>JPU@*X`+B z=ZE0Dtk8XxU3#OQS>6ky^rX$gupC?Xr%4QX#R8{5cyJ*z-%tH>PS zix#mis}Waj&SfvBF|1}zW$f|~aG8Q3&gGY6 c#Yh(qe^YoH@@tG{-QH4At16O*#>mP20~gpZU;qFB diff --git a/adapters/forge/logs/2026-07-16-2.log.gz b/adapters/forge/logs/2026-07-16-2.log.gz deleted file mode 100644 index 6e318dc28e65fa5fa1672c0235cb2bd869033d56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1656 zcmZw5c{~$}0|4+j>M0==ArEC}uSce(=~+L#UdHgs-3qyHHZ#|pWmwCUBWBJrevWcA zB@B6Pl3k7&h6=M`Jk>*fpU>~lU%&64UrnM6;J*%p#kS#G=<&2MVf}}0vyOD5r*)Hr zi+`*F+dzfJ4R^MWOCQn(HwGbD*||Auo=Lmn-hSzlV<``OuIVupG=zSiRWV;yx`NtHQe=2qCc`~%< zRvhs`H6~rVW_w*F+Av>c3(zke=mhchgj+-gUh8XF)FExc_{gfuxRY5k>Ao9Sc~w;)f6RZjVjV5PYPUIjg@|n>sshg+r0fKeB~JdO6a*@xBV(Z1xdzG zvum27s9+e!d}6of+ZQBm``(7A@7T}?Us*O{L%Zl1oF}W{{Seyv9Qb${vaq_CJ#a+! z;2j!1XjPV`rQ#C$ImCMU3{u7R^?oDu{Fe)M z8^)BI*6HP3a+ey+WR93d?G)V9&6Q86Dewu;w>nDDAy?CW`G6lEw#hN6tgZ>F&z%PC zye?Q!`eg0nL#Mq(Y>f>!$A}>0n_&kq-|p=m7pEl!kn%Z)hy!Dm zrXzpvTsi9oE4mJe_q@vUsGH>8KsFRm9jKVN`Vv3s+?-ODD z5K-i*PyC`@tFOWbB6U%OUPrACp(Xld;D{indrJF={ootk`2#zrTWzjn->n7R_Kp&H zc7?rQ;K0{DF)6q@=gwIZ`K5PaP%Du|y(;OBe){u+6F3@@_ma&v;D)wev(vUJ%na~8 zjZ0j1{`uqgaR2_16e2kN3B2K$E?G4p`$)r%ncoIx#(*^mD>sUH*s}FNi}>f(v-X#6 z_Wn7m<72dSjfvO)Vr2zoG1itfRh<=r|0tFVZGyd}mpr8RSGDh2Wt?P}6xcjBLY;QT_IW5T zt+a?|uQZY}2BWUSjNQH1R{Og~eChO3)=7(7EP>GBRY0eMDgf6wR|_fSjZ&}sK|cIs z6zRoDt-syx&|s<5#=`eL~uq=ZP+m_^u$@ z)4`wtbkCuyGTBywB58amr{I#W#wVx#)Icx zeZ5JfSlOGl$)ORHA^A6C@AqWu`Gu3jgR@1M8Sv_mR-yfwsEZ;E<*&C#QnqL{suN6(&_^xJXaWAz?CPh(FTl$8~qvI-P|2O!vvmOG?%lrTZ zC?h3o_RcVQ8kkpZ2cg9xXU)%WmHzG9LI*kc)~&38vtPW|<*+W$vz+s*JYf=}>k|$TiE?BHoMfylXf;nOt8rH&yL%8ee z-Sq`Km_AjcPEGw8@Q_B%iREIN{#h>;9v(8b4P&zI0(<}ifX5PAQf7yfj{#HxM*k;p zQa=46_k%byproigV1>R1#_6&R9*f= z6Z!WOv_z6o!4T49G##Bc%YfT#%igos+xy%Zwd-q<234xq&$ew70=`L#4=u?KoPK;! a%fpPG953->OsB=~{{-?5J%C~Wfd2qO0yql* diff --git a/adapters/forge/logs/2026-07-16-3.log.gz b/adapters/forge/logs/2026-07-16-3.log.gz deleted file mode 100644 index b66383d9df1fc32c818707a916796e858b389f34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1653 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 diff --git a/adapters/forge/logs/debug-1.log.gz b/adapters/forge/logs/debug-1.log.gz deleted file mode 100644 index 61ed49e358ff89d7b13bf02c3ebd50a053e7e8f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2906 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 diff --git a/adapters/forge/logs/debug-2.log.gz b/adapters/forge/logs/debug-2.log.gz deleted file mode 100644 index 5be1c86eba4e03e51db74a30315f430cc2f57f76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2919 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 MUp}7cGY!qZ0HdN~3jhEB diff --git a/adapters/forge/logs/debug-3.log.gz b/adapters/forge/logs/debug-3.log.gz deleted file mode 100644 index 128154a752fec318d1e00bf9fd456aa13aae07c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2912 zcma*bS2!Dr0>E*5Q`#D-5wUVaY3)@pt7gThJ(^1G5t|NrRP1URqCtpMtkh_zO|?#I zZ(;{ktM);(wAK54_wk(jaQ_eghaWJ5gW`8Y3Lnw7xdi>oS8k-D93>|HC=^}G#g~1uQQr?X5*&MM`e>?Dd0IyAWu&b5b?I+= za?_<}7D^4cimVq z-QWJ8Wz%764L}banqrkH954VJtz%==cu;Z|-ItAXCqu#f%%)6)NR-UOr;>;wk_RnS zi`S^(mJSc!OqEyNQxj!v1m?+29TH=?_%IZ$<=;-}SULKIfZw=_+48rM-Db5I7`u{X zUgizBvS9?Tu5e!>?*(xedEq^V&wRx1VopD1V1<}hI8!%Z*=FhR<)=SA82||et16tc z@qTZbU)DO;RKr9Cvir>vlYl(V6_OA+Iz!(6#hvT;7M9`6&O|H_U%XWD&Qk1Q1UY0kF6K?gETrsmn_ zM7(|vK&o)0>ry zT><)@q^*I5AK%{oPwY|vc2-L}xIxKnTV0eo|5`!>fDrroD~rF?4$2g2xkh%YF;=J2 z9)!UQN;e)$CVX@lhq0T3In{_nf=LvAw>g2WZ9jx~OB>ij4(zo9X*4MT{ zfmzGV>^=cg7Czd)avDSEF9bmkhl9n~=3az}7{wM?_$+7-=*e!?Iw@ZwO@B%`yP*%(Yu>2-r3TdU7U%!05NhK7$LQx0 zR#cT2aV&^|^xz>_2v*MGRJ$%#30iL@C*U|hYiFW1I!Q)+Zw4ZNr>*38xlkI@mP>FI zGBil}Nq^}^zLIwTwyOSm+~?@#VG&BjS~gcA>BeuGFZU>7hlY|IqIB9K^~e%2E}@az zBO$ZGo4fUNf_Jl>>rxmvZO^-&=ejAF5L64P)j!aKQye_{?%CMk62-5uW;43mN0p1I z?uxp?)h`|S+((|hZx_ksjDGb~I+@h<^FyQ>fsmv*txCM2IH^N!&v#fudRO|eJGx9x zcn^T9xShn;nN}>)BLSCZW1e3ScGRIp&szs{h_mNcZ;XxG@0=0a{p7#JxapP&YMlUT za-_%|@d4dch#UFKkiY|#tApZ{h_0^Xyrx1$mYcB{+50_Q+C4kP502|jEa}u;U_nMF zd*R^bx)iD}u242^T>C+kUh2CP+vo=q-d5tca{+UJII97@$U?@gXZ1$SmerO1|u2PU5j zH(O8-ez%4?e_(Y74Q8}91g8(rUsK|FQaw|vs77d9H<41`%45x&usTaF6j>h1v^XED z3?$Q8=cSu7fodhG>>A1CtyTd`s!p#JRxL$`AB$#*K~JQqt{)1QFn>+uq)n3S2W7K} z1JBf(5(xeSie^``>J5(G)R`UOy3!9Ls@r&WV^jRL&FZRhdf)~Z7;50J-S@Hn4M+Z1VLJ#-&o{%8Efvo zx8L8tX+6lDTq?9GHUO#Yc}f@Riy;acx&CU1r8N{%KW$_jrMniE518?0#lz zMyIN)Ld*67haBsM_!g~W*hxrl*iYovh+$YaoGx$!%6rKG=VJ@2bsAk=2M19pSnYb; zK_x_~jpH+a7bwY?BZZ$2Bxaz8 zojk(6w+w9!DlpPO{TsGqL-`9j;9sA?h$; zTV$k~wRH^!+_iJzmO$WR#4cy=LOUB3)w4A zx0M>z@ahV`e7^pDHa!dHoGfHPpI`3B-=2G>(1-D*`yLK!wc5$Q%oXS~Nzdd5fK-eS zNxd8|1f--*OjG{}%?&@MA@nG%IXzyhV(_=>`&QM!z$G3vg`>ASEZ#dU28s=IUaK`q z*+h!LzR*ib+1$?yYqk9o74lC$`&~x>h&Q!{R0@W|=D6;=yBht}_+wm+G<@nf=ie|p#o!WrvN1krD(g~*x5BhV`qf+AeI7>}kUP%j2BQ?9kBH}=yfwvp&I(|c7d0z< z7aW!rLdu4YRes4XZ9{d-DECn1L38FcS$JM;(Qu8`px#+@J;>L1IQicY?1tY(o&*-g z;jJS>;4rzc&5XV;s>Hx7GorL4_SA&iF529Lc*wn_mxhxOD3|`L^qhUB#P%c0AOpjH E0BzWSkN^Mx diff --git a/adapters/forge/logs/debug-4.log.gz b/adapters/forge/logs/debug-4.log.gz deleted file mode 100644 index f6b58fe98635826b212870697f7378dd33017805..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2908 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 diff --git a/adapters/forge/logs/debug-5.log.gz b/adapters/forge/logs/debug-5.log.gz deleted file mode 100644 index c0380d48a640e2512f91b173981c11d1197755a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2921 zcma*p`9Bj50|)S&LypDd>ux!>a?P2^edY+c3kh={Uso7LFRKRMkj3ksiUJKygfqI16*Q~aq| z7?72uyFDk0O`}B2R0+(?3KUzJOx@EsSKydyHeS|Iek|s!22|{olqA5zqY%RAl|7x@ zY_Z>%#7q}_N!DE5tfVSo*&hCQz0GY?nD}crPg-5yO__*__`Nk0fgcKJS3jv*bQ=&KzhKlr;b~NCs!+Ilf z4)j^;4BjwCj{4b^oc-qhxW z*LM>#)>igFB5`_(fF56ANeOGHXABR{+7YK@Rneh{~J*>CRy?N>sMZQ_)YQJxHeamyQ^MKn1*VPIxWyJ z#@%34tCL=Fr~BJN<)=>5Xx-r{n4$qY*YH51Dh;|l|zrro=# zUJ=hZ!ORP{llGL3!}BiDVSppW7s@ii!gk(4@;3-&E|rI=zxVHOE^j5!CPQ)xsP|Z< zs6r!+wPkGV-4`Nx3qJ+55-I{>%PSkc0z#J-Vwjc5S8+VEoD~kWtXn`8gNMtpDCY$%2CP6B^_)E0?oR8~*&oy@T z7#YQnb`#W>9@g}%uT3oXNMc3x&XjAuHq1*w(Bi*olI~X1 zC3pQ-V@I((G8^bHH|GHidzC!~JGWQrLiro)8nrQGG~%pE;p=Mhln%gD*rEdi-cxkL zf|Oc>;GGYN)=zr29YD5AP4zUhC6%{z4A1R=zqG5G*)pjKie%in?@vs+GZ0ID%lgaUU&Mj$prDq5Y z-~l~9dG}zXpKU&qU18IK1@G8&l^ii*b0T$?*9{chX!$2%7H+A*`54fl%>$9g9!X(D})_VIg3+YFg_V@Rfi znFmLdugFK%P)jmCY#0~fd!KAEQj*`jBe%!rBt4a}o5P$79TI36i;Lk+c=MQ@9Q|w} zY5$I`+xnO-g`uIjrs;V>&J^&m<}g#Q45ZoHI?$ccbqf+%zuB5oOHbhSZ!InS&{~lE{vR@epvmw8w-pl+&$Q&B)&&`$e?)iv;)oxYmwTZ z?MlK9TaM2&W~aPfY>v8V!q<-H9|Z48wP*KQ8XiJ^#u-lH(0xjXu4)Aj7gdRq%V6XyAy+1Y%Zc?Wm2EKxqD!pZb17X>TpkTb>btHgMB`h@T6H!a31ffr znp&sr7LV@5y7uJ9DCFg5==_5pfefV|TR7~TUIIpg^S0@u?d6AE<*3I^Qvh9yeUl2H8r@hY8;Wjsxm7dj^*j!Y5w=N ze)TU3^K8tP;rudzfZx|mB|IoI_r2^yE-NNnjn;hhMVjZ35fglJW~zV-bl9D4lspv?AcbwIoS0W(51nzBrFuyHtUN;7+(U#y6eYN|69Dl;+a53Obt(QMA))n{p%z4B);L%?* zHxz=0uhZXQ@=(Wer{K_MMiy1B9;>Q~^$q+wUbiAh$@rh-ba9~_9J(|cz(7%|Ze|H~ zP?BL}4ULq3DsJ&W><0TJ9Dl8X3obCpQ}D~#%*5id!CCLa_)u>%nf3Q>?NrEV$(ys; z1<;il*q1cZN9Qg|7#gQ%0R_P@eXo=Owm*Onm9V*35i;G?KNjrk%XsxFp+FfwWC%b! zfsBxLg|l8gXT%RrI4aurVzWaGI&Qf3W3fZ-dF}?v##?;R4v9V$nE)5VVH+6&e2TMXzPWws}}VqeinYy z&Q(g4|3eq<;fo!KBk-uJt+U<>i@U9tzbTU8xUde~!0ty4qUXs$9;D$^?^CTf;xGAb zR`VM8#Gs8^)%6dFY2U_0)Jcfg;#2fC%{(JSONObject.java:145) ~[shared-local-SNAPSHOT.jar:?] - at art.arcane.volmlib.util.json.JSONTokener.nextValue(JSONTokener.java:345) ~[shared-local-SNAPSHOT.jar:?] - at art.arcane.volmlib.util.json.JSONArray.(JSONArray.java:111) ~[shared-local-SNAPSHOT.jar:?] - at art.arcane.volmlib.util.json.JSONTokener.nextValue(JSONTokener.java:348) ~[shared-local-SNAPSHOT.jar:?] - at art.arcane.volmlib.util.json.JSONObject.(JSONObject.java:159) ~[shared-local-SNAPSHOT.jar:?] - at art.arcane.volmlib.util.json.JSONObject.(JSONObject.java:260) ~[shared-local-SNAPSHOT.jar:?] - at art.arcane.iris.modded.ModdedDimensionRegistryStore.contents(ModdedDimensionRegistryStore.java:117) ~[main/:?] - ... 45 more -[10Aug2026 23:16:26.501] [Test worker/ERROR] [Iris/]: Iris lost 1 persistent dimension(s) from the corrupt registry: iris:lost -[10Aug2026 23:16:26.502] [Test worker/ERROR] [Iris/]: Iris moved the corrupt persistent dimension registry to /var/folders/l1/g6lr3c5x26z_mdmtfzt9gjbr0000gn/T/iris-dimension-registry-corrupt-boot1665584090438343711/iris-dimensions.json.broken-1786418186502 -[10Aug2026 23:16:26.543] [Test worker/ERROR] [Iris/]: Iris service onDisable failed for art.arcane.iris.modded.ModdedServiceManagerTest$SecondService -java.lang.RuntimeException: second disable failed - at art.arcane.iris.modded.ModdedServiceManagerTest.disableAttemptsEveryServiceInReverseOrderAndNeverRethrows(ModdedServiceManagerTest.java:55) ~[test/:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) ~[junit-4.13.2.jar:4.13.2] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) ~[?:?] - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) ~[?:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) ~[?:?] - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) ~[?:?] - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) ~[?:?] - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) ~[?:?] - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) ~[?:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) [gradle-worker.jar:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) [gradle-worker.jar:?] -[10Aug2026 23:16:26.546] [Test worker/ERROR] [Iris/]: Iris service onDisable failed for art.arcane.iris.modded.ModdedServiceManagerTest$FirstService -java.lang.RuntimeException: first disable failed - at art.arcane.iris.modded.ModdedServiceManagerTest.disableAttemptsEveryServiceInReverseOrderAndNeverRethrows(ModdedServiceManagerTest.java:54) ~[test/:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) ~[junit-4.13.2.jar:4.13.2] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) ~[?:?] - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) ~[?:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) ~[?:?] - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) ~[?:?] - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) ~[?:?] - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) ~[?:?] - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) ~[?:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) [gradle-worker.jar:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) [gradle-worker.jar:?] -[10Aug2026 23:16:26.548] [Test worker/ERROR] [Iris/]: Iris disabled all services with 2 failure(s) -java.lang.RuntimeException: second disable failed - at art.arcane.iris.modded.ModdedServiceManagerTest.disableAttemptsEveryServiceInReverseOrderAndNeverRethrows(ModdedServiceManagerTest.java:55) ~[test/:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) ~[junit-4.13.2.jar:4.13.2] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) ~[?:?] - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) ~[?:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) ~[?:?] - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) ~[?:?] - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) ~[?:?] - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) ~[?:?] - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) ~[?:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) [gradle-worker.jar:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) [gradle-worker.jar:?] - Suppressed: java.lang.RuntimeException: first disable failed - at art.arcane.iris.modded.ModdedServiceManagerTest.disableAttemptsEveryServiceInReverseOrderAndNeverRethrows(ModdedServiceManagerTest.java:54) ~[test/:?] - ... 42 more -[10Aug2026 23:16:26.551] [Test worker/ERROR] [Iris/]: Iris service rollback failed for art.arcane.iris.modded.ModdedServiceManagerTest$SecondService -java.lang.RuntimeException: cleanup failed - at art.arcane.iris.modded.ModdedServiceManagerTest.rollsBackEnabledServicesAndPreservesCleanupFailures(ModdedServiceManagerTest.java:32) ~[test/:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) ~[junit-4.13.2.jar:4.13.2] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) ~[?:?] - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) ~[?:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) ~[?:?] - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) ~[?:?] - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) ~[?:?] - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) ~[?:?] - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) ~[?:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) [gradle-worker.jar:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) [gradle-worker.jar:?] -[10Aug2026 23:16:26.553] [Test worker/ERROR] [Iris/]: Iris service onEnable failed for art.arcane.iris.modded.ModdedServiceManagerTest$SecondService -java.lang.RuntimeException: enable failed - at art.arcane.iris.modded.ModdedServiceManagerTest.rollsBackEnabledServicesAndPreservesCleanupFailures(ModdedServiceManagerTest.java:31) ~[test/:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) ~[junit-4.13.2.jar:4.13.2] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) ~[?:?] - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) ~[?:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) ~[?:?] - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) ~[?:?] - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) ~[?:?] - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) ~[?:?] - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) ~[?:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) [gradle-worker.jar:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) [gradle-worker.jar:?] - Suppressed: java.lang.RuntimeException: cleanup failed - at art.arcane.iris.modded.ModdedServiceManagerTest.rollsBackEnabledServicesAndPreservesCleanupFailures(ModdedServiceManagerTest.java:32) ~[test/:?] - ... 42 more -[10Aug2026 23:16:26.588] [Test worker/ERROR] [Iris/]: [worldcheck] server stop request failed -java.lang.IllegalStateException: stop request failed - at art.arcane.iris.modded.ModdedWorldCheckTest.lambda$stopRequestFailureForcesNonzeroResult$1(ModdedWorldCheckTest.java:238) ~[test/:?] - at art.arcane.iris.modded.ModdedWorldCheck.runAndRequestStop(ModdedWorldCheck.java:144) ~[main/:?] - at art.arcane.iris.modded.ModdedWorldCheckTest.stopRequestFailureForcesNonzeroResult(ModdedWorldCheckTest.java:235) ~[test/:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) ~[junit-4.13.2.jar:4.13.2] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) ~[?:?] - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) ~[?:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) ~[?:?] - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) ~[?:?] - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) ~[?:?] - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) ~[?:?] - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) ~[?:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) [gradle-worker.jar:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) [gradle-worker.jar:?] -[10Aug2026 23:16:26.590] [Test worker/ERROR] [Iris/]: [worldcheck] waiting for server shutdown failed -java.lang.IllegalStateException: shutdown wait failed - at art.arcane.iris.modded.ModdedWorldCheckTest.lambda$shutdownWaitFailureForcesNonzeroExit$0(ModdedWorldCheckTest.java:264) ~[test/:?] - at art.arcane.iris.modded.ModdedWorldCheck.awaitStopAndExit(ModdedWorldCheck.java:159) ~[main/:?] - at art.arcane.iris.modded.ModdedWorldCheckTest.shutdownWaitFailureForcesNonzeroExit(ModdedWorldCheckTest.java:262) ~[test/:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) ~[junit-4.13.2.jar:4.13.2] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) ~[?:?] - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) ~[?:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) ~[?:?] - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) ~[?:?] - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) ~[?:?] - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) ~[?:?] - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) ~[?:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) [gradle-worker.jar:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) [gradle-worker.jar:?] -[10Aug2026 23:16:26.593] [Test worker/ERROR] [Iris/]: [worldcheck] check failed -java.lang.IllegalStateException: check failed - at art.arcane.iris.modded.ModdedWorldCheckTest.lambda$thrownCheckStillRequestsStop$0(ModdedWorldCheckTest.java:224) ~[test/:?] - at art.arcane.iris.modded.ModdedWorldCheck.runAndRequestStop(ModdedWorldCheck.java:139) ~[main/:?] - at art.arcane.iris.modded.ModdedWorldCheckTest.thrownCheckStillRequestsStop(ModdedWorldCheckTest.java:222) ~[test/:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) ~[junit-4.13.2.jar:4.13.2] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) ~[?:?] - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) ~[?:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) ~[?:?] - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) ~[?:?] - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) ~[?:?] - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) ~[?:?] - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) ~[?:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) [gradle-worker.jar:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) [gradle-worker.jar:?] -[10Aug2026 23:16:26.603] [Test worker/INFO] [Iris/]: Iris registered custom content provider 'iris_discovery_success' -[10Aug2026 23:16:26.604] [Test worker/WARN] [Iris/]: Iris custom content provider discovery failed at provider 'iris_discovery_failure' (art.arcane.iris.modded.api.ModdedCustomContentRegistryTest$TestProvider) -java.lang.RuntimeException: provider init failed - at art.arcane.iris.modded.api.ModdedCustomContentRegistryTest.failedDiscoveryPublishesNothingAndPreservesTheCause(ModdedCustomContentRegistryTest.java:39) ~[test/:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) ~[junit-4.13.2.jar:4.13.2] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) ~[?:?] - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) ~[?:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) ~[?:?] - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) ~[?:?] - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) ~[?:?] - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) ~[?:?] - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) ~[?:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) [gradle-worker.jar:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) [gradle-worker.jar:?] -[10Aug2026 23:16:26.616] [Test worker/INFO] [Iris/]: Iris object undo service ready (bounded to 32 paste(s) per player) diff --git a/adapters/forge/logs/latest.log b/adapters/forge/logs/latest.log deleted file mode 100644 index 78c3d6784..000000000 --- a/adapters/forge/logs/latest.log +++ /dev/null @@ -1,483 +0,0 @@ -[10Aug2026 23:16:26.445] [Test worker/WARN] [Iris/]: Iris cannot resolve the biome id for 'minecraft:plains' before the Minecraft server is available; using biome id 0 -[10Aug2026 23:16:26.446] [Test worker/WARN] [Iris/]: Iris cannot enumerate the biome registry before the Minecraft server is available; returning no biomes -[10Aug2026 23:16:26.477] [Test worker/INFO] [Iris/]: Iris registered custom content provider 'iris_deferred_test' -[10Aug2026 23:16:26.483] [Test worker/WARN] [Iris/]: Iris persistent dimension registry entry 1 in /var/folders/l1/g6lr3c5x26z_mdmtfzt9gjbr0000gn/T/iris-dimension-registry-partial11065974536391059626/iris-dimensions.json is invalid (entry 1 in /var/folders/l1/g6lr3c5x26z_mdmtfzt9gjbr0000gn/T/iris-dimension-registry-partial11065974536391059626/iris-dimensions.json has no dimension); kept verbatim: {"id":"iris:broken","pack":"overworld"} -[10Aug2026 23:16:26.496] [Test worker/ERROR] [Iris/]: Iris persistent dimension registry at /var/folders/l1/g6lr3c5x26z_mdmtfzt9gjbr0000gn/T/iris-dimension-registry-corrupt-boot1665584090438343711/iris-dimensions.json is corrupt; quarantining it and continuing boot -java.lang.IllegalStateException: Iris persistent dimension registry at /var/folders/l1/g6lr3c5x26z_mdmtfzt9gjbr0000gn/T/iris-dimension-registry-corrupt-boot1665584090438343711/iris-dimensions.json could not be read; refusing to discard persistent worlds - at art.arcane.iris.modded.ModdedDimensionRegistryStore.contents(ModdedDimensionRegistryStore.java:150) ~[main/:?] - at art.arcane.iris.modded.ModdedDimensionRegistryStore.load(ModdedDimensionRegistryStore.java:56) ~[main/:?] - at art.arcane.iris.modded.ModdedDimensionRegistryStore.loadForStartup(ModdedDimensionRegistryStore.java:69) ~[main/:?] - at art.arcane.iris.modded.ModdedDimensionRegistryStoreTest.startupLoadQuarantinesACorruptRegistryInsteadOfFailingBoot(ModdedDimensionRegistryStoreTest.java:99) ~[test/:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) ~[junit-4.13.2.jar:4.13.2] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) ~[?:?] - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) ~[?:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) ~[?:?] - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) ~[?:?] - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) ~[?:?] - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) ~[?:?] - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) ~[?:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) [gradle-worker.jar:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) [gradle-worker.jar:?] -Caused by: art.arcane.volmlib.util.json.JSONException: A JSONObject text must end with '}' at 34 [character 35 line 1] - at art.arcane.volmlib.util.json.JSONTokener.syntaxError(JSONTokener.java:414) ~[shared-local-SNAPSHOT.jar:?] - at art.arcane.volmlib.util.json.JSONObject.(JSONObject.java:145) ~[shared-local-SNAPSHOT.jar:?] - at art.arcane.volmlib.util.json.JSONTokener.nextValue(JSONTokener.java:345) ~[shared-local-SNAPSHOT.jar:?] - at art.arcane.volmlib.util.json.JSONArray.(JSONArray.java:111) ~[shared-local-SNAPSHOT.jar:?] - at art.arcane.volmlib.util.json.JSONTokener.nextValue(JSONTokener.java:348) ~[shared-local-SNAPSHOT.jar:?] - at art.arcane.volmlib.util.json.JSONObject.(JSONObject.java:159) ~[shared-local-SNAPSHOT.jar:?] - at art.arcane.volmlib.util.json.JSONObject.(JSONObject.java:260) ~[shared-local-SNAPSHOT.jar:?] - at art.arcane.iris.modded.ModdedDimensionRegistryStore.contents(ModdedDimensionRegistryStore.java:117) ~[main/:?] - ... 45 more -[10Aug2026 23:16:26.501] [Test worker/ERROR] [Iris/]: Iris lost 1 persistent dimension(s) from the corrupt registry: iris:lost -[10Aug2026 23:16:26.502] [Test worker/ERROR] [Iris/]: Iris moved the corrupt persistent dimension registry to /var/folders/l1/g6lr3c5x26z_mdmtfzt9gjbr0000gn/T/iris-dimension-registry-corrupt-boot1665584090438343711/iris-dimensions.json.broken-1786418186502 -[10Aug2026 23:16:26.543] [Test worker/ERROR] [Iris/]: Iris service onDisable failed for art.arcane.iris.modded.ModdedServiceManagerTest$SecondService -java.lang.RuntimeException: second disable failed - at art.arcane.iris.modded.ModdedServiceManagerTest.disableAttemptsEveryServiceInReverseOrderAndNeverRethrows(ModdedServiceManagerTest.java:55) ~[test/:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) ~[junit-4.13.2.jar:4.13.2] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) ~[?:?] - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) ~[?:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) ~[?:?] - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) ~[?:?] - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) ~[?:?] - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) ~[?:?] - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) ~[?:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) [gradle-worker.jar:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) [gradle-worker.jar:?] -[10Aug2026 23:16:26.546] [Test worker/ERROR] [Iris/]: Iris service onDisable failed for art.arcane.iris.modded.ModdedServiceManagerTest$FirstService -java.lang.RuntimeException: first disable failed - at art.arcane.iris.modded.ModdedServiceManagerTest.disableAttemptsEveryServiceInReverseOrderAndNeverRethrows(ModdedServiceManagerTest.java:54) ~[test/:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) ~[junit-4.13.2.jar:4.13.2] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) ~[?:?] - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) ~[?:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) ~[?:?] - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) ~[?:?] - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) ~[?:?] - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) ~[?:?] - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) ~[?:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) [gradle-worker.jar:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) [gradle-worker.jar:?] -[10Aug2026 23:16:26.548] [Test worker/ERROR] [Iris/]: Iris disabled all services with 2 failure(s) -java.lang.RuntimeException: second disable failed - at art.arcane.iris.modded.ModdedServiceManagerTest.disableAttemptsEveryServiceInReverseOrderAndNeverRethrows(ModdedServiceManagerTest.java:55) ~[test/:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) ~[junit-4.13.2.jar:4.13.2] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) ~[?:?] - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) ~[?:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) ~[?:?] - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) ~[?:?] - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) ~[?:?] - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) ~[?:?] - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) ~[?:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) [gradle-worker.jar:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) [gradle-worker.jar:?] - Suppressed: java.lang.RuntimeException: first disable failed - at art.arcane.iris.modded.ModdedServiceManagerTest.disableAttemptsEveryServiceInReverseOrderAndNeverRethrows(ModdedServiceManagerTest.java:54) ~[test/:?] - ... 42 more -[10Aug2026 23:16:26.551] [Test worker/ERROR] [Iris/]: Iris service rollback failed for art.arcane.iris.modded.ModdedServiceManagerTest$SecondService -java.lang.RuntimeException: cleanup failed - at art.arcane.iris.modded.ModdedServiceManagerTest.rollsBackEnabledServicesAndPreservesCleanupFailures(ModdedServiceManagerTest.java:32) ~[test/:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) ~[junit-4.13.2.jar:4.13.2] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) ~[?:?] - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) ~[?:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) ~[?:?] - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) ~[?:?] - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) ~[?:?] - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) ~[?:?] - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) ~[?:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) [gradle-worker.jar:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) [gradle-worker.jar:?] -[10Aug2026 23:16:26.553] [Test worker/ERROR] [Iris/]: Iris service onEnable failed for art.arcane.iris.modded.ModdedServiceManagerTest$SecondService -java.lang.RuntimeException: enable failed - at art.arcane.iris.modded.ModdedServiceManagerTest.rollsBackEnabledServicesAndPreservesCleanupFailures(ModdedServiceManagerTest.java:31) ~[test/:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) ~[junit-4.13.2.jar:4.13.2] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) ~[?:?] - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) ~[?:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) ~[?:?] - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) ~[?:?] - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) ~[?:?] - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) ~[?:?] - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) ~[?:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) [gradle-worker.jar:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) [gradle-worker.jar:?] - Suppressed: java.lang.RuntimeException: cleanup failed - at art.arcane.iris.modded.ModdedServiceManagerTest.rollsBackEnabledServicesAndPreservesCleanupFailures(ModdedServiceManagerTest.java:32) ~[test/:?] - ... 42 more -[10Aug2026 23:16:26.588] [Test worker/ERROR] [Iris/]: [worldcheck] server stop request failed -java.lang.IllegalStateException: stop request failed - at art.arcane.iris.modded.ModdedWorldCheckTest.lambda$stopRequestFailureForcesNonzeroResult$1(ModdedWorldCheckTest.java:238) ~[test/:?] - at art.arcane.iris.modded.ModdedWorldCheck.runAndRequestStop(ModdedWorldCheck.java:144) ~[main/:?] - at art.arcane.iris.modded.ModdedWorldCheckTest.stopRequestFailureForcesNonzeroResult(ModdedWorldCheckTest.java:235) ~[test/:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) ~[junit-4.13.2.jar:4.13.2] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) ~[?:?] - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) ~[?:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) ~[?:?] - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) ~[?:?] - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) ~[?:?] - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) ~[?:?] - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) ~[?:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) [gradle-worker.jar:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) [gradle-worker.jar:?] -[10Aug2026 23:16:26.590] [Test worker/ERROR] [Iris/]: [worldcheck] waiting for server shutdown failed -java.lang.IllegalStateException: shutdown wait failed - at art.arcane.iris.modded.ModdedWorldCheckTest.lambda$shutdownWaitFailureForcesNonzeroExit$0(ModdedWorldCheckTest.java:264) ~[test/:?] - at art.arcane.iris.modded.ModdedWorldCheck.awaitStopAndExit(ModdedWorldCheck.java:159) ~[main/:?] - at art.arcane.iris.modded.ModdedWorldCheckTest.shutdownWaitFailureForcesNonzeroExit(ModdedWorldCheckTest.java:262) ~[test/:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) ~[junit-4.13.2.jar:4.13.2] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) ~[?:?] - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) ~[?:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) ~[?:?] - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) ~[?:?] - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) ~[?:?] - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) ~[?:?] - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) ~[?:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) [gradle-worker.jar:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) [gradle-worker.jar:?] -[10Aug2026 23:16:26.593] [Test worker/ERROR] [Iris/]: [worldcheck] check failed -java.lang.IllegalStateException: check failed - at art.arcane.iris.modded.ModdedWorldCheckTest.lambda$thrownCheckStillRequestsStop$0(ModdedWorldCheckTest.java:224) ~[test/:?] - at art.arcane.iris.modded.ModdedWorldCheck.runAndRequestStop(ModdedWorldCheck.java:139) ~[main/:?] - at art.arcane.iris.modded.ModdedWorldCheckTest.thrownCheckStillRequestsStop(ModdedWorldCheckTest.java:222) ~[test/:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) ~[junit-4.13.2.jar:4.13.2] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) ~[?:?] - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) ~[?:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) ~[?:?] - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) ~[?:?] - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) ~[?:?] - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) ~[?:?] - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) ~[?:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) [gradle-worker.jar:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) [gradle-worker.jar:?] -[10Aug2026 23:16:26.603] [Test worker/INFO] [Iris/]: Iris registered custom content provider 'iris_discovery_success' -[10Aug2026 23:16:26.604] [Test worker/WARN] [Iris/]: Iris custom content provider discovery failed at provider 'iris_discovery_failure' (art.arcane.iris.modded.api.ModdedCustomContentRegistryTest$TestProvider) -java.lang.RuntimeException: provider init failed - at art.arcane.iris.modded.api.ModdedCustomContentRegistryTest.failedDiscoveryPublishesNothingAndPreservesTheCause(ModdedCustomContentRegistryTest.java:39) ~[test/:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) ~[junit-4.13.2.jar:4.13.2] - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) ~[junit-4.13.2.jar:4.13.2] - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) ~[junit-4.13.2.jar:4.13.2] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) ~[?:?] - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) ~[?:?] - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) ~[?:?] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?] - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) ~[?:?] - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) ~[?:?] - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) ~[?:?] - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) ~[?:?] - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) ~[?:?] - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) ~[?:?] - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) ~[?:?] - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) ~[?:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) [gradle-worker.jar:?] - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) [gradle-worker.jar:?] -[10Aug2026 23:16:26.616] [Test worker/INFO] [Iris/]: Iris object undo service ready (bounded to 32 paste(s) per player) diff --git a/adapters/modded-common/src/test/java/art/arcane/iris/modded/ModdedLifecycleFailureContractTest.java b/adapters/modded-common/src/test/java/art/arcane/iris/modded/ModdedLifecycleFailureContractTest.java index 0db67d247..d2fe583be 100644 --- a/adapters/modded-common/src/test/java/art/arcane/iris/modded/ModdedLifecycleFailureContractTest.java +++ b/adapters/modded-common/src/test/java/art/arcane/iris/modded/ModdedLifecycleFailureContractTest.java @@ -166,6 +166,9 @@ public class ModdedLifecycleFailureContractTest { assertTrue(shutdown.contains("new ArrayList<>(ENGINES.entrySet())")); assertFalse(shutdown.contains("ENGINES.clear()")); + // Bound generators must go through unbindEngine (latch unloading, then strict evict) so a + // late chunk-system drain cannot rebuild an engine nothing closes again. + assertTrue(shutdown.contains("generator.unbindEngine(level);")); assertBefore(shutdown, "close(engine);", "ENGINES.remove(level, engine)"); assertTrue(shutdown.contains("ENGINES.containsKey(level)")); assertTrue(shutdown.contains("failure.addSuppressed(e);")); diff --git a/adapters/neoforge/logs/latest.log b/adapters/neoforge/logs/latest.log deleted file mode 100644 index bb273f245..000000000 --- a/adapters/neoforge/logs/latest.log +++ /dev/null @@ -1,141 +0,0 @@ -[15:22:44] [Test worker/ERROR]: [worldcheck] server stop request failed -java.lang.IllegalStateException: stop request failed - at art.arcane.iris.modded.ModdedWorldCheckTest.lambda$stopRequestFailureForcesNonzeroResult$1(ModdedWorldCheckTest.java:169) - at art.arcane.iris.modded.ModdedWorldCheck.runAndRequestStop(ModdedWorldCheck.java:165) - at art.arcane.iris.modded.ModdedWorldCheckTest.stopRequestFailureForcesNonzeroResult(ModdedWorldCheckTest.java:166) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) -[15:22:44] [Test worker/ERROR]: [worldcheck] waiting for server shutdown failed -java.lang.IllegalStateException: shutdown wait failed - at art.arcane.iris.modded.ModdedWorldCheckTest.lambda$shutdownWaitFailureForcesNonzeroExit$0(ModdedWorldCheckTest.java:195) - at art.arcane.iris.modded.ModdedWorldCheck.awaitStopAndExit(ModdedWorldCheck.java:180) - at art.arcane.iris.modded.ModdedWorldCheckTest.shutdownWaitFailureForcesNonzeroExit(ModdedWorldCheckTest.java:193) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) -[15:22:44] [Test worker/ERROR]: [worldcheck] check failed -java.lang.IllegalStateException: check failed - at art.arcane.iris.modded.ModdedWorldCheckTest.lambda$thrownCheckStillRequestsStop$0(ModdedWorldCheckTest.java:155) - at art.arcane.iris.modded.ModdedWorldCheck.runAndRequestStop(ModdedWorldCheck.java:160) - at art.arcane.iris.modded.ModdedWorldCheckTest.thrownCheckStillRequestsStop(ModdedWorldCheckTest.java:153) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) - at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at org.junit.runner.JUnitCore.run(JUnitCore.java:115) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) - at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) - at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) - at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) - at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) - at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) - at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) - at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) - at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) diff --git a/core/build.gradle b/core/build.gradle index cd6567898..38ae052c7 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -117,12 +117,14 @@ dependencies { testImplementation('org.mockito:mockito-core:5.23.0') testImplementation(libs.paper.api) testRuntimeOnly(libs.paper.api) + testRuntimeOnly(libs.multiverseCore) } tasks.named('test').configure { maxHeapSize = '1g' systemProperty('iris.packBenchmarkingSource', file('src/main/java/art/arcane/iris/core/tools/IrisPackBenchmarking.java').absolutePath) systemProperty('iris.irisToolbeltSource', file('src/main/java/art/arcane/iris/core/tools/IrisToolbelt.java').absolutePath) + systemProperty('iris.irisCreatorSource', file('src/main/java/art/arcane/iris/core/tools/IrisCreator.java').absolutePath) systemProperty('iris.bukkitChunkGeneratorSource', file('src/main/java/art/arcane/iris/engine/platform/BukkitChunkGenerator.java').absolutePath) } diff --git a/core/src/main/java/art/arcane/iris/core/IrisWorldStorage.java b/core/src/main/java/art/arcane/iris/core/IrisWorldStorage.java index ee5e61b9c..090510394 100644 --- a/core/src/main/java/art/arcane/iris/core/IrisWorldStorage.java +++ b/core/src/main/java/art/arcane/iris/core/IrisWorldStorage.java @@ -117,7 +117,9 @@ public final class IrisWorldStorage { throw new IllegalArgumentException("World identifier is invalid: " + requestedName); } } else { - key = keyFromName(requestedName, levelName); + // "iris worlds" and Multiverse print the Bukkit startup name (_iris_), so + // accept that form here instead of turning it into iris:_iris_. + key = keyFromConfiguredWorldName(requestedName, levelName); } if (!IRIS_NAMESPACE.equals(key.getNamespace()) || !key.getKey().matches("[a-z0-9_-]+")) { diff --git a/core/src/main/java/art/arcane/iris/core/WorldCreatorCompat.java b/core/src/main/java/art/arcane/iris/core/WorldCreatorCompat.java index 84fe82563..8cdb5594b 100644 --- a/core/src/main/java/art/arcane/iris/core/WorldCreatorCompat.java +++ b/core/src/main/java/art/arcane/iris/core/WorldCreatorCompat.java @@ -1,10 +1,13 @@ package art.arcane.iris.core; +import art.arcane.iris.spi.IrisLogging; import org.bukkit.Bukkit; import org.bukkit.NamespacedKey; import org.bukkit.WorldCreator; import java.io.File; +import java.lang.reflect.Field; +import java.util.Objects; /** * WorldCreator.ofKey and WorldCreator#key are Paper-API-only. Once a call throws @@ -12,31 +15,40 @@ import java.io.File; * straight to the fallback. The fallback derives names/keys through IrisWorldStorage's * current configured-name mapping so persistent Spigot worlds round-trip without changing * their startup directory. + * + *

Paper names a keyed creator {@code _} and refuses a creator built from a name + * and a key together, but it names that same world {@code __} when it loads + * it out of {@code /dimensions//} on every later boot. A persistent world + * therefore has to be born under the startup name, which is what {@link #ofPersistentKey} does.

*/ public final class WorldCreatorCompat { private static volatile boolean keyedCreatorsUnavailable; + private static volatile boolean creatorNamesUnwritable; + private static volatile Field creatorNameField; private WorldCreatorCompat() { } public static WorldCreator ofKey(NamespacedKey worldKey) { - return ofKey(worldKey, IrisWorldStorage.logicalName(worldKey)); - } - - public static WorldCreator ofKey(NamespacedKey worldKey, String fallbackWorldName) { WorldCreator keyedCreator = keyedCreator(worldKey); if (keyedCreator != null) { return keyedCreator; } - return new WorldCreator(fallbackWorldName); + return new WorldCreator(IrisWorldStorage.logicalName(worldKey)); + } + + public static WorldCreator ofKey(NamespacedKey worldKey, String worldName) { + String name = requireWorldName(worldName); + WorldCreator keyedCreator = keyedCreator(worldKey); + if (keyedCreator == null) { + return new WorldCreator(name); + } + renameCreator(keyedCreator, name); + return keyedCreator; } public static WorldCreator ofPersistentKey(NamespacedKey worldKey) { - WorldCreator keyedCreator = keyedCreator(worldKey); - if (keyedCreator != null) { - return keyedCreator; - } - return new WorldCreator(fallbackPersistentName(worldKey, IrisWorldStorage.levelRoot().getName())); + return ofKey(worldKey, persistentWorldName(worldKey, IrisWorldStorage.levelRoot().getName())); } public static File persistentDimensionRoot(NamespacedKey worldKey) { @@ -75,18 +87,10 @@ public final class WorldCreatorCompat { ); } - static String fallbackName(NamespacedKey worldKey, String levelName) { - return IrisWorldStorage.logicalName(worldKey, levelName); - } - - static String fallbackPersistentName(NamespacedKey worldKey, String levelName) { + static String persistentWorldName(NamespacedKey worldKey, String levelName) { return IrisWorldStorage.configuredWorldName(worldKey, levelName); } - static NamespacedKey fallbackKey(String creatorName, String levelName) { - return IrisWorldStorage.keyFromConfiguredWorldName(creatorName, levelName); - } - private static WorldCreator keyedCreator(NamespacedKey worldKey) { if (keyedCreatorsUnavailable) { return null; @@ -98,4 +102,42 @@ public final class WorldCreatorCompat { return null; } } + + /** + * WorldCreator rejects a name and a key passed together and derives the name from the key, so the + * only way to hand a keyed world its startup name at creation is to overwrite the creator's name. + * If that ever stops working the keyed creator is still correct except for the name, which is what + * shipped before, so the world is created rather than refused. + */ + private static void renameCreator(WorldCreator creator, String worldName) { + if (worldName.equals(creator.name()) || creatorNamesUnwritable) { + return; + } + try { + creatorNameField().set(creator, worldName); + } catch (ReflectiveOperationException | RuntimeException | Error e) { + creatorNamesUnwritable = true; + IrisLogging.warn("WorldCreator name is not writable; world %s is created as %s and renamed on the next boot.", + worldName, creator.name()); + } + } + + private static Field creatorNameField() throws ReflectiveOperationException { + Field cached = creatorNameField; + if (cached != null) { + return cached; + } + Field name = WorldCreator.class.getDeclaredField("name"); + name.setAccessible(true); + creatorNameField = name; + return name; + } + + private static String requireWorldName(String worldName) { + String name = Objects.requireNonNull(worldName, "worldName").trim(); + if (name.isEmpty()) { + throw new IllegalArgumentException("World name cannot be empty."); + } + return name; + } } diff --git a/core/src/main/java/art/arcane/iris/core/link/MultiverseCoreLink.java b/core/src/main/java/art/arcane/iris/core/link/MultiverseCoreLink.java index 3ca784f4b..e2ed0b771 100644 --- a/core/src/main/java/art/arcane/iris/core/link/MultiverseCoreLink.java +++ b/core/src/main/java/art/arcane/iris/core/link/MultiverseCoreLink.java @@ -18,8 +18,11 @@ package art.arcane.iris.core.link; +import art.arcane.iris.core.IrisWorldStorage; +import art.arcane.iris.spi.IrisLogging; import lombok.SneakyThrows; import org.bukkit.Bukkit; +import org.bukkit.NamespacedKey; import org.bukkit.World; import org.mvplugins.multiverse.core.MultiverseCoreApi; import org.mvplugins.multiverse.core.utils.result.Attempt; @@ -30,57 +33,146 @@ import org.mvplugins.multiverse.core.world.options.RemoveWorldOptions; import org.mvplugins.multiverse.core.world.reasons.RemoveFailureReason; import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +/** + * Multiverse indexes its world store by NamespacedKey and by the Bukkit world name it saw when the + * world was imported, and records that name as {@code legacy-world-name}. Iris creates and registers + * its worlds under the Paper startup name ({@code __}), so the name Multiverse + * sees at import is already the name it will see again after every restart, and it is the name every + * Iris unregistration uses. + */ public class MultiverseCoreLink { - public boolean removeFromConfig(World world) { - return removeFromConfig(world.getName()); - } - - public boolean removeFromConfig(String world) { + /** + * Best-effort scrub for worlds Iris never registered (studio worlds). Multiverse not knowing the + * world is the normal case here, so a miss is not worth a warning. + */ + public boolean removeIfPresent(World world) { + String worldName = Objects.requireNonNull(world, "world").getName(); if (!isActive()) { return false; } WorldManager manager = worldManager(); - MultiverseWorld multiverseWorld = manager.getWorld(world).getOrElse((MultiverseWorld) null); + MultiverseWorld multiverseWorld = resolve(manager, worldName); if (multiverseWorld == null) { return false; } + return remove(manager, multiverseWorld, worldName); + } + + /** + * Authoritative unregistration for a world Iris registered. A miss leaves a ghost entry behind in + * Multiverse's worlds.yml, so it is reported. + */ + public boolean removeFromConfig(String configuredWorldName) { + String worldName = requireWorldName(configuredWorldName); + if (!isActive()) { + IrisLogging.debug("Multiverse is not enabled; skipped unregistering \"" + worldName + "\"."); + return false; + } + WorldManager manager = worldManager(); + MultiverseWorld multiverseWorld = resolve(manager, worldName); + if (multiverseWorld == null) { + IrisLogging.warn("Multiverse has no world registered as %s; its worlds.yml entry was left as-is.", + worldName); + return false; + } + return remove(manager, multiverseWorld, worldName); + } + + @SneakyThrows + public void updateWorld(World bukkitWorld, String configuredWorldName, String pack) { + World world = Objects.requireNonNull(bukkitWorld, "bukkitWorld"); + String worldName = requireWorldName(configuredWorldName); + if (!isActive()) { + return; + } + if (!worldName.equals(world.getName())) { + // Multiverse records the live name as legacy-world-name. A live name that is not the + // startup name makes it re-import the world next boot and collide with its own config key. + IrisLogging.warn("World %s is live as %s; Multiverse will record the live name.", + worldName, world.getName()); + } + String generator = "Iris:" + pack; + WorldManager manager = worldManager(); + MultiverseWorld multiverseWorld = manager.getWorld(world) + .orElse(() -> manager.getWorld(worldName)) + .getOrElse(() -> { + // Import through the live world so Multiverse binds its own config key to the key + // Paper gave the world and records the startup name the world was created under. + ImportWorldOptions options = ImportWorldOptions.worldName(world.getName()) + .generator(generator) + .environment(world.getEnvironment()) + .useSpawnAdjust(false); + return manager.importWorld(options).get(); + }); + + multiverseWorld.setAutoLoad(false); + if (!generator.equals(multiverseWorld.getGenerator())) { + setWorldConfigString(multiverseWorld, "setGenerator", generator); + } + + manager.saveWorldsConfig().get(); + } + + private boolean remove(WorldManager manager, MultiverseWorld multiverseWorld, String worldName) { Attempt removal = manager.removeWorld(RemoveWorldOptions.world(multiverseWorld)); if (removal.isFailure()) { - throw new IllegalStateException("Multiverse refused to remove world \"" + world + "\": " + throw new IllegalStateException("Multiverse refused to remove world \"" + worldName + "\": " + removal.getFailureMessage()); } manager.saveWorldsConfig().get(); return true; } - @SneakyThrows - public void updateWorld(World bukkitWorld, String pack) { - if (!isActive()) { - return; + private MultiverseWorld resolve(WorldManager manager, String worldName) { + for (String candidate : lookupNames(worldName, IrisWorldStorage.levelRoot().getName())) { + MultiverseWorld multiverseWorld = manager.getWorld(candidate).getOrElse((MultiverseWorld) null); + if (multiverseWorld != null) { + return multiverseWorld; + } } - String generator = "Iris:" + pack; - WorldManager manager = worldManager(); - MultiverseWorld multiverseWorld = manager.getWorld(bukkitWorld).getOrElse(() -> { - ImportWorldOptions options = ImportWorldOptions.worldName(bukkitWorld.getName()) - .generator(generator) - .environment(bukkitWorld.getEnvironment()) - .useSpawnAdjust(false); - return manager.importWorld(options).get(); - }); + return null; + } - multiverseWorld.setAutoLoad(false); - if (!generator.equals(multiverseWorld.getGenerator())) { - Field field = MultiverseWorld.class.getDeclaredField("worldConfig"); - field.setAccessible(true); - - Object config = field.get(multiverseWorld); - config.getClass() - .getDeclaredMethod("setGenerator", String.class) - .invoke(config, generator); + /** + * worlds.yml files written by Iris builds that created keyed worlds under {@code _} + * still carry that name, so a startup name must also resolve through the Multiverse config key it + * encodes or those entries can never be removed. + */ + static List lookupNames(String worldName, String levelName) { + List candidates = new ArrayList<>(2); + candidates.add(worldName); + try { + NamespacedKey key = IrisWorldStorage.managedKeyFromName(worldName, levelName); + if (IrisWorldStorage.configuredWorldName(key, levelName).equals(worldName)) { + candidates.add(key.toString()); + } + } catch (IllegalArgumentException ignored) { + // Not an Iris startup name; the plain name is the only identity Multiverse can have. } + return List.copyOf(candidates); + } - manager.saveWorldsConfig().get(); + private static void setWorldConfigString(MultiverseWorld world, String setter, String value) throws Exception { + Field field = MultiverseWorld.class.getDeclaredField("worldConfig"); + field.setAccessible(true); + + Object config = field.get(world); + Method method = config.getClass().getDeclaredMethod(setter, String.class); + method.setAccessible(true); + method.invoke(config, value); + } + + private static String requireWorldName(String worldName) { + String name = Objects.requireNonNull(worldName, "worldName").trim(); + if (name.isEmpty()) { + throw new IllegalArgumentException("World name cannot be empty."); + } + return name; } private WorldManager worldManager() { diff --git a/core/src/main/java/art/arcane/iris/core/runtime/StudioOpenCoordinator.java b/core/src/main/java/art/arcane/iris/core/runtime/StudioOpenCoordinator.java index 1c3f728b9..fdc1351ab 100644 --- a/core/src/main/java/art/arcane/iris/core/runtime/StudioOpenCoordinator.java +++ b/core/src/main/java/art/arcane/iris/core/runtime/StudioOpenCoordinator.java @@ -750,7 +750,7 @@ public final class StudioOpenCoordinator { for (World loadedWorld : loadedWorlds) { CompletableFuture unload = J.sfut(() -> IrisServices.get(MultiverseCoreLink.class) - .removeFromConfig(loadedWorld)) + .removeIfPresent(loadedWorld)) .thenCompose(ignored -> WorldLifecycleService.get().unloadAsync(loadedWorld, false)); unloads.add(unload); } diff --git a/core/src/main/java/art/arcane/iris/core/runtime/WorldRuntimeControlService.java b/core/src/main/java/art/arcane/iris/core/runtime/WorldRuntimeControlService.java index deae3c310..cc624419d 100644 --- a/core/src/main/java/art/arcane/iris/core/runtime/WorldRuntimeControlService.java +++ b/core/src/main/java/art/arcane/iris/core/runtime/WorldRuntimeControlService.java @@ -106,7 +106,7 @@ public final class WorldRuntimeControlService { return false; } - IrisServices.get(art.arcane.iris.core.link.MultiverseCoreLink.class).removeFromConfig(world); + IrisServices.get(art.arcane.iris.core.link.MultiverseCoreLink.class).removeIfPresent(world); setIntGameRule(world, 0, "SPAWN_CHUNK_RADIUS", "spawnChunkRadius"); enableStudioEntitySpawning(world); if (!IrisSettings.get().getStudio().isDisableTimeAndWeather()) { diff --git a/core/src/main/java/art/arcane/iris/core/tools/IrisCreator.java b/core/src/main/java/art/arcane/iris/core/tools/IrisCreator.java index b17b1e4d2..d20757568 100644 --- a/core/src/main/java/art/arcane/iris/core/tools/IrisCreator.java +++ b/core/src/main/java/art/arcane/iris/core/tools/IrisCreator.java @@ -331,16 +331,23 @@ public class IrisCreator { reportCreationProgress(creationReporter, 0.84D, "register_world"); if (!studio && !benchmark) { + // bukkit.yml and Multiverse must agree on the startup name, or Multiverse re-imports the + // world on the next boot and collides with its own config key. + String registrationName = IrisWorldStorage.configuredWorldName( + worldKey, + IrisWorldStorage.levelRoot().getName() + ); BukkitWorldConfiguration.register( BUKKIT_YML, - IrisWorldStorage.configuredWorldName(worldKey, IrisWorldStorage.levelRoot().getName()), + registrationName, dimension, seed ); bukkitRegistered = true; World createdWorld = world; CompletableFuture multiverseRegistration = J.sfut( - () -> IrisServices.get(MultiverseCoreLink.class).updateWorld(createdWorld, dimension) + () -> IrisServices.get(MultiverseCoreLink.class) + .updateWorld(createdWorld, registrationName, dimension) ); if (multiverseRegistration == null) { throw new IrisException("Failed to schedule Multiverse registration for world \"" + name + "\"."); diff --git a/core/src/test/java/art/arcane/iris/core/IrisWorldStorageTest.java b/core/src/test/java/art/arcane/iris/core/IrisWorldStorageTest.java index 934431c45..a77a0a0c6 100644 --- a/core/src/test/java/art/arcane/iris/core/IrisWorldStorageTest.java +++ b/core/src/test/java/art/arcane/iris/core/IrisWorldStorageTest.java @@ -172,6 +172,18 @@ public class IrisWorldStorageTest { () -> IrisWorldStorage.managedKeyFromName("iris:unsafe.world", "world")); } + @Test + public void managedKeyAcceptsTheConfiguredBukkitStartupName() { + assertEquals(new NamespacedKey("iris", "mvtest"), + IrisWorldStorage.managedKeyFromName("world_iris_mvtest", "world")); + assertEquals(new NamespacedKey("iris", "mvtest"), + IrisWorldStorage.managedKeyFromName("survival_iris_mvtest", "survival")); + assertEquals(new NamespacedKey("iris", "iris_mvtest"), + IrisWorldStorage.managedKeyFromName("iris_mvtest", "world")); + assertEquals(new NamespacedKey("iris", "world_iris_mvtest"), + IrisWorldStorage.managedKeyFromName("world_iris_mvtest", "survival")); + } + @Test public void explicitManagedIdentityDoesNotRequireServerLevelLookup() { NamespacedKey worldKey = new NamespacedKey("iris", "probe"); diff --git a/core/src/test/java/art/arcane/iris/core/WorldCreatorCompatTest.java b/core/src/test/java/art/arcane/iris/core/WorldCreatorCompatTest.java index 5260fc7db..219fbdbd5 100644 --- a/core/src/test/java/art/arcane/iris/core/WorldCreatorCompatTest.java +++ b/core/src/test/java/art/arcane/iris/core/WorldCreatorCompatTest.java @@ -1,9 +1,11 @@ package art.arcane.iris.core; import org.bukkit.NamespacedKey; +import org.bukkit.WorldCreator; import org.junit.Test; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; public class WorldCreatorCompatTest { @Test @@ -14,39 +16,48 @@ public class WorldCreatorCompatTest { } @Test - public void fallbackNameDerivesLogicalNameFromKey() { - assertEquals("compat_world", WorldCreatorCompat.fallbackName(new NamespacedKey("iris", "compat_world"), "world")); - assertEquals("world", WorldCreatorCompat.fallbackName(NamespacedKey.minecraft("overworld"), "world")); - assertEquals("world_nether", WorldCreatorCompat.fallbackName(NamespacedKey.minecraft("the_nether"), "world")); - assertEquals("world_the_end", WorldCreatorCompat.fallbackName(NamespacedKey.minecraft("the_end"), "world")); + public void keyedCreatorIsBornUnderTheRequestedStartupName() { + NamespacedKey key = new NamespacedKey("iris", "compat_world"); + + WorldCreator creator = WorldCreatorCompat.ofKey(key, "world_iris_compat_world"); + + assertEquals("world_iris_compat_world", creator.name()); + assertEquals(key, creator.key()); } @Test - public void persistentFallbackUsesExactConfiguredStartupName() { + public void keyedCreatorKeepsThePaperKeyNameWhenNoStartupNameIsGiven() { + NamespacedKey key = new NamespacedKey("iris", "compat_world"); + + WorldCreator creator = WorldCreatorCompat.ofKey(key); + + assertNotEquals("world_iris_compat_world", creator.name()); + assertEquals(key, creator.key()); + } + + @Test + public void persistentNameIsTheExactConfiguredStartupName() { assertEquals( "world_iris_compat_world", - WorldCreatorCompat.fallbackPersistentName(new NamespacedKey("iris", "compat_world"), "world") + WorldCreatorCompat.persistentWorldName(new NamespacedKey("iris", "compat_world"), "world") ); } @Test - public void fallbackKeyRoundTripsCreatorName() { - assertEquals(new NamespacedKey("iris", "compat_world"), WorldCreatorCompat.fallbackKey("compat_world", "world")); - assertEquals(NamespacedKey.minecraft("overworld"), WorldCreatorCompat.fallbackKey("world", "world")); - assertEquals(NamespacedKey.minecraft("the_nether"), WorldCreatorCompat.fallbackKey("world_nether", "world")); - assertEquals( - new NamespacedKey("iris", "compat_world"), - WorldCreatorCompat.fallbackKey("world_iris_compat_world", "world") - ); + public void logicalNameDerivesTheLogicalNameFromKey() { + assertEquals("compat_world", IrisWorldStorage.logicalName(new NamespacedKey("iris", "compat_world"), "world")); + assertEquals("world", IrisWorldStorage.logicalName(NamespacedKey.minecraft("overworld"), "world")); + assertEquals("world_nether", IrisWorldStorage.logicalName(NamespacedKey.minecraft("the_nether"), "world")); + assertEquals("world_the_end", IrisWorldStorage.logicalName(NamespacedKey.minecraft("the_end"), "world")); } @Test - public void fallbackMappingIsStableAcrossRoundTrips() { - NamespacedKey key = new NamespacedKey("iris", "iris_world"); + public void startupNameRoundTripsBackToTheWorldKey() { + NamespacedKey key = new NamespacedKey("iris", "compat_world"); - String name = WorldCreatorCompat.fallbackName(key, "world"); + String name = WorldCreatorCompat.persistentWorldName(key, "world"); - assertEquals(key, WorldCreatorCompat.fallbackKey(name, "world")); - assertEquals(name, WorldCreatorCompat.fallbackName(key, "world")); + assertEquals("world_iris_compat_world", name); + assertEquals(key, IrisWorldStorage.keyFromConfiguredWorldName(name, "world")); } } diff --git a/core/src/test/java/art/arcane/iris/core/lifecycle/IrisWorldRemovalServiceTest.java b/core/src/test/java/art/arcane/iris/core/lifecycle/IrisWorldRemovalServiceTest.java index d4c74d759..c474c5d7a 100644 --- a/core/src/test/java/art/arcane/iris/core/lifecycle/IrisWorldRemovalServiceTest.java +++ b/core/src/test/java/art/arcane/iris/core/lifecycle/IrisWorldRemovalServiceTest.java @@ -125,6 +125,22 @@ public class IrisWorldRemovalServiceTest { ); } + @Test + public void removalAcceptsTheConfiguredStartupNameThatIrisWorldsPrints() throws Exception { + Path levelRoot = temporaryFolder.newFolder("world").toPath(); + WorldRemovalPathPolicy.Target logical = WorldRemovalPathPolicy.resolve("moon", "world", levelRoot); + WorldRemovalPathPolicy.Target configured = + WorldRemovalPathPolicy.resolve("world_iris_moon", "world", levelRoot); + + assertEquals(logical.worldKey(), configured.worldKey()); + assertEquals("moon", configured.logicalName()); + assertEquals(logical.worldDirectory(), configured.worldDirectory()); + assertEquals( + "world_iris_moon", + IrisWorldRemovalService.bukkitConfigurationWorldName(configured) + ); + } + @Test public void diskInspectionReadsOnlyCanonicalPaperStartupSection() throws Exception { Path levelRoot = temporaryFolder.newFolder("inspection-world").toPath(); diff --git a/core/src/test/java/art/arcane/iris/core/lifecycle/WorldLifecycleRequestTest.java b/core/src/test/java/art/arcane/iris/core/lifecycle/WorldLifecycleRequestTest.java new file mode 100644 index 000000000..b20731e12 --- /dev/null +++ b/core/src/test/java/art/arcane/iris/core/lifecycle/WorldLifecycleRequestTest.java @@ -0,0 +1,46 @@ +package art.arcane.iris.core.lifecycle; + +import art.arcane.iris.core.WorldCreatorCompat; +import org.bukkit.NamespacedKey; +import org.bukkit.World; +import org.bukkit.WorldCreator; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +public class WorldLifecycleRequestTest { + @Test + public void requestCarriesTheStartupNameTheCreatorWasBornWith() { + NamespacedKey worldKey = new NamespacedKey("iris", "mvtest"); + WorldCreator creator = WorldCreatorCompat.ofKey(worldKey, "world_iris_mvtest") + .environment(World.Environment.NORMAL) + .seed(99L); + + WorldLifecycleRequest request = WorldLifecycleRequest.fromCreator( + creator, + false, + false, + WorldLifecycleCaller.CREATE); + + assertEquals("world_iris_mvtest", request.worldName()); + assertEquals(worldKey, request.worldKey()); + } + + @Test + public void rebuiltCreatorKeepsBothTheStartupNameAndTheWorldKey() { + NamespacedKey worldKey = new NamespacedKey("iris", "mvtest"); + WorldLifecycleRequest request = WorldLifecycleRequest.fromCreator( + WorldCreatorCompat.ofKey(worldKey, "world_iris_mvtest") + .environment(World.Environment.NORMAL) + .seed(99L), + false, + false, + WorldLifecycleCaller.CREATE); + + WorldCreator rebuilt = request.toWorldCreator(); + + assertEquals("world_iris_mvtest", rebuilt.name()); + assertEquals(worldKey, rebuilt.key()); + assertEquals(99L, rebuilt.seed()); + } +} diff --git a/core/src/test/java/art/arcane/iris/core/link/MultiverseCoreLinkTest.java b/core/src/test/java/art/arcane/iris/core/link/MultiverseCoreLinkTest.java new file mode 100644 index 000000000..499630fac --- /dev/null +++ b/core/src/test/java/art/arcane/iris/core/link/MultiverseCoreLinkTest.java @@ -0,0 +1,58 @@ +package art.arcane.iris.core.link; + +import org.bukkit.World; +import org.junit.Test; + +import java.lang.reflect.Method; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.Arrays; +import java.util.List; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +public class MultiverseCoreLinkTest { + @Test + public void multiverseRegistrationRequiresTheConfiguredWorldName() throws Exception { + Method updateWorld = MultiverseCoreLink.class + .getDeclaredMethod("updateWorld", World.class, String.class, String.class); + + assertEquals(void.class, updateWorld.getReturnType()); + assertFalse("updateWorld must not keep an overload that derives the name from the live world", + Arrays.stream(MultiverseCoreLink.class.getDeclaredMethods()) + .anyMatch(method -> "updateWorld".equals(method.getName()) + && method.getParameterCount() == 2)); + } + + @Test + public void registrationDoesNotRewriteTheRecordedMultiverseName() throws Exception { + String source = Files.readString(Path.of("src/main/java/art/arcane/iris/core/link/MultiverseCoreLink.java")); + + assertFalse("worlds are created under the startup name, so the recorded name needs no correction", + source.contains("setLegacyWorldName")); + assertTrue("Multiverse still has to be told the live world name it will record", + source.contains("ImportWorldOptions.worldName(world.getName())")); + } + + @Test + public void lookupNamesAddTheIrisKeyForConfiguredStartupNames() { + assertEquals( + List.of("world_iris_mvtest", "iris:mvtest"), + MultiverseCoreLink.lookupNames("world_iris_mvtest", "world") + ); + assertEquals( + List.of("survival_iris_mvtest", "iris:mvtest"), + MultiverseCoreLink.lookupNames("survival_iris_mvtest", "survival") + ); + } + + @Test + public void lookupNamesKeepNonConfiguredNamesUntouched() { + assertEquals(List.of("iris_mvtest"), MultiverseCoreLink.lookupNames("iris_mvtest", "world")); + assertEquals(List.of("world"), MultiverseCoreLink.lookupNames("world", "world")); + assertEquals(List.of("iris:mvtest"), MultiverseCoreLink.lookupNames("iris:mvtest", "world")); + assertEquals(List.of("iris_studio-demo"), MultiverseCoreLink.lookupNames("iris_studio-demo", "world")); + } +} diff --git a/core/src/test/java/art/arcane/iris/core/tools/IrisCreatorMultiverseRegistrationContractTest.java b/core/src/test/java/art/arcane/iris/core/tools/IrisCreatorMultiverseRegistrationContractTest.java new file mode 100644 index 000000000..ace9dfe2d --- /dev/null +++ b/core/src/test/java/art/arcane/iris/core/tools/IrisCreatorMultiverseRegistrationContractTest.java @@ -0,0 +1,37 @@ +package art.arcane.iris.core.tools; + +import org.junit.Test; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +public class IrisCreatorMultiverseRegistrationContractTest { + @Test + public void bukkitAndMultiverseRegistrationShareOneConfiguredName() throws IOException { + String source = compact(Files.readString(Path.of(System.getProperty("iris.irisCreatorSource")))); + + assertTrue("bukkit.yml must be registered under the shared configured name", + source.contains("BukkitWorldConfiguration.register(BUKKIT_YML,registrationName,dimension,seed)")); + assertTrue("Multiverse must be registered under the same configured name", + source.contains(".updateWorld(createdWorld,registrationName,dimension)")); + assertFalse("Multiverse must never be registered under the transient created-world name", + source.contains(".updateWorld(createdWorld,dimension)")); + } + + @Test + public void multiverseRollbackUsesTheSameConfiguredName() throws IOException { + String source = compact(Files.readString(Path.of(System.getProperty("iris.irisCreatorSource")))); + + assertTrue("rollback must unregister the name creation registered", + source.contains(".removeFromConfig(IrisWorldStorage.configuredWorldName(worldKey," + + "IrisWorldStorage.levelRoot().getName()))")); + } + + private static String compact(String source) { + return source.replaceAll("\\s+", ""); + } +} diff --git a/core/src/test/java/art/arcane/iris/util/common/director/handlers/WorldHandlerTest.java b/core/src/test/java/art/arcane/iris/util/common/director/handlers/WorldHandlerTest.java index d0fc0e4a2..3237b8141 100644 --- a/core/src/test/java/art/arcane/iris/util/common/director/handlers/WorldHandlerTest.java +++ b/core/src/test/java/art/arcane/iris/util/common/director/handlers/WorldHandlerTest.java @@ -14,7 +14,7 @@ import static org.junit.Assert.assertThrows; public class WorldHandlerTest { @Test public void resolvesOwnedIrisWorldByLogicalNameAndCanonicalKey() throws DirectorParsingException { - World world = world("iris_irisworld", new NamespacedKey("iris", "irisworld")); + World world = world("world_iris_irisworld", new NamespacedKey("iris", "irisworld")); WorldHandler handler = new TestWorldHandler(List.of(world)); assertSame(world, handler.parse("irisworld", false));