Forum C# Weird Error

Weird Error

Postby default0 » December 19th, 2010, 9:34 pm

Hey

have had some kind of weird issue with my server.

I ran it, and everything was okay. Then I left, browsed, chatted a bit and such, went back and checked my game and noticed some strange errors in my development server:

Code: Select all
SocketConnection.ReceivedBytes ERROR: Das Objekt "/27ba4ea3_6758_487d_b07c_b77a3601a3b4/em1qudgwutkk3+dgaaw1lo5h_70.rem" wurde getrennt oder ist nicht auf dem Server vorhanden., Appdomain: Z_10, Exception: System.Runtime.Remoting.RemotingException: Das Objekt "/27ba4ea3_6758_487d_b07c_b77a3601a3b4/em1qudgwutkk3+dgaaw1lo5h_70.rem" wurde getrennt oder ist nicht auf dem Server vorhanden.
   bei ba.a(go A_0, BasePlayer A_1, Message A_2)
   bei k3.a(go A_0, BasePlayer A_1, Message A_2, Action A_3)
   bei dy.eo(Message A_0)
   bei PlayerIO.ServerCore.SocketLibrary.Message.a(Byte[] A_0, Int32 A_1, Int32 A_2, b A_3, el A_4)
   bei h5.g2(Byte[] A_0, Int32 A_1, Int32 A_2)
   bei ko.h(IAsyncResult A_0)


Was, what I saw.

I have no clue what's causing it, and I really don't think that I am causing it this time.

After seeing it, I closed my client window (since I was done testing), looked at the server and the player was still connected to the server, even though I shut down my client.

My guess is, that the error above is caused by the server trying to time out the connection of a no longer connected player or something like that.

I will try to reproduce it, but I don't think I will find a reliable way to reproduce this.

EDIT: Did the exact same thing again (connected my client and waited some time) and the error did not appear. Then I closed the client window and it said the client was still connected. I tried connecting to the server with another client and this error message came up:
Code: Select all
Initial SocketConnection.ReceivedBytes ERROR: Das Objekt "/227d0b20_a425_42df_ade6_a6b93dfdc0ac/c+yzqxterhser9lskjwdiglo_4.rem" wurde getrennt oder ist nicht auf dem Server vorhanden., Appdomain@ Z_10, Exception: System.Runtime.Remoting.RemotingException: Das Objekt "/227d0b20_a425_42df_ade6_a6b93dfdc0ac/c+yzqxterhser9lskjwdiglo_4.rem" wurde getrennt oder ist nicht auf dem Server vorhanden.
   bei ba.a(go A_0, BasePlayer A_1, Message A_2)
   bei k3.a(go A_0, BasePlayer A_1, Message A_2, Action A_3)
   bei dy.eo(Message A_0)
   bei PlayerIO.ServerCore.SocketLibrary.Message.a(Byte[] A_0, Int32 A_1, Int32 A_2, b A_3, el A_4)
   bei h5.g2(Byte[] A_0, Int32 A_1, Int32 A_2)
   bei ko.g(kj A_0, kj A_1, Socket A_2, IPEndPoint A_3, Byte[] A_4, Int32 A_5, Int32 A_6)


Hope this can help you locate the bug.

Best regards
Try to play my Game: -->BlackGalaxy<--
User avatar
default0
 
Posts: 115
Joined: February 2nd, 2010, 6:46 pm
Location: Germany

Re: Weird Error

Postby Oliver » December 20th, 2010, 1:35 pm

Thanks for the very precise and detailed error message; it's excellent!

What you're seeing there is a failure to update the UI (it has to do with crossdomain leases inside .net).

We're reasonably sure that this issue is no longer with us with the next version of the development server (out soonish), because we've changed a large part of how the UI is updated under the covers.

Best,
Oliver
User avatar
Oliver
.IO
 
Posts: 1159
Joined: January 12th, 2010, 8:29 am

Re: Weird Error

Postby default0 » December 20th, 2010, 5:35 pm

Oliver wrote:Thanks for the very precise and detailed error message; it's excellent!

What you're seeing there is a failure to update the UI (it has to do with crossdomain leases inside .net).

We're reasonably sure that this issue is no longer with us with the next version of the development server (out soonish), because we've changed a large part of how the UI is updated under the covers.

Best,
Oliver


Good to hear. Looking forward to the next release :)

Best regards
Try to play my Game: -->BlackGalaxy<--
User avatar
default0
 
Posts: 115
Joined: February 2nd, 2010, 6:46 pm
Location: Germany

Re: Weird Error

Postby TobiasW » December 23rd, 2010, 1:37 am

Guess that's along the same line...

