When a transport died on server, wrong Edit Contact dialog and exception when requesting version

Bug #451037 reported by buzzdee
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Coccinella
Fix Released
Low
buzzdee

Bug Description

Situation: The transport to a closed network on the server died or is shut down for whatever reason

Right click on the (not available marked) transport and choose "Edit Contact..."
The Edit Contact dialog will show up instead of the info window telling you that it is a transport.

Right click on the (not available marked) transport and choose "Version", the following exception shows up:
can't read "iqchild": no such variable
can't read "iqchild": no such variable
    while executing
"lindex $iqchild 1"
    (procedure "::Jabber::GetVersionResult" line 11)
    invoked from within
"::Jabber::GetVersionResult icq.l00-bugdead-prods.de 0 ::jlib::jlib1 error {service-unavailable {The server or recipient does not currently provide the..."
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 $cmd [list $jlibname $type $subiq]"
    (procedure "::jlib::invoke_iq_callback" line 5)
    invoked from within
"::jlib::invoke_iq_callback ::jlib::jlib1 {::Jabber::GetVersionResult icq.l00-bugdead-prods.de 0} error {service-unavailable {The server or recipient d..."
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 $iqcmd($id) [list error $errspec]"
    (procedure "iq_handler" line 83)
    invoked from within
"iq_handler $jlibname $xmldata"
    (procedure "::jlib::dispatcher" line 9)
    invoked from within
"::jlib::dispatcher ::jlib::jlib1 {iq {from icq.l00-bugdead-prods.de id 1024 xml:lang en type error to <email address hidden>/Coccinella@sre} 0 ..."
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 $wrapper($id,parsecmd) [list $wrapper($id,tree,2)]"
    (procedure "::wrapper::elementend" line 41)
    invoked from within
"::wrapper::elementend wrap1 iq -namespace urn:ietf:params:xml:ns:xmpp-stanzas"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 $options(-elementendcommand) [list $tag] $empty $ns"
    invoked from within
"ParseEvent:ElementClose $tag [array get options]"
    invoked from within
"::sgml::parseEvent {{} {} {} {} iq {} { from='icq.l00-bugdead-prods.de' <email address hidden>/Coccinella@sre' type='error' xml:lang='en' i..."
    ("eval" body line 1)
    invoked from within
"eval ::sgml::parseEvent [list $tokenised] $parseOptions"
    (procedure "parse" line 60)
    invoked from within
"parse xmlparser2 {<iq from='icq.l00-bugdead-prods.de' <email address hidden>/Coccinella@sre' type='error' xml:lang='en' id='1024'><query xm..."
    (in namespace inscope "::xml::tclparser" script line 1)
    invoked from within
"::namespace inscope ::xml::tclparser parse xmlparser2 {<iq from='icq.l00-bugdead-prods.de' <email address hidden>/Coccinella@sre' type='err..."
    ("eval" body line 1)
    invoked from within
"eval $classinfo(-parsecommand) [list $name] $args"
    (procedure "::xml::ParserCmd" line 46)
    invoked from within
"::xml::ParserCmd xmlparser2 parse {<iq from='icq.l00-bugdead-prods.de' <email address hidden>/Coccinella@sre' type='error' xml:lang='en' id..."
    ("eval" body line 1)
    invoked from within
"eval ::xml::ParserCmd xmlparser2 [list $method] $args"
    (procedure "xmlparser2" line 1)
    invoked from within
"$p parse $xml"
    (procedure "parsereentrant" line 10)
    invoked from within
"parsereentrant $id $xml"
    (procedure "wrapper::parse" line 6)
    invoked from within
"wrapper::parse $lib(wrap) $data"
    (procedure "::jlib::recvsocket" line 24)
    invoked from within
"::jlib::recvsocket ::jlib::jlib1"

Tested with my ejabberd server, Coccinella 0.96.14 on Linux and from SVN on OpenBSD.

Revision history for this message
buzzdee (sebastia) wrote :

Requesting Last Login/Activity or View Business Card shows an error message, telling me that the service is not available right now. So this works as expected, the other two menu entries should work the same ways.

Changed in coccinella:
status: New → In Progress
Revision history for this message
buzzdee (sebastia) wrote :

Fixed both problems with a one line patch each.
fixed the exception with svn revision 2738, the wrong variable was used.
Fixed the wrong Dialog by using ::Roster::IsTransportHeuristics instead of ::Roster::IsTransport in svn revision 2739

Tested with my ejabberd server and ICQ transport.

Changed in coccinella:
status: In Progress → Fix Committed
buzzdee (sebastia)
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.