This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Using OpenFire 3.4.1 with a new, default installation on Mac OS X with NetBeans 5.5.1 or 6.0 results in an error: object does not represent a valid JID The wiki page for the Collaboration Server (http://wiki.netbeans.org/wiki/view/CollabServer) says that it is tested with the latest version of the OpenFire XMPP server.
Upgrading this to a P1 as it renders the Netbeans collaboration capability completely unusable for many of us. We cannot rely on share.java.net for both security and performance reasons, and openfire appears to be the only private server option. I've spent some time looking into the issue. The exception arises inside openfire in PresenceManagerImpl.userUnavailable(). It gets a primary key violation inserting a new unavailable status into jivePresence, because there is one already there. The logic in available() vs. unavailable() is supposed to not allow this to happen. I don't understand why logging in through Netbeans is causing an unavailable entry anyway -- presumably the user is becoming available. It's not clear to me whether this bug is in Netbeans or in openfire, but either way Netbeans collaboration capability simply doesn't work at all for us because nobody can log in. The problem arises with Netbeans 6.1 using openfire 3.5.2 with either mysql or the built-in hsqldb. Here is the exception on the openfire side: 2008.06.30 18:11:24 [org.jivesoftware.openfire.spi.PresenceManagerImpl.userUnavailable(PresenceManagerImpl.java:268)] Error storing offline presence of user: chuck com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Duplicate entry 'chuck' for key 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:931) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723) at com.mysql.jdbc.Connection.execSQL(Connection.java:3283) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332) at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:882) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.logicalcobwebs.proxool.ProxyStatement.invoke(ProxyStatement.java:100) at org.logicalcobwebs.proxool.ProxyStatement.intercept(ProxyStatement.java:57) at $java.sql.Wrapper$$EnhancerByProxool$$39c4002c.execute(<generated>) at org.jivesoftware.openfire.spi.PresenceManagerImpl.userUnavailable(PresenceManagerImpl.java:265) at org.jivesoftware.openfire.handler.PresenceUpdateHandler.process(PresenceUpdateHandler.java:145) at org.jivesoftware.openfire.handler.PresenceUpdateHandler.process(PresenceUpdateHandler.java:112) at org.jivesoftware.openfire.handler.PresenceUpdateHandler.process(PresenceUpdateHandler.java:176) at org.jivesoftware.openfire.PresenceRouter.handle(PresenceRouter.java:134) at org.jivesoftware.openfire.PresenceRouter.route(PresenceRouter.java:70) at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:76) at org.jivesoftware.openfire.SessionManager$ClientSessionListener.onConnectionClose(SessionManager.java:1133) at org.jivesoftware.openfire.nio.NIOConnection.notifyCloseListeners(NIOConnection.java:183) at org.jivesoftware.openfire.nio.NIOConnection.close(NIOConnection.java:166) at org.jivesoftware.openfire.session.LocalSession.close(LocalSession.java:303) at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:132) at org.jivesoftware.openfire.nio.ConnectionHandler.messageReceived(ConnectionHandler.java:133) at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:570) at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299) at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53) at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648) at org.apache.mina.common.IoFilterAdapter.messageReceived(IoFilterAdapter.java:80) at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299) at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53) at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648) at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:58) at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:185) at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299) at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53) at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648) at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:239) at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:283) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51) at java.lang.Thread.run(Thread.java:619) The entry already in jivePresence is this: mysql> select * from jivePresence; +----------+---------------------------------------------------------------------------------------------------+-----------------+ | username | offlinePresence | offlineDate | +----------+---------------------------------------------------------------------------------------------------+-----------------+ | chuck | <presence type="unavailable" from="chuck@innovtools.hq.brocasystems.com/ide"><status/></presence> | 001214848245704 | +----------+---------------------------------------------------------------------------------------------------+-----------------+ 1 row in set (0.00 sec) mysql>
Reassigning to issues@collab. Collab Support plugin is not actively maintained. Obsoleted in 6.7 by the newly introduced integration with Project Kenai, a collaborative environment for developers to host their open-source projects, which includes also a chat service.
Project Kenai does not provide the same functionality set. The collab modules provide excellent in house development collaboration for companies developing private (or you-are-going-hell-proprietary) code. Project Kenai is only for open source projects. In house collaboration also provides superior performance and security.
Obsolete issue. Closing.
v/c