Error: can't read gchat

Bug #183865 reported by sander
2
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($room,mynick)"
    (procedure "::jlib::groupchat::mynick" line 5)
    invoked from within
"[namespace current]::groupchat::${cmd} $jlibname <email address hidden>"
    ("eval" body line 1)
    invoked from within
"eval {[namespace current]::groupchat::${cmd} $jlibname} $args"
    (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,$room) {
 gc-1.0 {
     set nick [$jlibname groupchat mynick $room]
 }
 muc {
     set nick [$jlibname muc mynick $room]
 } ..."
    (procedure "::jlib::service::mynick" line 12)
    invoked from within
"[namespace current]::service::${cmd} $jlibname <email address hidden>"
    ("eval" body line 1)
    invoked from within
"eval {[namespace current]::service::${cmd} $jlibname} $args"
    (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::CloseCmd" line 41)
    invoked from within
"::GroupChat::CloseCmd .jgc1"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 $topcache($w,-closecommand) $w"
    (procedure "::UI::DoCloseWindow" line 24)
    invoked from within
"::UI::DoCloseWindow .jgc1 wm"
    (command for "WM_DELETE_WINDOW" window manager protocol)

sander (s-devrieze)
Changed in coccinella:
assignee: nobody → matsben
importance: Undecided → High
Revision history for this message
Mats (matsben) wrote :

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>
RECV: <iq from='conference.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>
jlib::registergcprotocol jid=conference.jabber.org, gcprot=muc

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
 ::hooks::run groupchatExitRoomHook $roomjid

 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.

Changed in coccinella:
milestone: none → 0.96.6
status: New → Fix Committed
sander (s-devrieze)
Changed in coccinella:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.