SphereServer BugTracker - SphereServer |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0001858 | SphereServer | executable - linux build | public | 21-11-10 22:04 | 08-01-11 02:28 |
|
Reporter | Mirravin | |
Assigned To | MrSugarCube | |
Priority | normal | Severity | major | Reproducibility | sometimes |
Status | resolved | Resolution | fixed | |
Platform | | OS | | OS Version | |
Product Version | | |
Target Version | | Fixed in Version | 0.56c Nightly | |
Nightly Version | Automated (specify build number) |
Experimental Flags | None |
Option Flags | None |
Internal Build Number | 1369 |
|
Summary | 0001858: Client 6.0.14.3 disconnects |
Description | UseAsyncNetwork=1/2.
Different(also default) other network settings(also UsePacketPriority=0/1).
95% --> 100% disconnects on login with 100-200 items on backpack.
UseAsyncNetwork=0
Different(also default) other network settings(also UsePacketPriority=0/1).
Random crashes on login(or sometimes not on login for exapmple when loading container or vendor buy-list with many items), usually on loading many objects(items/characters).
This occurs with client 6.0.14.3, but with client 2.0.3 this NOT occurs.
It may be connected with Linux build(especially problem with UseAsyncNetwork). In closed tests with Windows build problems were NOT found.
Usually, in case of disconnect Tx Error 11 occurs in server console.
With this problems I can't solve disconnect problem complitely. My network settings now:
///////////////////////////////////////////////////////////////
//////// Network Behaviour
///////////////////////////////////////////////////////////////
// WARNING: These are advanced settings that should not normally be changed
// from the recommended default values!
// Disconnect inactive socket in x min
DeadSocketTime=5
// Maximum number of packets to send per tick
MaxPacketsPerTick=25
// Number of connections a client can make before being blocked
MaxPings=35
// Maximum number of packets before lowering packet priorities (0 for no limit)
MaxQueueSize=50
// Maximum number of bytes to send per tick (also governs maximum size of outgoing packets)
MaxSizePerTick=36000
// Time to remember previous connection history (seconds)
NetTTL=300
// Use asynchronous data sends (changing this setting at runtime may produce unexpected behaviour)
// 0 = Off
// 1 = On
// 2 = On for 4.0.0+ game clients only
UseAsyncNetwork=0
// Prioritise outgoing packets (provides a smoother experience in crowded areas)
UsePacketPriority=0
// Tooltip modes
// 0 = Always send full tooltip
// 1 = Wait for client to request full tooltip
TooltipMode=0
// Time to cache tooltip data for (seconds)
TooltipCache=0
EF_NetworkOutThread ON
|
Steps To Reproduce | |
Additional Information | |
Tags | No tags attached. |
Relationships | related to | 0001848 | resolved | MrSugarCube | Unusual delay loading items into containers |
|
Attached Files | |
|
Issue History |
Date Modified | Username | Field | Change |
21-11-10 22:04 | Mirravin | New Issue | |
29-11-10 16:34 | Mirravin | Note Added: 0000769 | |
29-11-10 16:34 | Mirravin | Note Edited: 0000769 | bug_revision_view_page.php?bugnote_id=0000769#r50 |
29-11-10 16:36 | Mirravin | Note Edited: 0000769 | bug_revision_view_page.php?bugnote_id=0000769#r51 |
02-12-10 06:43 | Mirravin | Note Added: 0000771 | |
02-12-10 06:45 | Mirravin | Note Edited: 0000771 | bug_revision_view_page.php?bugnote_id=0000771#r58 |
02-12-10 21:16 | Mirravin | Note Edited: 0000771 | bug_revision_view_page.php?bugnote_id=0000771#r59 |
06-12-10 04:38 | Mirravin | Note Added: 0000776 | |
06-12-10 04:55 | Mirravin | Note Edited: 0000776 | bug_revision_view_page.php?bugnote_id=0000776#r61 |
06-12-10 04:55 | Mirravin | Note Edited: 0000776 | bug_revision_view_page.php?bugnote_id=0000776#r62 |
06-12-10 17:17 | Mirravin | Note Added: 0000777 | |
06-12-10 17:17 | Mirravin | Note Edited: 0000777 | bug_revision_view_page.php?bugnote_id=0000777#r64 |
21-12-10 03:38 | MrSugarCube | Note Added: 0000787 | |
21-12-10 04:22 | Mirravin | Note Added: 0000789 | |
21-12-10 04:27 | Mirravin | Note Edited: 0000789 | bug_revision_view_page.php?bugnote_id=0000789#r68 |
21-12-10 04:30 | Mirravin | Note Edited: 0000789 | bug_revision_view_page.php?bugnote_id=0000789#r69 |
22-12-10 04:01 | MrSugarCube | Note Added: 0000790 | |
22-12-10 04:01 | MrSugarCube | Relationship added | related to 0001848 |
23-12-10 03:30 | Mirravin | Note Added: 0000799 | |
23-12-10 03:31 | Mirravin | Note Edited: 0000799 | bug_revision_view_page.php?bugnote_id=0000799#r73 |
23-12-10 04:02 | Mirravin | Note Edited: 0000799 | bug_revision_view_page.php?bugnote_id=0000799#r74 |
24-12-10 19:35 | Robert | Issue Monitored: Robert | |
02-01-11 18:08 | MrSugarCube | Note Added: 0000811 | |
03-01-11 04:53 | Mirravin | Note Added: 0000812 | |
08-01-11 02:28 | MrSugarCube | Status | new => resolved |
08-01-11 02:28 | MrSugarCube | Fixed in Version | => 0.56c Nightly |
08-01-11 02:28 | MrSugarCube | Resolution | open => fixed |
08-01-11 02:28 | MrSugarCube | Assigned To | => MrSugarCube |
Notes |
|
(0000769)
|
Mirravin
|
29-11-10 16:34
(edited on: 29-11-10 16:36) |
|
Also tested the information in the issue 0001773. // Build: #1370
Unfortunately commenting line MaxItemComplexity is not helped me. (Disconnects on loading an average amount of objects with client 6.0.14.3 and UseAsyncNetwork=2.)
But. After disabling EF_Networkoutthread situation is changed. Disconnects dissappeared, but client 6.0.14.3 have HORRIBLE lags on loading a few NPCs with ideal internet connection(ping=1)...
Is possible, that AsyncNetwork have some Linux specific problems... :(
Other issues:
http://tracker.sphere.torfo.org/bugs/view.php?id=1611 [^]
http://tracker.sphere.torfo.org/bugs/view.php?id=1773 [^]
|
|
|
(0000771)
|
Mirravin
|
02-12-10 06:43
(edited on: 02-12-10 21:16) |
|
With UseAsyncNetwork=0 server works relatively normally, but I can't solve the problem of 6.0.14.3 client disconnects complitely. I tried:
UsePacketPriority=0/1
EF_Networkoutthread ON/OFF
Different other network settings: MaxQueueSize, MaxPacketsPerTick, MaxSizePerTick
Client 2.0.3 doesn't have this problems.
|
|
|
(0000776)
|
Mirravin
|
06-12-10 04:38
(edited on: 06-12-10 04:55) |
|
Now, on build #1374 I get CRITICAL error with DEBUG, when client disconnects on login. (UseAsyncNetwork=2 ; EF_Networkoutthread ON; Client 6.0.14.3)
Full network logs from server start:
05:18:DEBUG:Receiving new connection
05:18:DEBUG:Retrieving IP history for 'IP1'.
05:18:DEBUG:Incoming connection from 'IP1' [blocked=0, ttl=300, pings=0, connecting=0, connected=0]
05:18:DEBUG:0:Allocated slot for client (13).
05:18:DEBUG:0:Clearing client state.
05:18:DEBUG:0:Initialising client
05:18:0:Client connected [Total:1] ('IP1' 1/1)
05:18:DEBUG:0:Registering async client
05:18:DEBUG:0:Opening network state
05:18:DEBUG:0:Determining async mode
05:18:DEBUG:0:State initialised, registering client instance.
05:18:DEBUG:0:Client successfully initialised.
05:18:DEBUG:0:Receiving new client login handshake.
05:18:DEBUG:0:Client connected with a seed of 0x4d5d1b41 (new handshake=1, seed length=21, received=83, version=0x600144).
05:18:DEBUG:0:Switching async mode from 0 to 1.
05:18:0:Login 'acc1'
05:18:DEBUG:0:Client being closed by read-thread
05:18:DEBUG:0:Client being closed by write-thread
05:18:DEBUG:0:Flushing data for client.
05:18:DEBUG:0:Client being closed by read-thread
05:18:DEBUG:0:Client is being cleared since marked to close.
05:18:DEBUG:0:Clearing client state.
05:18:0:Client disconnected [Total:0] ('IP1')
05:18:DEBUG:Receiving new connection
05:18:DEBUG:Retrieving IP history for 'IP1'.
05:18:DEBUG:Incoming connection from 'IP1' [blocked=0, ttl=298, pings=1, connecting=0, connected=1]
05:18:DEBUG:1:Allocated slot for client (13).
05:18:DEBUG:1:Clearing client state.
05:18:DEBUG:1:Initialising client
05:18:1:Client connected [Total:1] ('IP1' 1/2)
05:18:DEBUG:1:Registering async client
05:18:DEBUG:1:Opening network state
05:18:DEBUG:1:Determining async mode
05:18:DEBUG:1:State initialised, registering client instance.
05:18:DEBUG:1:Client successfully initialised.
05:18:DEBUG:1:Receiving old client login handshake.
05:18:DEBUG:1:Client connected with a seed of 0x13f86cbf (new handshake=0, seed length=4, received=69, version=0x0).
05:18:1:Login 'acc1'
05:18:DEBUG:1:Switching async mode from 0 to 1.
05:18:1:Setup_Start acct='acc1', char='CharName', IP='IP1'
05:18:CRITICAL:Assert pri=2:'ret == sendBufferLength' file '../network/network.cpp', line 2040, in NetworkOut::proceedQueue() #4 "send successful"
05:18:DEBUG:id='1', packet '0xd6', length '261'
05:18:DEBUG:1:Client being closed by write-thread
05:18:DEBUG:1:Client being closed by read-thread
05:18:DEBUG:1:Client is being cleared since marked to close.
05:18:DEBUG:1:Clearing client state.
05:18:1:Client disconnected [Total:0] ('IP1')
CRITICAL:
05:18:CRITICAL:Assert pri=2:'ret == sendBufferLength' file '../network/network.cpp', line 2040, in NetworkOut::proceedQueue() #4 "send successful"
Error DEBUG variances:
05:18:DEBUG:id='1', packet '0xd6', length '261'
05:19:DEBUG:id='5', packet '0x3c', length '2225'
05:21:DEBUG:id='8', packet '0xd6', length '199'
...
|
|
|
|
The error occurs while disconnecting with UseAsyncNetwork=0 too:
14:36:CRITICAL:Assert pri=2:'ret == sendBufferLength' file '../network/network.cpp', line 2040, in NetworkOut::proceedQueue() #4 "send successful"
14:36:DEBUG:id='4f', packet '0xa2', length '9'
14:36:DEBUG:4f:Client being closed by write-thread
14:36:DEBUG:4f:Client being closed by read-thread
14:36:DEBUG:4f:Client is being cleared since marked to close.
14:36:DEBUG:4f:Clearing client state.
14:36:4f:Client disconnected [Total:10] ('IP2')
15:58:DEBUG:Receiving new connection
15:58:DEBUG:Retrieving IP history for 'IP3'.
15:58:DEBUG:Incoming connection from 'IP3' [blocked=0, ttl=265, pings=1, connecting=0, connected=0]
15:58:DEBUG:8a:Allocated slot for client (12).
15:58:DEBUG:8a:Clearing client state.
15:58:DEBUG:8a:Initialising client
15:58:8a:Client connected [Total:10] ('IP3' 1/1)
15:58:DEBUG:8a:Opening network state
15:58:DEBUG:8a:Determining async mode
15:58:DEBUG:8a:State initialised, registering client instance.
15:58:DEBUG:8a:Client successfully initialised.
15:58:DEBUG:8a:Receiving old client login handshake.
15:58:DEBUG:8a:Client connected with a seed of 0x34c7fe2f (new handshake=0, seed length=4, received=4, version=0x0).
15:58:8a:Login 'acc3'
15:58:8a:Setup_Start acct='acc3', char='CharName3', IP='IP3'
15:58:CRITICAL:Assert pri=2:'ret == sendBufferLength' file '../network/network.cpp', line 2040, in NetworkOut::proceedQueue() #4 "send successful"
15:58:DEBUG:id='8a', packet '0xd6', length '279'
15:58:DEBUG:8a:Client being closed by write-thread
15:58:DEBUG:8a:Client being closed by read-thread
15:58:DEBUG:8a:Client is being cleared since marked to close.
15:58:DEBUG:8a:Clearing client state.
15:58:8a:Client disconnected [Total:9] ('IP3')
|
|
|
|
I haven't been able to reproduce these problems so far, but it could be worth checking again with the latest build (1379) as there have been recent changes that will have affected UseAsyncNetwork setting on the linux build.
The CRITICAL error will probably still be there, but the output should be different (hopefully some useful debug info). |
|
|
(0000789)
|
Mirravin
|
21-12-10 04:22
(edited on: 21-12-10 04:30) |
|
Login client 6.0.14.3(many items in backpack), UseAsyncNetwork=1(other settings in the 1st report(EF_NETWORKOUTTHREAD ON!)); Build: #1379:
05:19:DEBUG:1:Successful send reports only 5/166 bytes sent.
05:19:CRITICAL:Assert pri=2:'ret == sendBufferLength' file '../network/network.cpp', line 2046, in NetworkOut::proceedQueue() #4 "send successful"
05:19:DEBUG:id='1', packet '0xd6', length '265', ret '5'
05:19:DEBUG:3:Successful send reports only 98/179 bytes sent.
05:19:CRITICAL:Assert pri=2:'ret == sendBufferLength' file '../network/network.cpp', line 2046, in NetworkOut::proceedQueue() #4 "send successful"
05:19:DEBUG:id='3', packet '0xd6', length '283', ret '98'
05:21:DEBUG:7:Successful send reports only 56/141 bytes sent.
05:21:CRITICAL:Assert pri=2:'ret == sendBufferLength' file '../network/network.cpp', line 2046, in NetworkOut::proceedQueue() #4 "send successful"
05:21:DEBUG:id='7', packet '0xd6', length '227', ret '56'
|
|
|
|
The CRITICAL error should no longer exist in the next automated build (1381), if you could please test.
Actually, I suspect this is closely related to issue 0001848 and might be resolved now too. |
|
|
(0000799)
|
Mirravin
|
23-12-10 03:30
(edited on: 23-12-10 04:02) |
|
CRITICAL errors are disappeared, but I don't see any changes with main problem - disconnects.
UseAsyncNetwork=1/2
When I login and run with character before backpack is loaded I got 100% disconnect, when I stay and wait backpack load approximately 50% disconnects.
When I disabling EF_NETWORKOUTTHREAD, I don't have disconnects, but horrible lags while loading objects with ideal internet connection.
So I have to return to UseAsyncNetwork=0. With it I can't reproduse disconnects, but players sometimes have its.
Example, UseAsyncNetwork ON, EF_NETWORKOUTTHREAD ON:
04:05:DEBUG:Receiving new connection
04:05:DEBUG:Retrieving IP history for 'IP1'.
04:05:DEBUG:Incoming connection from 'IP1' [blocked=0, ttl=300, pings=0, connecting=0, connected=0]
04:05:DEBUG:2:Allocated slot for client (13).
04:05:DEBUG:2:Clearing client state.
04:05:DEBUG:2:Initialising client
04:05:2:Client connected [Total:1] ('IP1' 1/1)
04:05:DEBUG:2:Registering async client
04:05:DEBUG:2:Opening network state
04:05:DEBUG:2:Determining async mode
04:05:DEBUG:2:State initialised, registering client instance.
04:05:DEBUG:2:Client successfully initialised.
04:05:DEBUG:2:Receiving new client login handshake.
04:05:DEBUG:2:Client connected with a seed of 0x4d5d1b41 (new handshake=1, seed length=21, received=83, version=0x600144).
04:05:DEBUG:2:Switching async mode from 0 to 1.
04:05:2:Login 'acc1'
04:05:DEBUG:Receiving new connection
04:05:DEBUG:Retrieving IP history for 'IP1'.
04:05:DEBUG:Incoming connection from 'IP1' [blocked=0, ttl=295, pings=1, connecting=0, connected=1]
04:05:DEBUG:3:Allocated slot for client (14).
04:05:DEBUG:3:Clearing client state.
04:05:DEBUG:3:Initialising client
04:05:3:Client connected [Total:2] ('IP1' 1/2)
04:05:DEBUG:3:Registering async client
04:05:DEBUG:3:Opening network state
04:05:DEBUG:3:Determining async mode
04:05:DEBUG:3:State initialised, registering client instance.
04:05:DEBUG:3:Client successfully initialised.
04:05:DEBUG:2:Client being closed by read-thread
04:05:DEBUG:2:Client being closed by write-thread
04:05:DEBUG:2:Client being closed by read-thread
04:05:DEBUG:2:Client is being cleared since marked to close.
04:05:DEBUG:2:Clearing client state.
04:05:2:Client disconnected [Total:1] ('IP1')
04:05:DEBUG:3:Receiving old client login handshake.
04:05:DEBUG:3:Client connected with a seed of 0x13f86cbf (new handshake=0, seed length=4, received=69, version=0x0).
04:05:3:Login 'acc1'
04:05:DEBUG:3:Switching async mode from 0 to 1.
04:05:3:Setup_Start acct='acc1', char='CharName1', IP='IP1'
04:05:WARNING:3:TX Error 11
04:05:DEBUG:3:Client being closed by write-thread
04:05:DEBUG:3:Client being closed by read-thread
04:05:DEBUG:3:Client is being cleared since marked to close.
04:05:DEBUG:3:Clearing client state.
04:05:3:Client disconnected [Total:0] ('IP1')
|
|
|
|
Try with the next automated build (1385). |
|
|
|
Yeees! Now(build: 1385) I don't have any disconnects or errors with UseAsyncNetwork=2. Tested with UseExtraBuffer=1/0 - no difference. Since position desinhronization bug has been resolved, this stupid disconnects was the most serious problem in sphere for me, what not allowing normally using new clients. Big thanks and successfully work in New 2011 Year! :) |
|