Comment 1 for bug 1158098

Revision history for this message
Alvin Peng (pengalvin) wrote :

The cause may be:

SqlGrant.java:
    /**
     * Grammar production:
     * f0 -> <PUBLIC_>
     * | Identifier(prn)
     */
    @Override
    public Object visit(Grantee n, Object argu) {
        if (n.f0.which == 0) {
            granteeList.add(null);
        }
...
    }

For "public", n.f0.which==0, so null is added to granteeList.
Then,

public void prepare() throws Exception {
...
            for (String granteeName : granteeList) {
                iGranteeList.add(granteeName == null ? null : database.getSysUser(granteeName));
            }
...
}

null is added to iGranteeList.

When Stado starts up,
SysTable.java:
void readPermissionsInfo() throws XDBServerException {
...
                sysPermissions.put(user, aSysPermission);
                user.addGranted(this); <-- this will cause exception because user is null
...