Permissions sometimes not available at login #141


  • New
  • Defect
Open
Assigned to letsplaykain
  • _ForgeUser1494830 created this issue May 12, 2014
    Owner

    @ZerothAngel: Go

    Zeroth, we're still randomly seeing people joining the server and not having permissions and getting reset back to their default class. This only happens if they dont have the permission for X class.

    Unsure how to fix it or reproduce but its happening... have had reports of it in the last 2-3 days

  • _ForgeUser1494830 added the tags New Defect May 12, 2014
  • _ForgeUser1494830 assigned issue to letsplaykain May 21, 2014
  • _ForgeUser1494830 posted a comment May 21, 2014

    Tested disconnections with both latest CraftBukkit and Spigot builds.

    Event ordering was: login -> join -> (disconnect) -> (reconnect) -> login -> quit ->join

    Tested permissions with `/perm diff zerothangel` (compares effective permissions with permissions as calculated by zPerms). No differences found each time (only permissions that default to true show up).

    A few days ago, I also traced through the code path. There are 3 pieces of state that are kept about each player. During login/join, it appears to properly handle the cases when any of those 3 are missing (such as the case when the events are out of order).

    So I am leaning towards the belief that if they didn't have permissions during login, then they didn't have permissions at all. Something removed them from zPermissions, it's not some transient failure.

    The most likely culprit would be something acting through Vault.

    Anyway, without more info, I don't have anything else to go on. The next time it happens, if you or your staff could execute the following commands:

    /perm player <player> show
    /perm player <player> groups
    /perm diff <player>
    

    It would be very helpful.

  • letsplaykain posted a comment May 30, 2014

    I have dug deeper into this issue and added debug logs to Heroes.

    Heroes is not receiving the player with the proper permission when they log in.

    Note this error usually only occurs after timed restart and it's usually only the first few people that log in immediately after.

    Those that wait 5-10s do not have an issue. It seems the SQL database isnt fetching the permissions immediately after a restart.
    I have a thread here for further discussion. The only fix I can see is by barring users from joining the server for the first 100 ticks of the server start up while it prepares the permissions.

    http://dev.bukkit.org/bukkit-plugins/zpermissions/forum/67079-permissions-not-being-attached-at-load-heroes-conflict/

    http://i.imgur.com/KjKgCwF.png <<< heres the requested info - note that this user was on for 30-40+ minutes after it happened but I didnt see that other msg until just now. I do not believe he logged but i cant say 100%. He was one of the first users to enter the server after the restart.


    Edited May 30, 2014

To post a comment, please login or register a new account.