Code: Select all
SocketConnection.ReceivedBytes ERROR: Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement panel1 erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde., Appdomain: Test Server.vshost.exe, Exception: System.InvalidOperationException: Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement panel1 erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde.
   bei System.Windows.Forms.Control.get_Handle()
   bei System.Windows.Forms.Control.SetBoundsCore(Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified)
   bei System.Windows.Forms.Control.System.Windows.Forms.Layout.IArrangedElement.SetBounds(Rectangle bounds, BoundsSpecified specified)
   bei System.Windows.Forms.Layout.DefaultLayout.xLayoutDockedControl(IArrangedElement element, Rectangle newElementBounds, Boolean measureOnly, Size& preferredSize, Rectangle& remainingBounds)
   bei System.Windows.Forms.Layout.DefaultLayout.LayoutDockedControls(IArrangedElement container, Boolean measureOnly)
   bei System.Windows.Forms.Layout.DefaultLayout.xLayout(IArrangedElement container, Boolean measureOnly, Size& preferredSize)
   bei System.Windows.Forms.Layout.DefaultLayout.LayoutCore(IArrangedElement container, LayoutEventArgs args)
   bei System.Windows.Forms.Layout.LayoutEngine.Layout(Object container, LayoutEventArgs layoutEventArgs)
   bei System.Windows.Forms.Control.OnLayout(LayoutEventArgs levent)
   bei System.Windows.Forms.Control.PerformLayout(LayoutEventArgs args)
   bei System.Windows.Forms.Control.PerformLayout(LayoutEventArgs args)
   bei System.Windows.Forms.Layout.LayoutTransaction.DoLayout(IArrangedElement elementToLayout, IArrangedElement elementCausingLayout, String property)
   bei System.Windows.Forms.ToolStrip.DoLayoutIfHandleCreated(ToolStripItemEventArgs e)
   bei System.Windows.Forms.ToolStripItem.OnVisibleChanged(EventArgs e)
   bei a9.a(Action A_0, AppDomain A_1, dv A_2, String A_3)
   bei ew.av(JoinInfo A_0, Socket A_1, Byte[] A_2, Int32 A_3, Int32 A_4)
   bei co.a.a.g2(Byte[] A_0, Int32 A_1, Int32 A_2)
   bei kn.h(IAsyncResult A_0)
SocketConnection.ReceivedBytes ERROR: Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement panel1 erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde., Appdomain: Test Server.vshost.exe, Exception: System.InvalidOperationException: Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement panel1 erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde.
   bei System.Windows.Forms.Control.get_Handle()
   bei System.Windows.Forms.Control.SetBoundsCore(Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified)
   bei System.Windows.Forms.Control.System.Windows.Forms.Layout.IArrangedElement.SetBounds(Rectangle bounds, BoundsSpecified specified)
   bei System.Windows.Forms.Layout.DefaultLayout.xLayoutDockedControl(IArrangedElement element, Rectangle newElementBounds, Boolean measureOnly, Size& preferredSize, Rectangle& remainingBounds)
   bei System.Windows.Forms.Layout.DefaultLayout.LayoutDockedControls(IArrangedElement container, Boolean measureOnly)
   bei System.Windows.Forms.Layout.DefaultLayout.xLayout(IArrangedElement container, Boolean measureOnly, Size& preferredSize)
   bei System.Windows.Forms.Layout.DefaultLayout.LayoutCore(IArrangedElement container, LayoutEventArgs args)
   bei System.Windows.Forms.Layout.LayoutEngine.Layout(Object container, LayoutEventArgs layoutEventArgs)
   bei System.Windows.Forms.Control.OnLayout(LayoutEventArgs levent)
   bei System.Windows.Forms.Control.PerformLayout(LayoutEventArgs args)
   bei System.Windows.Forms.Control.PerformLayout(LayoutEventArgs args)
   bei System.Windows.Forms.Layout.LayoutTransaction.DoLayout(IArrangedElement elementToLayout, IArrangedElement elementCausingLayout, String property)
   bei System.Windows.Forms.ToolStrip.DoLayoutIfHandleCreated(ToolStripItemEventArgs e)
   bei System.Windows.Forms.ToolStripItem.OnVisibleChanged(EventArgs e)
   bei a9.a(Action A_0, AppDomain A_1, dv A_2, String A_3)
   bei ew.av(JoinInfo A_0, Socket A_1, Byte[] A_2, Int32 A_3, Int32 A_4)
   bei co.a.a.g2(Byte[] A_0, Int32 A_1, Int32 A_2)
   bei kn.h(IAsyncResult A_0)
