[CDO] [ERROR] Buffer@6,443[RELEASED] [message #1852090] |
Thu, 28 April 2022 12:14  |
Eclipse User |
|
|
|
Hello CDO Team,
we have strange error on the server side.
We use the derby-db as backend and the tcp connector.
Wenn we start the server everything works fine. Until on the server side this exception occures.
[ERROR] Buffer@6,443[RELEASED]
java.lang.IllegalStateException: Buffer@6,443[RELEASED]
at org.eclipse.internal.net4j.buffer.Buffer.write(Buffer.java:359)
at org.eclipse.net4j.internal.tcp.TCPConnector.handleWrite(TCPConnector.java:332)
at org.eclipse.net4j.internal.tcp.TCPSelector.handleSelection(TCPSelector.java:275)
at org.eclipse.net4j.internal.tcp.TCPSelector.run(TCPSelector.java:190)
at java.base/java.lang.Thread.run(Thread.java:833)
Then we are not able to reconnect and the current connection hangs.
If we want to connect we get on the server side:
[ERROR] Buffer@1[RELEASED]
java.lang.IllegalStateException: Buffer@1[RELEASED]
at org.eclipse.internal.net4j.buffer.Buffer.startPutting(Buffer.java:324)
at org.eclipse.net4j.signal.SignalProtocol$SignalOutputStream$1.provideBuffer(SignalProtocol.java:815)
at org.eclipse.net4j.buffer.BufferOutputStream.ensureBufferPrivate(BufferOutputStream.java:225)
at org.eclipse.net4j.buffer.BufferOutputStream.write(BufferOutputStream.java:118)
at java.base/java.io.DataOutputStream.writeInt(DataOutputStream.java:208)
at org.eclipse.net4j.signal.RemoteExceptionRequest.requesting(RemoteExceptionRequest.java:41)
at org.eclipse.net4j.signal.Request.doExtendedOutput(Request.java:67)
at org.eclipse.net4j.signal.Signal.doOutput(Signal.java:392)
at org.eclipse.net4j.signal.Request.doExecute(Request.java:59)
at org.eclipse.net4j.signal.SignalActor.execute(SignalActor.java:53)
at org.eclipse.net4j.signal.Signal.runSync(Signal.java:329)
at org.eclipse.net4j.signal.SignalProtocol.startSignal(SignalProtocol.java:557)
at org.eclipse.net4j.signal.Request.sendAsync(Request.java:53)
at org.eclipse.net4j.signal.IndicationWithResponse.sendExceptionSignal(IndicationWithResponse.java:124)
at org.eclipse.net4j.signal.IndicationWithResponse.execute(IndicationWithResponse.java:83)
at org.eclipse.net4j.signal.Signal.runSync(Signal.java:329)
at org.eclipse.net4j.signal.SignalReactor.runSync(SignalReactor.java:74)
at org.eclipse.net4j.signal.Signal.run(Signal.java:201)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
and on the client side:
TCPSelector [debug.buffer] Retaining Buffer@2[RELEASED]
main [debug.signal] ================ Requesting: RepositoryTimeRequest[protocol=cdo, correlation=6]
main [debug.buffer] Obtained Buffer@1[INITIAL]
main [debug.channel] Handling buffer: Buffer@1[PUTTING] --> Channel[1, CLIENT, cdo]
TCPSelector [debug.buffer] Writing 5 bytes (EOS)
00 00 00 07 00 17
main [debug.signal] ================ Confirming: RepositoryTimeRequest[protocol=cdo, correlation=6]
TCPSelector [debug.buffer] Retaining Buffer@1[RELEASED]
After restarting the server everything is fine.
Has someone a idea what could be the reason for it?
Alexander
[Updated on: Thu, 28 April 2022 16:00] by Moderator
|
|
|
|
Re: [CDO] [ERROR] Buffer@6,443[RELEASED] [message #1852131 is a reply to message #1852100] |
Sun, 01 May 2022 13:54   |
Eclipse User |
|
|
|
Hi Eike,
1) I use the Eclipse 2021-12 Version with JDK 17.
2) The standard?
3) Yes it is the plain TCPConnector.
4) Now yes. Im able to reproduce it.
5) I am not sure to optimal configure the tracing. Could you provide a .option file.
6)
Now how I could reproduce it.
To make it easy i startet the cdo-server on port 80.
After that i used Firefox to connect to the cdo-server.
The Server logs following and everything seems ok:
TCPSelector [debug.acceptor] Added connector TCPServerConnector[192.168.1.1:59,729]
TCPSelector [debug.channel] Handling buffer: Buffer@2[PUTTING] --> Channel[Control, SERVER]
TCPSelector [debug.connector] Setting state NEGOTIATING (was connecting) for TCPServerConnector[192.168.1.1:59,729]
TCPSelector [debug.connector] Setting state CONNECTING (was disconnected) for TCPServerConnector[192.168.1.1:59,729]
TCPSelector [debug.acceptor] Added connector TCPServerConnector[192.168.1.1:59,728]
TCPSelector [debug.channel] Handling buffer: Buffer@1[PUTTING] --> Channel[Control, SERVER]
TCPSelector [debug.connector] Setting state NEGOTIATING (was connecting) for TCPServerConnector[192.168.1.1:59,728]
TCPSelector [debug.connector] Setting state CONNECTING (was disconnected) for TCPServerConnector[192.168.1.1:59,728]
Then I connect with the cdo-client.
The client logs and fails to connect:
Setting userID null for TCPClientConnector[192.168.1.1:80]
Setting state CONNECTING (was disconnected) for TCPClientConnector[192.168.1.1:80]
main [debug] Ordering client operation REGISTER java.nio.channels.SocketChannel[unconnected]
TCPSelector [debug] Executing client operation REGISTER java.nio.channels.SocketChannel[unconnected]
TCPSelector [debug] Registering java.nio.channels.SocketChannel[unconnected]
TCPSelector [debug] Connecting java.nio.channels.SocketChannel[connection-pending remote=192.168.1.1:80]
TCPSelector [debug] Ordering client operation INTEREST CONNECT java.nio.channels.SocketChannel[connected local=/192.168.1.1:59735 remote=192.168.1.1:80] = false
TCPSelector [debug] Ordering client operation INTEREST READ java.nio.channels.SocketChannel[connected local=/192.168.1.1:59735 remote=192.168.1.1:80] = true
TCPSelector [debug.connector] Setting state NEGOTIATING (was connecting) for TCPClientConnector[192.168.1.1:80]
TCPSelector [debug] Executing client operation INTEREST CONNECT java.nio.channels.SocketChannel[connected local=/192.168.1.1:59735 remote=192.168.1.1:80] = false
TCPSelector [debug] Setting interest (was connect)
TCPSelector [debug] Executing client operation INTEREST READ java.nio.channels.SocketChannel[connected local=/192.168.1.1:59735 remote=192.168.1.1:80] = true
TCPSelector [debug] Setting interest READ
org.eclipse.net4j.util.lifecycle.LifecycleException: Could not activate TCPClientConnector[192.168.1.1:80]
at org.eclipse.net4j.util.container.ManagedContainer.activateElement(ManagedContainer.java:403)
at org.eclipse.net4j.util.container.ManagedContainer.getElement(ManagedContainer.java:359)
at org.eclipse.net4j.util.container.ManagedContainer.getElement(ManagedContainer.java:334)
at org.eclipse.net4j.Net4jUtil.getConnector(Net4jUtil.java:83)
at org.eclipse.net4j.Net4jUtil.getConnector(Net4jUtil.java:100)
And then the server logs:
java.lang.IllegalStateException: Buffer@2[RELEASED]
at org.eclipse.internal.net4j.buffer.Buffer.write(Buffer.java:359)
at org.eclipse.net4j.internal.tcp.TCPConnector.handleWrite(TCPConnector.java:332)
at org.eclipse.net4j.internal.tcp.TCPSelector.handleSelection(TCPSelector.java:275)
at org.eclipse.net4j.internal.tcp.TCPSelector.run(TCPSelector.java:190)
at java.base/java.lang.Thread.run(Thread.java:833)
If you would like i can give you a deep insight in a online-meeting, beause I think it is time-saving for both of us.
Cheers Alexander
[Updated on: Sun, 01 May 2022 13:55] by Moderator
|
|
|
|
Re: [CDO] [ERROR] Buffer@6,443[RELEASED] [message #1852137 is a reply to message #1852135] |
Mon, 02 May 2022 03:26  |
Eclipse User |
|
|
|
Hi Eike,
yes on port 2036 without an http-request everything works fine.
I tested it on a linux vm. Also on port 80 if only CDO request are seen by the CDO server, everything is fine and stable.
"i used Firefox to connect to the cdo-server"
I wanted a fast way to get a http request. So i used Firefox to connect to http://CDOServerIP:CDOServerPort to reproduce the error.
So it also works to use port 2036 or any other to get the java.lang.IllegalStateException: Buffer@2[RELEASED] erro on the CDO Server.
What would the next step? How can I help?
Cheers
Alexander
[Updated on: Tue, 20 September 2022 09:31] by Moderator
|
|
|
Powered by
FUDForum. Page generated in 0.04932 seconds