View Issue Details

IDProjectCategoryView StatusLast Update
0000034Asuna[All Projects] Generalpublic2018-04-23 14:23
ReporterkyleAssigned Tokyle 
PrioritynormalSeveritycrashReproducibilityalways
Status resolvedResolutionfixed 
Summary0000034: Asuna crashes when someone joins with a - in their name
DescriptionAsuna will crash if someone who has a dash in their name joins.

Can't guarantee this is the cause, but she seems to crash when this happens
Steps To Reproduce1. Change name to Superk-test or something with a dash
2. Join TeamSpeak
3. Asuna won't send join message
4. Asuna crashes

Only seems to happen on brand new clients
Additional InformationPossibly something to do with parsing the dash.

This seems to only happen on new clients though, so it probably has something to do when writing their name to the database (to store the subscribe/unsubscribe info).. If I join as SuperkTest then change my name to Superk-Test she doesn't crash.
TagsNo tags attached.

Relationships

related to 0000016 resolvedkyle Asuna crashes when a lot of clients connect 

Activities

kyle

2018-04-10 18:23

administrator   ~0000067

Last edited: 2018-04-10 18:23

View 2 revisions

After disabling inactivity on Asuna (to keep screen active) this seems to of resolved most of the crashing issues.
I've started work on a text logging system in v 1.0.041018 to see exactly where Asuna is crashing.

C:\Asuna\YYYY-MM-DDD.txt

kyle

2018-04-11 00:12

administrator   ~0000068

Last edited: 2018-04-11 00:14

View 3 revisions

This issue seems to be related to serverquery clients as Asuna would crash even through there was no onjoin event. Screen Inactivity didn't fix the issue.

2018-04-10 18:54:05 [JOIN] Client Move Event: Start [Client ID: 38 ]
2018-04-10 18:54:05 [JOIN] Client Move Event: Checking Username
*Crash*

I changed the isGoodUsername check to use strings instead of chars being treated as string.
So isGoodUsername((string)clientNickname) to string strUsername = clientNickname; isGoodUsername(strUsername)

It may have been serverquery with a weird name causing the crash as after I performed this fix Asuna logged the below:

2018-04-10 19:10:26 [JOIN] Client Move Event: Checking Username - L‹èH…À„
2018-04-10 19:10:26 [SECURITY] Checking username: L‹èH…À„
2018-04-10 19:10:26 [SECURITY] Username OK.

Letting Asuna run to verify.

kyle

2018-04-11 20:09

administrator   ~0000069

Last edited: 2018-04-11 20:11

View 4 revisions

Crashing after I pushed a commit that had a bunch of string declarations (converting them to strings from char), removed some unnecessary string declarations.. (I doubt this had anything to do with it, as Asuna is still crashing after some check with GameTracker.
-----
ToDo: Put some additional logs in place such as getting DB Id and name after the [PLUGIN] Client Update Event as it's running something with GameTracker, or some other server query client or regular client that's causing Asuna to crash.

Also add a log at the end of the code to see what's going on.. It doesn't seem to be a text message based crash.
-----

2018-04-11 15:22:08 [SECURITY] Checking username: GameTracker
2018-04-11 15:22:08 [SECURITY] Username OK.
2018-04-11 15:24:02 [PLUGIN] Client Update Event for 16
*Crash*

kyle

2018-04-12 11:38

administrator   ~0000070

Last edited: 2018-04-12 11:39

View 2 revisions

Crash is occurring when trying to query or display client nickname. Changed from declaration to if-statement to see if that's causing the bug.

kyle

2018-04-13 19:00

administrator   ~0000071

This seems to have been resolved. Clients are server query clients with no name, as such when Asuna tries to query their name it fails and crashes. Due to the if statement, Asuna no longer crashes as I stop further processing as there's no name.


2018-04-13 02:45:33 [PLUGIN] Client Update Event for 9
2018-04-13 02:45:33 [PLUGIN] [FAILURE] Unable to query client nickname. Aborting!

Keeping logs enabled just to verify.

kyle

2018-04-23 14:22

administrator   ~0000072

This issue seems to of been fixed in 133966a (See Previous note). Also performed some maintenance to clean up unused includes, as well as recoded "unsafe" functions to their _s equivalents (514578f).

Resolving for now. Will re-open if needed

kyle

2018-04-23 14:23

administrator   ~0000073

See Previous Note. Possibly resolved in 133966a

Issue History

Date Modified Username Field Change
2018-04-03 20:07 kyle New Issue
2018-04-03 20:07 kyle Status new => assigned
2018-04-03 20:07 kyle Assigned To => kyle
2018-04-10 18:23 kyle Note Added: 0000067
2018-04-10 18:23 kyle Note Edited: 0000067 View Revisions
2018-04-10 18:24 kyle Status assigned => confirmed
2018-04-11 00:12 kyle Note Added: 0000068
2018-04-11 00:13 kyle Note Edited: 0000068 View Revisions
2018-04-11 00:14 kyle Note Edited: 0000068 View Revisions
2018-04-11 20:09 kyle Note Added: 0000069
2018-04-11 20:10 kyle Note Edited: 0000069 View Revisions
2018-04-11 20:10 kyle Note Edited: 0000069 View Revisions
2018-04-11 20:11 kyle Note Edited: 0000069 View Revisions
2018-04-12 11:38 kyle Note Added: 0000070
2018-04-12 11:39 kyle Note Edited: 0000070 View Revisions
2018-04-13 19:00 kyle Note Added: 0000071
2018-04-17 20:39 kyle Relationship added related to 0000016
2018-04-23 14:22 kyle Note Added: 0000072
2018-04-23 14:23 kyle Status confirmed => resolved
2018-04-23 14:23 kyle Resolution open => fixed
2018-04-23 14:23 kyle Note Added: 0000073