CanaryModTeam / CanaryLib

The CanaryMod API Library
http://canarymod.net
28 stars 22 forks source link

Canary throws "Column 'id' cannot be null" on /reload #57

Closed slowriot closed 9 years ago

slowriot commented 9 years ago

...even though no id entries are NULL and all tables have the id column set to NOT NULL

[SERVER] 2014-11-23 06:58:21 [ERROR] Column 'id' cannot be null
[SERVER] com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'id' cannot be null
[SERVER]        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.7.0_11]
[SERVER]        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.7.0_11]
[SERVER]        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.7.0_11]
[SERVER]        at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.7.0_11]
[SERVER]        at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) ~[CanaryMod-1.7.10-1.1.3-20141119.185316-43-shaded.jar:1.7.10-1.1.3-SNAP
[SERVER]        at com.mysql.jdbc.Util.getInstance(Util.java:386) ~[CanaryMod-1.7.10-1.1.3-20141119.185316-43-shaded.jar:1.7.10-1.1.3-SNAPSHOT]
[SERVER]        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1040) ~[CanaryMod-1.7.10-1.1.3-20141119.185316-43-shaded.jar:1.7.10-
[SERVER]        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074) ~[CanaryMod-1.7.10-1.1.3-20141119.185316-43-shaded.jar:1.7.10-1.1.
[SERVER]        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006) ~[CanaryMod-1.7.10-1.1.3-20141119.185316-43-shaded.jar:1.7.10-1.1.
[SERVER]        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468) ~[CanaryMod-1.7.10-1.1.3-20141119.185316-43-shaded.jar:1.7.10-1.1.3-SNA
[SERVER]        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629) ~[CanaryMod-1.7.10-1.1.3-20141119.185316-43-shaded.jar:1.7.10-1.1.3-
[SERVER]        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719) ~[CanaryMod-1.7.10-1.1.3-20141119.185316-43-shaded.jar:1.7.10
[SERVER]        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155) ~[CanaryMod-1.7.10-1.1.3-20141119.185316-43-sha
[SERVER]        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2450) ~[CanaryMod-1.7.10-1.1.3-20141119.185316-43-shade
[SERVER]        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2371) ~[CanaryMod-1.7.10-1.1.3-20141119.185316-43-shade
[SERVER]        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2355) ~[CanaryMod-1.7.10-1.1.3-20141119.185316-43-shade
[SERVER]        at com.mysql.jdbc.UpdatableResultSet.updateRow(UpdatableResultSet.java:2404) ~[CanaryMod-1.7.10-1.1.3-20141119.185316-43-shaded.
[SERVER]        at com.mchange.v2.c3p0.impl.NewProxyResultSet.updateRow(NewProxyResultSet.java:1958) ~[CanaryMod-1.7.10-1.1.3-20141119.185316-43
[SERVER]        at net.canarymod.database.mysql.MySQLDatabase.update(MySQLDatabase.java:118) [CanaryMod-1.7.10-1.1.3-20141119.185316-43-shaded.j
[SERVER]        at net.canarymod.backbone.BackboneUsers.updatePlayer(BackboneUsers.java:191) [CanaryMod-1.7.10-1.1.3-20141119.185316-43-shaded.j
[SERVER]        at net.canarymod.backbone.BackboneUsers.addUser(BackboneUsers.java:50) [CanaryMod-1.7.10-1.1.3-20141119.185316-43-shaded.jar:1.7
[SERVER]        at net.canarymod.user.UserAndGroupsProvider.addOrUpdatePlayerData(UserAndGroupsProvider.java:245) [CanaryMod-1.7.10-1.1.3-201411
[SERVER]        at net.canarymod.Canary.reload(Canary.java:376) [CanaryMod-1.7.10-1.1.3-20141119.185316-43-shaded.jar:1.7.10-1.1.3-SNAPSHOT]
[SERVER]        at net.canarymod.CanaryMod.reload(CanaryMod.java:130) [CanaryMod-1.7.10-1.1.3-20141119.185316-43-shaded.jar:1.7.10-1.1.3-SNAPSHO
[SERVER]        at net.canarymod.commandsys.commands.system.ReloadCommand.execute(ReloadCommand.java:18) [CanaryMod-1.7.10-1.1.3-20141119.185316
[SERVER]        at net.canarymod.commandsys.CommandList.reloadCommand(CommandList.java:967) [CanaryMod-1.7.10-1.1.3-20141119.185316-43-shaded.ja
[SERVER]        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_11]
[SERVER]        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_11]
[SERVER]        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_11]
[SERVER]        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_11]
[SERVER]        at net.canarymod.commandsys.CommandManager$1.execute(CommandManager.java:313) [CanaryMod-1.7.10-1.1.3-20141119.185316-43-shaded.
[SERVER]        at net.canarymod.commandsys.CanaryCommand.parseCommand(CanaryCommand.java:97) [CanaryMod-1.7.10-1.1.3-20141119.185316-43-shaded.
[SERVER]        at net.canarymod.commandsys.CommandManager.parseCommand(CommandManager.java:176) [CanaryMod-1.7.10-1.1.3-20141119.185316-43-shad
[SERVER]        at net.canarymod.api.CanaryServer.consoleCommand(CanaryServer.java:157) [CanaryMod-1.7.10-1.1.3-20141119.185316-43-shaded.jar:1.
[SERVER]        at net.minecraft.server.dedicated.DedicatedServer$2.run(DedicatedServer.java:142) [CanaryMod-1.7.10-1.1.3-20141119.185316-43-sha
darkdiplomat commented 9 years ago

I am unable to reproduce this error using the recent master builds (20141122)

slowriot commented 9 years ago

This occurs immediately after a `2014-11-24 14:57:35 [WARN] Player myplayername already exists. Updating it instead!`` (for every player that already has an entry in the database, seemingly?)

slowriot commented 9 years ago

Via @14mRh4X0r: "it seems to be limited to people with more than one group".