sigprof

Currently DKPs are not awarded if the WoW language is set to anything except English — the locale file must contain the exact translation of the raid name like “Siege of Orgrimmar”, and there are no such translations in any locale files distributed with oQueue. (At least Russian definitely does not work without those translations.)

I instrumented the oqueue code by adding timeout checks to all for/while loops, and finally got the check to fire on this loop in oq.bnfriends_relay():

tbl.clear( _names ) ;

i = 0 ;

while (i < OQ_MAX_RELAY_REALMS) do

local ndx = oq.random(1,cnt) ;

local v = _tags[ndx] ;

if (v ~= nil) and (v.toonName ~= nil) and (_names[v.toonName] == nil) then

i = i + 1 ;

_names[v.toonName] = true ;

if (insure) then

oq.BNSendWhisper_now( v.toon_id, m, v.toonName, v.realm ) ;

else

oq.BNSendWhisper( v.toon_id, m, v.toonName, v.realm ) ;

end

end

end

This loop can become infinite if OQ_data.bn_friends contains multiple elements with identical toonName, and apparently this is the case in my situation — here is my “/oq who” output:

--[ OQ enabled ]--
37.40. A.Tixô-Arthas
45.51. A.Трэджеди-Вечная Песня
38.43. A.Ильфийка-Страж Смерти
8.22. A.Ïñööñè-Ravencrest
-3.23. A.Mauberzaus-
7.23. A.Mauberzaus-Ulduar
-3.22. A.Ïñööñè-
7 bn friends OQ enabled
382 OQ enabled locals

Don't know how these entries without the realm name appeared there, but their presence definitely can cause the infinite loop.

Duplicates in toonName may even be legitimate, if the same names on different realms actually belong to different accounts, therefore a more reliable key field should be used in bnfriends_relay().

EU (and Russian-only account, if that is important). Got two hangs today — one immediately after getting an oqueue invite (which apparently was not accepted before the hang), another when people were entering the instance (I was near the entrance but did not enter yet).

Looks like the oq.is_current_tier function does not really work for any languages except English, because it checks the localized instance name, but translations for those names are not present. Because of this DKP will be awarded only if the raid leader uses English language.

Maybe it would be better to use the language-independent encounterID for raid tier detection (e.g., see this table).

For me WoW just stops responding (screen is not updated, only some sounds remain) and stays in that state forever; then I need to press Ctrl+Alt+Del and kill Wow-64.exe from the Task Manager.

There is also a conflict with the BasicChatMods addon — if that addon is enabled together with the new oQueue, WoW stops responding immediately after entering the world. I disabled that addon, and oQueue seemed to work for some time, then I got lockups at apparently random moments while the raid group was gathering (the last chat message I saw was “xxx joined the raid group”).