4 small issues with v5.0.4a

General Discussion Area
Post Reply
User avatar
FuxieDK
Census Taker
Posts: 659
Joined: Thu May 22, 2008 11:36 am
Location: Copenhagen, DK

4 small issues with v5.0.4a

Post by FuxieDK »

1: Cosmetic bug: In the level-bars in the bottom, it says "level54" (any number, 54 is just an example) = a missing space between "level" and number.
2: Small request: The census of the toon logged in, after the census have run, can that please be moved forward to BEFORE the actual run? it makes it much easier, if you "only" want to census yourself.
3: Possible bug:
[01:14:07] Census+ Sending /who 31-35
[01:14:14] Census+ Who query: 31-35, found 23
[01:14:14] Census+ Processing 23 characters.
[01:14:22] Census+ Who query: 76-78, found 29
[01:14:22] Census+ Processing 29 characters.

[01:15:01] Census+ Sending /who 21-30
[01:15:01] Census+ Who query: 21-30, found 49
[01:15:01] Census+ Processing 49 characters.
I did a /census me (on a level 71 toon), and the red line was the output.. VERY STRANGE...
4: Census pauses when you do a /census me command. Not very nice :P
Last edited by FuxieDK on Sat Sep 08, 2012 2:37 am, edited 1 time in total.
Doing census mainly on Draenor; Raluf - Nimsay - Lusmo - Quixx - Sosyan - Garthog - Trubin - Zalistra - Zesmi and Djaang

User avatar
FuxieDK
Census Taker
Posts: 659
Joined: Thu May 22, 2008 11:36 am
Location: Copenhagen, DK

Post by FuxieDK »

Regarding 3...
[01:34:04] Census+ Sending /who 79-80
[01:34:11] Census+ Who query: 79-80, found 26
[01:34:11] Census+ Processing 26 characters.
[01:34:11] Census+ Sending /who 76-78
[01:34:17] Census+ Who query: 76-78, found 24
[01:34:17] Census+ Processing 24 characters.
[01:34:24] Census+ Who query: r-"Draenei" c-"Priest" 85-85, found 5
[01:34:24] Census+ Processing 5 characters.

[01:34:31] Census+ Sending /who 71-75
[01:34:32] Census+ Who query: 71-75, found 20
[01:34:32] Census+ Processing 20 characters.
This was the result of a new /census me command.. There is deffo some kind of problem here..
Doing census mainly on Draenor; Raluf - Nimsay - Lusmo - Quixx - Sosyan - Garthog - Trubin - Zalistra - Zesmi and Djaang

Pennet
Census Taker
Posts: 39
Joined: Fri Sep 29, 2006 8:12 am
Location: Florida

Re: 4 small issues with v5.0.4a

Post by Pennet »

FuxieDK wrote:1: Cosmetic bug: In the level-bars in the bottom, it says "level54" (any number, 54 is just an example) = a missing space between "level" and number.
2: Small request: The census of the toon logged in, afterthe census have run, can that please be moved forward to BEFORE the actual run? it makes it much easier, if you "only" want to census yourself.
3: Possible bug:
[01:14:07] Census+ Sending /who 31-35
[01:14:14] Census+ Who query: 31-35, found 23
[01:14:14] Census+ Processing 23 characters.
[01:14:22] Census+ Who query: 76-78, found 29
[01:14:22] Census+ Processing 29 characters.

[01:15:01] Census+ Sending /who 21-30
[01:15:01] Census+ Who query: 21-30, found 49
[01:15:01] Census+ Processing 49 characters.
I did a /census me (on a level 71 toon), and the red line was the output.. VERY STRANGE...
4: Census pauses when you do a /census me command. Not very nice :P
#2: I would like to see this change as well, if possible.

#4: This was discussed in this thread, in bringoutyourdead's comment dated Aug 28, 12 @ 1:51 p.m.

User avatar
bringoutyourdead
Forums Admin & general flunky
Posts: 1432
Joined: Fri Nov 07, 2008 1:11 pm
Location: Texas, USA

Post by bringoutyourdead »

I want to do a follow up on this

