LuckPerms

LuckPerms

41.4k Downloads

PermissionsEX Migration issue

bradyrenting opened this issue ยท 5 comments

commented

Hi, I tried to migrate because we used PermissionsEx in the past.

After Luckperms migrated the groups and tracks it will do the users, but it will keep stuck at saying ''[LP] MIGRATION [PermissionsEx] > Starting user migration.". I have waited a very long time and nothing happened.

Also, there was an error while migrating the groups, but the groups are successfully migrated though.

[14:24:58] [pool-8-thread-1/WARN]: java.lang.NullPointerException
[14:24:58] [pool-8-thread-1/WARN]: 	at me.lucko.luckperms.common.commands.impl.migration.MigrationUtils.setGroupWeight(MigrationUtils.java:55)
[14:24:58] [pool-8-thread-1/WARN]: 	at me.lucko.luckperms.bukkit.migration.MigrationPermissionsEx.lambda$execute$0(MigrationPermissionsEx.java:102)
[14:24:58] [pool-8-thread-1/WARN]: 	at me.lucko.luckperms.common.utils.SafeIterator.iterate(SafeIterator.java:36)
[14:24:58] [pool-8-thread-1/WARN]: 	at me.lucko.luckperms.bukkit.migration.MigrationPermissionsEx.execute(MigrationPermissionsEx.java:95)
[14:24:58] [pool-8-thread-1/WARN]: 	at me.lucko.luckperms.common.commands.abstraction.MainCommand.execute(MainCommand.java:104)
[14:24:58] [pool-8-thread-1/WARN]: 	at me.lucko.luckperms.common.commands.abstraction.MainCommand.execute(MainCommand.java:47)
[14:24:58] [pool-8-thread-1/WARN]: 	at me.lucko.luckperms.common.commands.CommandManager.execute(CommandManager.java:197)
[14:24:58] [pool-8-thread-1/WARN]: 	at me.lucko.luckperms.common.commands.CommandManager.lambda$onCommand$0(CommandManager.java:142)
[14:24:58] [pool-8-thread-1/WARN]: 	at java.util.concurrent.CompletableFuture$AsyncSupply.run(Unknown Source)
[14:24:58] [pool-8-thread-1/WARN]: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
[14:24:58] [pool-8-thread-1/WARN]: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
[14:24:58] [pool-8-thread-1/WARN]: 	at java.lang.Thread.run(Unknown Source)

LuckPerms Version: LuckPerms-Bukkit-4.0.109.jar
PermissionsEx Version: PermissionsEx-1.23.4.jar
PaperSpigot Version: git-Paper-1248 (MC: 1.12.2) (Implementing API version 1.12.2-R0.1-SNAPSHOT)

Thanks in advance.

Brady

commented

A shot in the dark here - switch to spigot (temp) just to migrate only. You can always switch back to Paper afterwards.

Until Luck takes a look at this that is my only suggestion to try.

commented

Hi Spannerman,

Thank you. I tried using the latest Spigot 1.12 build but it still does not work. It is still stuck at "Starting user migration."

This time there was no error at all.

commented

Could be lots of things - most likely a deadlock inside a PEX internal.

Unfortunately, LuckPerms relies on the backend of the other permission plugin to handle all of the data loading during migration.

The only way to properly diagnose the issue is to obtain a stack trace.

Assuming you have direct access to the machine your server is running on, you can:

  1. Find the PID for the java process by running ps aux | grep java. The PID is the number at the start of each line.

  2. Use the jstack command to obtain a stack trace - e.g. jstack 674 > stack.txt

Once you have the stack traces, upload the stack.txt file to pastebin & send it here.

commented

Here are the stack traces.

commented

PEX issue.

"pool-10-thread-1" #137 prio=5 os_prio=0 tid=0x00007f3bee5ae800 nid=0x18bc waiting for monitor entry [0x00007f3bc8052000]
   java.lang.Thread.State: BLOCKED (on object monitor)
    at ru.tehkode.permissions.backends.file.FileBackend.getUserData(FileBackend.java:197)
    - waiting to lock <0x000000060ddcb7e0> (a java.lang.Object)
    at ru.tehkode.permissions.PermissionManager.getUser(PermissionManager.java:220)
    at ru.tehkode.permissions.PermissionManager.getUsers(PermissionManager.java:264)
    at me.lucko.luckperms.bukkit.migration.MigrationPermissionsEx.execute(MigrationPermissionsEx.java:139)
    at me.lucko.luckperms.common.commands.abstraction.MainCommand.execute(MainCommand.java:104)
    at me.lucko.luckperms.common.commands.abstraction.MainCommand.execute(MainCommand.java:47)
    at me.lucko.luckperms.common.commands.CommandManager.execute(CommandManager.java:197)
    at me.lucko.luckperms.common.commands.CommandManager.lambda$onCommand$0(CommandManager.java:142)
    at me.lucko.luckperms.common.commands.CommandManager$$Lambda$463/881665712.get(Unknown Source)
    at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

It's blocking on ru.tehkode.permissions.backends.file.FileBackend.getUserData(FileBackend.java:197).

Not a LuckPerms issue - there's not really anything I can do about it. PEX for whatever reason can't read data for a player.