SocketConnection.ReceivedBytes ERROR: Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement panel1 erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde., Appdomain: Test Server.vshost.exe, Exception: System.InvalidOperationException: Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement panel1 erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde.
   bei System.Windows.Forms.Control.get_Handle()
   bei System.Windows.Forms.Control.SetBoundsCore(Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified)
   bei System.Windows.Forms.Control.System.Windows.Forms.Layout.IArrangedElement.SetBounds(Rectangle bounds, BoundsSpecified specified)
   bei System.Windows.Forms.Layout.DefaultLayout.xLayoutDockedControl(IArrangedElement element, Rectangle newElementBounds, Boolean measureOnly, Size& preferredSize, Rectangle& remainingBounds)
   bei System.Windows.Forms.Layout.DefaultLayout.LayoutDockedControls(IArrangedElement container, Boolean measureOnly)
   bei System.Windows.Forms.Layout.DefaultLayout.xLayout(IArrangedElement container, Boolean measureOnly, Size& preferredSize)
   bei System.Windows.Forms.Layout.DefaultLayout.LayoutCore(IArrangedElement container, LayoutEventArgs args)
   bei System.Windows.Forms.Layout.LayoutEngine.Layout(Object container, LayoutEventArgs layoutEventArgs)
   bei System.Windows.Forms.Control.OnLayout(LayoutEventArgs levent)
   bei System.Windows.Forms.Control.PerformLayout(LayoutEventArgs args)
   bei System.Windows.Forms.Control.PerformLayout(LayoutEventArgs args)
   bei System.Windows.Forms.Layout.LayoutTransaction.DoLayout(IArrangedElement elementToLayout, IArrangedElement elementCausingLayout, String property)
   bei System.Windows.Forms.ToolStrip.DoLayoutIfHandleCreated(ToolStripItemEventArgs e)
   bei System.Windows.Forms.ToolStripItem.OnVisibleChanged(EventArgs e)
   bei a9.a(Action A_0, AppDomain A_1, dv A_2, String A_3)
   bei ew.av(JoinInfo A_0, Socket A_1, Byte[] A_2, Int32 A_3, Int32 A_4)
   bei co.a.a.g2(Byte[] A_0, Int32 A_1, Int32 A_2)
   bei kn.h(IAsyncResult A_0)
SocketConnection.ReceivedBytes ERROR: Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement panel1 erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde., Appdomain: Test Server.vshost.exe, Exception: System.InvalidOperationException: Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement panel1 erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde.
   bei System.Windows.Forms.Control.get_Handle()
   bei System.Windows.Forms.Control.SetBoundsCore(Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified)
   bei System.Windows.Forms.Control.System.Windows.Forms.Layout.IArrangedElement.SetBounds(Rectangle bounds, BoundsSpecified specified)
   bei System.Windows.Forms.Layout.DefaultLayout.xLayoutDockedControl(IArrangedElement element, Rectangle newElementBounds, Boolean measureOnly, Size& preferredSize, Rectangle& remainingBounds)
   bei System.Windows.Forms.Layout.DefaultLayout.LayoutDockedControls(IArrangedElement container, Boolean measureOnly)
   bei System.Windows.Forms.Layout.DefaultLayout.xLayout(IArrangedElement container, Boolean measureOnly, Size& preferredSize)
   bei System.Windows.Forms.Layout.DefaultLayout.LayoutCore(IArrangedElement container, LayoutEventArgs args)
   bei System.Windows.Forms.Layout.LayoutEngine.Layout(Object container, LayoutEventArgs layoutEventArgs)
   bei System.Windows.Forms.Control.OnLayout(LayoutEventArgs levent)
   bei System.Windows.Forms.Control.PerformLayout(LayoutEventArgs args)
   bei System.Windows.Forms.Control.PerformLayout(LayoutEventArgs args)
   bei System.Windows.Forms.Layout.LayoutTransaction.DoLayout(IArrangedElement elementToLayout, IArrangedElement elementCausingLayout, String property)
   bei System.Windows.Forms.ToolStrip.DoLayoutIfHandleCreated(ToolStripItemEventArgs e)
   bei System.Windows.Forms.ToolStripItem.OnVisibleChanged(EventArgs e)
   bei a9.a(Action A_0, AppDomain A_1, dv A_2, String A_3)
   bei ew.av(JoinInfo A_0, Socket A_1, Byte[] A_2, Int32 A_3, Int32 A_4)
   bei co.a.a.g2(Byte[] A_0, Int32 A_1, Int32 A_2)
   bei kn.h(IAsyncResult A_0)


Not sure on what occasion it happened exactly, I had it some time in the background and only saw that now when I checked back. Didn't saw anything crashing, only this output in the status.
User avatar
TobiasW
 
Posts: 59
Joined: August 29th, 2010, 12:31 am


Return to C#



cron