#1 is fixed and will be in the next release

#2 & #4 the automatic recount of the player's character will continue to be at the end of the standard /census take runs.
If you want to just do a quick count of your own character.. you can do the following.
First make sure no active census run is active, then issue the command /census me. You can either have a census run going or do a quick /census me... but you can't have both at the same time as both are predicated on empty starting queues.

#3 I keep getting to this point of the message and then killing it for later. The odd nature of the return is so odd it is nearly impossible.! :? It has to be the result of some odd interactions between CensusPlus - wholib - Blizzard servers which I haven't been able to find. When you issue a /Census Me what you actually issue is the equivalent of "/who 1-maxlevel n-'yourcharactername'". In any normal condition you will of course only get one result since duplicate names are not permitted. The 1 to max level is just coding/language side effect since you can't say the level has nil value. Lua gets real unhappy with that when concatenating strings!

1974ER
Epic Censi
Posts: 762
Joined: Fri Nov 07, 2008 3:30 am

Post by 1974ER »

On that #3, Bringoutyourdead...

Would it be hard to test if something changes if you hardcode the maximum of /census me to 90?

I am asking this because I did a few tests... and I don't remember exactly what I tried but I had the the Census window open and verbose mode on... and I swear it said Sending: /who 1-23 (one to twenty-three)... which should not be possible.

Which in turn means I am either hallucinating (possibly due to being too tired at the time) or that there is something funny going on with the maximum level. Just as a wild guess... could it be that a non-hardcoded "maxlevel" redefines itself with each /who (depending on WHEN the /who is done)?

Additional note:

1) Start a census by pressing take button.
2) Pause manually by pressing pause button.
3) Execute /census me, census resumes without doing the /census me.
4) Let census finish normally, program executes /census me in the end as it is supposed to..
5) Press take button again, program ONLY executes /census me.
6) Press take button once more, normal census begins.

So the trick is that under some circumstances, the /census me gets stored somewhere and executes later on.

User avatar
bringoutyourdead
Forums Admin & general flunky
Posts: 1432
Joined: Fri Nov 07, 2008 1:11 pm
Location: Texas, USA

Post by bringoutyourdead »

Actually it is very possible... what you are seeing isn't what you think you are seeing.


This is a good point to explain for everyone a little about how CensusPlus works.

When you start a census run... either via auto-census, /census take, or /census me you first create a series of queries that are put into a LIFO (last in first out) queue. Think of each query as a plate and the queue is one of those push down plate holders that you can find at some cafeterias. so the plates (queries) looks something like this: (note only the top one can be used next)

90-90
81-89
71-80
61-70
51-60
41-50
31-40
21-30
11-20
1-10
1-90 n-Censusme

Now there is a very busy worker who stands next to the stack of plates.. call him Frame OnUpdate, his job is to hand out plates as needed.

He grabs the top plate 90-90 and hands it off to Lib Who. Lib Who does her work but tells the next worker Process Who says "Hey this order is to big for just one plate!", so Process Who stacks new plates onto the stack. Where Frame OnUpdate grabs the top one and off to Lib Who it goes..

and the stack now looks something like this:

-------------------------------- Frame Update has 90-90 r-Orc
90-90 r-Tauren
90-90 r-Troll
90-90 r-Undead
90-90 r-BloodElf
90-90 r-Goblin
90-90 r-Pandaren
81-89
71-80
61-70
51-60
41-50
31-40
21-30
11-20
1-10
1-90 n-Censusme

Then someone by the name of Censusme comes along and say 'Hey census me!"

now the stack looks like this:

1-90 n-Censusme
90-90 r-Tauren
90-90 r-Troll
90-90 r-Undead
90-90 r-BloodElf
90-90 r-Goblin
90-90 r-Pandaren
81-89
71-80
61-70
51-60
41-50
31-40
21-30
11-20
1-10
1-90 n-Censusme

