ERROR: duplicate key violates unique constraint "jiverostergroups_pk"

Found following exceptipn today after upgrading from 3.1 b3 to 3.1:

2006.10.10 09:59:38 org.jivesoftware.wildfire.roster.RosterItemProvider.insertGroups(RosterItemProvi der.java:358)

org.postgresql.util.PSQLException: ERROR: duplicate key violates unique constraint “jiverostergroups_pk”

at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl .java:1512)

at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java: 1297)

at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)

at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java :430)

at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2State ment.java:346)

at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statemen t.java:300)

at org.jivesoftware.wildfire.roster.RosterItemProvider.insertGroups(RosterItemProv ider.java:355)

at org.jivesoftware.wildfire.roster.RosterItemProvider.updateItem(RosterItemProvid er.java:156)

at org.jivesoftware.wildfire.roster.Roster.updateRosterItem(Roster.java:394)

at org.jivesoftware.wildfire.gateway.BaseTransport.addOrUpdateRosterItem(BaseTrans port.java:926)

at org.jivesoftware.wildfire.gateway.BaseTransport.addOrUpdateRosterItem(BaseTrans port.java:979)

at org.jivesoftware.wildfire.gateway.BaseTransport.addOrUpdateRosterItem(BaseTrans port.java:993)

at org.jivesoftware.wildfire.gateway.BaseTransport.syncLegacyRoster(BaseTransport. java:1090)

at org.jivesoftware.wildfire.gateway.protocols.yahoo.YahooSession.syncUsers(YahooS ession.java:182)

at org.jivesoftware.wildfire.gateway.protocols.yahoo.YahooSession$1.run(YahooSessi on.java:113)

at org.jivesoftware.wildfire.gateway.protocols.yahoo.YahooSession.logIn(YahooSessi on.java:97)

at org.jivesoftware.wildfire.gateway.protocols.yahoo.YahooTransport.registrationLo ggedIn(YahooTransport.java:91)

at org.jivesoftware.wildfire.gateway.BaseTransport.processPacket(BaseTransport.jav a:249)

at org.jivesoftware.wildfire.gateway.BaseTransport.processPacket(BaseTransport.jav a:131)

at org.jivesoftware.wildfire.component.InternalComponentManager$RoutableComponent. process(InternalComponentManager.java:435)

at org.jivesoftware.wildfire.net.SocketPacketWriteHandler.process(SocketPacketWrit eHandler.java:53)

at org.jivesoftware.wildfire.spi.PacketDelivererImpl.deliver(PacketDelivererImpl.j ava:48)

at org.jivesoftware.wildfire.spi.PresenceManagerImpl.probePresence(PresenceManager Impl.java:293)

at org.jivesoftware.wildfire.spi.PresenceManagerImpl.handleProbe(PresenceManagerIm pl.java:191)

at org.jivesoftware.wildfire.PresenceRouter.handle(PresenceRouter.java:122)

at org.jivesoftware.wildfire.PresenceRouter.route(PresenceRouter.java:61)

at org.jivesoftware.wildfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:75)

at org.jivesoftware.wildfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:56)

at org.jivesoftware.wildfire.component.InternalComponentManager.sendPacket(Interna lComponentManager.java:160)

at org.jivesoftware.wildfire.gateway.BaseTransport.sendPacket(BaseTransport.java:1 276)

at org.jivesoftware.wildfire.gateway.BaseTransport.start(BaseTransport.java:787)

at org.jivesoftware.wildfire.component.InternalComponentManager.addComponent(Inter nalComponentManager.java:108)

at org.jivesoftware.wildfire.gateway.TransportInstance.startInstance(TransportInst ance.java:134)

at org.jivesoftware.wildfire.gateway.GatewayPlugin.maybeStartService(GatewayPlugin .java:101)

at org.jivesoftware.wildfire.gateway.GatewayPlugin.initializePlugin(GatewayPlugin. java:69)

at org.jivesoftware.wildfire.container.PluginManager.loadPlugin(PluginManager.java :405)

at org.jivesoftware.wildfire.container.PluginManager.access$200(PluginManager.java :49)

at org.jivesoftware.wildfire.container.PluginManager$PluginMonitor.run(PluginManag er.java:905)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)

at java.util.concurrent.FutureTask.runAndReset(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101 (Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodi c(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknow n Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

GATE-91