Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash when fabric permission api is present #2690

Closed
5 tasks done
morgantic opened this issue Jan 4, 2025 · 2 comments
Closed
5 tasks done

Crash when fabric permission api is present #2690

morgantic opened this issue Jan 4, 2025 · 2 comments
Labels
status:invalid This does not describe a request or bug with WorldEdit type:bug Incorrect behavior, not working as intended

Comments

@morgantic
Copy link

WorldEdit Version

7.3.10-beta-01

Platform Version

Fabric 0.16.9

Confirmations

  • I am using the most recent Minecraft release.
  • I am using a version of WorldEdit compatible with my Minecraft version.
  • I am using the latest or recommended version of my platform software.
  • I am NOT using a hybrid server, e.g. a server that combines Bukkit and Forge. Examples include Arclight, Mohist, and Cardboard.
  • I am NOT using a fork of WorldEdit, such as FastAsyncWorldEdit (FAWE) or AsyncWorldEdit (AWE)

Bug Description

I have another mod that comes with fabric-permission-api:

	- do_a_barrel_roll 3.8.1
	   |-- fabric-permissions-api-v0 0.2-SNAPSHOT
	   \-- mixinsquared 0.1.2-beta.4

When this mod is loaded, worledit crashes with this stacktrace:

---- Minecraft Crash Report ----
// You should try our sister game, Minceraft!

Time: 2025-01-02 15:08:41
Description: Exception in server tick loop

java.lang.NoSuchMethodError: 'net.minecraft.class_2168 net.minecraft.class_1297.method_5671()'
	at knot//me.lucko.fabric.api.permissions.v0.Permissions.getPermissionValue(Permissions.java:147)
	at knot//com.sk89q.worldedit.fabric.FabricPermissionsProvider$LuckoFabricPermissionsProvider.hasPermission(FabricPermissionsProvider.java:61)
	at knot//com.sk89q.worldedit.fabric.FabricPlayer.hasPermission(FabricPlayer.java:207)
	at java.base/java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90)
	at java.base/java.util.Spliterators$IteratorSpliterator.tryAdvance(Spliterators.java:1950)
	at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
	at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
	at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:632)
	at knot//com.sk89q.worldedit.command.util.PermissionCondition.lambda$satisfied$0(PermissionCondition.java:47)
	at java.base/java.util.Optional.map(Optional.java:260)
	at knot//com.sk89q.worldedit.command.util.PermissionCondition.satisfied(PermissionCondition.java:47)
	at knot//com.sk89q.worldedit.fabric.CommandWrapper.lambda$requirementsFor$2(CommandWrapper.java:86)
	at knot//com.mojang.brigadier.tree.CommandNode.canUse(CommandNode.java:65)
	at knot//net.minecraft.class_2170.method_9239(class_2170.java:403)
	at knot//net.minecraft.class_2170.method_9241(class_2170.java:397)
	at knot//net.minecraft.class_3324.method_14596(class_3324.java:623)
	at knot//net.minecraft.class_3324.method_14576(class_3324.java:524)
	at knot//net.minecraft.class_3324.method_14570(class_3324.java:210)
	at knot//net.minecraft.class_8610.method_52408(class_8610.java:152)
	at knot//net.minecraft.class_8736.method_53043(class_8736.java:22)
	at knot//net.minecraft.class_8736.method_65081(class_8736.java:8)
	at knot//net.minecraft.class_2600.method_11072(class_2600.java:27)
	at knot//net.minecraft.class_3738.run(class_3738.java:18)
	at knot//net.minecraft.class_1255.method_18859(class_1255.java:164)
	at knot//net.minecraft.class_4093.mixinextras$bridge$method_18859$5(class_4093.java)
	at knot//net.minecraft.class_4093.wrapOperation$cfn000$carpet-tis-addition$yeetUpdateSuppressionCrash_implForThreadExecutorTaskExecuting(class_4093.java:570)
	at knot//net.minecraft.class_4093.method_18859(class_4093.java:23)
	at knot//net.minecraft.server.MinecraftServer.method_24306(MinecraftServer.java:889)
	at knot//net.minecraft.server.MinecraftServer.method_18859(MinecraftServer.java:180)
	at knot//net.minecraft.class_1255.method_16075(class_1255.java:138)
	at knot//net.minecraft.server.MinecraftServer.method_20415(MinecraftServer.java:871)
	at knot//net.minecraft.server.MinecraftServer.method_16075(MinecraftServer.java:865)
	at knot//net.minecraft.class_1255.method_18857(class_1255.java:147)
	at knot//net.minecraft.server.MinecraftServer.method_18857(MinecraftServer.java:829)
	at knot//net.minecraft.server.MinecraftServer.method_16208(MinecraftServer.java:836)
	at knot//net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:719)
	at knot//net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:292)
	at java.base/java.lang.Thread.run(Thread.java:1583)

Expected Behavior

I would expect worldedit to not crash if the fabric-permission-api is present

Reproduction Steps

  1. Install worldedit and Do A Barrel Roll
  2. Launch the game

Anything Else?

No response

@morgantic morgantic added status:pending Pending acceptance or closure. type:bug Incorrect behavior, not working as intended labels Jan 4, 2025
@me4502
Copy link
Member

me4502 commented Jan 4, 2025

that other mod is including a version of the fabric permissions API for the wrong version of Minecraft. this isn't a worldedit issue. if a mod for the wrong version of MC is loaded, it's expected that something will break. WorldEdit just happens to be the first thing that checks for permissions as it includes commands

@me4502 me4502 closed this as not planned Won't fix, can't repro, duplicate, stale Jan 4, 2025
@me4502 me4502 added status:invalid This does not describe a request or bug with WorldEdit and removed status:pending Pending acceptance or closure. labels Jan 4, 2025
@morgantic
Copy link
Author

Oh, I see, thanks for the info! I didn't assume WorldEdit actually actively uses the fabric permission api.

@octylFractal octylFractal marked this as a duplicate of #2695 Jan 18, 2025
@octylFractal octylFractal pinned this issue Jan 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status:invalid This does not describe a request or bug with WorldEdit type:bug Incorrect behavior, not working as intended
Projects
None yet
Development

No branches or pull requests

2 participants