Error: can't read gchat
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Coccinella |
Fix Released
|
High
|
Mats |
Bug Description
can't read "gchat(<email address hidden>,mynick)": no such element in array
can't read "gchat(<email address hidden>,mynick)": no such element in array
while executing
"return $gchat(
(procedure "::jlib:
invoked from within
"[namespace current]
("eval" body line 1)
invoked from within
"eval {[namespace current]
(procedure "groupchat" line 2)
invoked from within
"$cmd $jlibname mynick <email address hidden>"
("eval" body line 1)
invoked from within
"eval {$cmd $jlibname} $args"
(procedure "jlib::cmdproc" line 8)
invoked from within
"jlib::cmdproc ::jlib::jlib1 groupchat mynick <email address hidden>"
("eval" body line 1)
invoked from within
"eval jlib::cmdproc {::jlib::jlib1} $cmd $args"
(procedure "::jlib::jlib1" line 1)
invoked from within
"$jlibname groupchat mynick $room"
("gc-1.0" arm line 2)
invoked from within
"switch -- $serv(roomprot,
gc-1.0 {
set nick [$jlibname groupchat mynick $room]
}
muc {
set nick [$jlibname muc mynick $room]
} ..."
(procedure "::jlib:
invoked from within
"[namespace current]
("eval" body line 1)
invoked from within
"eval {[namespace current]
(procedure "service" line 2)
invoked from within
"$cmd $jlibname mynick <email address hidden>"
("eval" body line 1)
invoked from within
"eval {$cmd $jlibname} $args"
(procedure "jlib::cmdproc" line 8)
invoked from within
"jlib::cmdproc ::jlib::jlib1 service mynick <email address hidden>"
("eval" body line 1)
invoked from within
"eval jlib::cmdproc {::jlib::jlib1} $cmd $args"
(procedure "::jlib::jlib1" line 1)
invoked from within
"$jstate(jlib) service mynick <email address hidden>"
("eval" body line 1)
invoked from within
"eval {$jstate(jlib)} $args"
(procedure "::Jabber::Jlib" line 4)
invoked from within
"::Jabber::Jlib service mynick $roomjid"
(procedure "Exit" line 14)
invoked from within
"Exit $chattoken"
(procedure "::GroupChat:
invoked from within
"::GroupChat:
("uplevel" body line 1)
invoked from within
"uplevel #0 $topcache(
(procedure "::UI::
invoked from within
"::UI::
(command for "WM_DELETE_WINDOW" window manager protocol)
Changed in coccinella: | |
assignee: | nobody → matsben |
importance: | Undecided → High |
Changed in coccinella: | |
status: | Fix Committed → Fix Released |
First, this is less likely to happen with a conference service on your login server, but is anyway a bug.
Second, if trying to enter a room on a non local server that conferecne service is discoed to see what protocol to use:
SEND: <iq type='get' id='1021' to='conference. jabber. org'><query xmlns='http:// jabber. org/protocol/ disco#info' /></iq> e.jabber. org' <email address hidden> /Coccinella@ Mats-Bengtssons -dator' id='1021' type='result' ><query xmlns='http:// jabber. org/protocol/ disco#info'><identity category= 'conference' type='text' name='Chatrooms '/><feature var='http:// jabber. org/protocol/ muc'/><feature var='jabber: iq:register' /><feature var='vcard- temp'/> </query> </iq> cprotocol jid=conference. jabber. org, gcprot=muc
RECV: <iq from='conferenc
jlib::registerg
If for some reason this fails it seems that the old "gc-1.0" protocol is used but can't verify this since it works in my case. What happened here is that the disco failed and I had the wrong order of calls:
$jstate(jlib) service exitroom $roomjid omHook $roomjid
::hooks::run groupchatExitRo
set nick [::Jabber::Jlib service mynick $roomjid]
mynick is cleaned up on exit, as it should, but while muc is fault tolerant, gc-1.0 is not.