so you would expect that Censusme gets handled next right!.. not if there is an active run in progress... (pausing in this case doesn't make it NOT in progress).. what happens is:

Lib Who says to Process Who. "the query is still to much for one plate", and Process Who adds to the stack with:

------------------------ and Frame OnUpdate grabs 90-90 r-Orc c-Druid
90-90 r-Orc c-Hunter
90-90 r-Orc c-Mage
90-90 r-Orc c-Priest
90-90 r-Orc c-Rogue
90-90 r-Orc c-Warlock
90-90 r-Orc c-Warrior
90-90 r-Orc c-Paladin
90-90 r-Orc c-Shaman
90-90 r-Orc c-Deathknight
90-90 r-Orc c-Monk
1-90 n-Censusme
90-90 r-Tauren
90-90 r-Troll
90-90 r-Undead
90-90 r-BloodElf
90-90 r-Goblin
90-90 r-Pandaren
81-89
71-80
61-70
51-60
41-50
31-40
21-30
11-20
1-10
1-90 n-Censusme

So you see even though you might think you have placed an order for something that should be handled right away.. it can and will get pushed down in the stack if the stack already has queries on it. Remember how I said Frame OnUpdate is a busy worker... His boss (Blizzard) requires him to be ready to hand out a new plate every time your screen updates... something like 20 to 60 times a second! Most of the time he doesn't since Lib Who isn't back to get the plate from him.

I'll leave it to the student to visualize how that plate (query) stack looks like when Lib Who keeps coming back with order too big until we are down to the "count that character if letter '?' exists anywhere in the name"

User avatar
bringoutyourdead
Forums Admin & general flunky
Posts: 1432
Joined: Fri Nov 07, 2008 1:11 pm
Location: Texas, USA

Post by bringoutyourdead »

1974ER wrote:On that #3, Bringoutyourdead...

Would it be hard to test if something changes if you hardcode the maximum of /census me to 90?

I am asking this because I did a few tests... and I don't remember exactly what I tried but I had the the Census window open and verbose mode on... and I swear it said Sending: /who 1-23 (one to twenty-three)... which should not be possible.

Which in turn means I am either hallucinating (possibly due to being too tired at the time) or that there is something funny going on with the maximum level. Just as a wild guess... could it be that a non-hardcoded "maxlevel" redefines itself with each /who (depending on WHEN the /who is done)?
getting a /who 1-23 is as far as I can tell impossible by normal means... so maybe you were hallucinating.. but it is possible that some how query data is getting scrambled when two or more queries get initiated at the same time..(But to be honest, I haven't a clue how that could happen).

The Max level is hardcoded.. but instead of being hard coded by CensusPlus the hard coding is now handled (correctly in my mind) by Blizzard in their User Interface FrameXML file set. Those files only get updated when they push a patch update down to you... the current FrameXML set is some +500 files and about 9MB. As you can see it isn't a large part of a patch.. most of that is image, sound, zone building data and Item info datasets.

1974ER
Epic Censi
Posts: 762
Joined: Fri Nov 07, 2008 3:30 am

Post by 1974ER »

Hmmm... ok... next "silly" question: How about hardcoding /census me to only be /who n-Censusme?

Because there can not be more than one Censusme present, his/her level isn't relevant for the /who. Even if Censusme's siblings Censusmeme and Cencensusme are present, Process Who should not get overwhelmed, correct?

User avatar
FuxieDK
Census Taker
Posts: 659
Joined: Thu May 22, 2008 11:36 am
Location: Copenhagen, DK

Post by FuxieDK »

1974ER wrote:Hmmm... ok... next "silly" question: How about hardcoding /census me to only be /who n-Censusme?

Because there can not be more than one Censusme present, his/her level isn't relevant for the /who. Even if Censusme's siblings Censusmeme and Cencensusme are present, Process Who should not get overwhelmed, correct?
True.. Level is irrellevant, but the name can cause problems.. If you census toon is named "Ee" or some other common two-letter combination, you could risk running into the 49 limit on a crowded server..
Level range won't solve this anyway, however /who n-<name> r-<race> c-<class> will solve it.. ;-)
Doing census mainly on Draenor; Raluf - Nimsay - Lusmo - Quixx - Sosyan - Garthog - Trubin - Zalistra - Zesmi and Djaang

Post Reply