[cl-xmpp-devel] error handling issue

Adam Thorsen adam.thorsen at gmail.com
Sun Jan 15 21:45:06 UTC 2006


I'm trying to write some code to join a MUC using cl-xmpp.  Of course,
I screwed up and sent a message to the server that generated an error
from the server:

#<PRESENCE from:testroom1 at conference.shiva.guruza.com/web-chat
show:NIL {9418071}>
>><message from='testroom1 at shiva.guruza.com'
to='stranger at shiva.guruza.com/web-chat' type='error'><x
xmlns='&apos';http://jabber.org/protocol/muc#user''><invite
to='awt at shiva.guruza.com'><reason>You have been invited to help a
user.</reason></invite></x><error code='503'
type='cancel'><service-unavailable
xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></message

Well, somehow this message causes the exception below.  Now, I know
that I am not calling GET-ELEMENT, but for some reason CL-XMPP is, and
it is calling it on some empty value that it shouldn't be.  I looked
at the defmethod for get-element, and there is indeed no method to
handle this case.  How can I fix this?

Thanks,
-Adam

There is no applicable method for the generic function
  #<STANDARD-GENERIC-FUNCTION CL-XMPP:GET-ELEMENT (1)>
when called with arguments
  (NIL :|#TEXT|).
   [Condition of type SIMPLE-ERROR]

Restarts:
  0: [TERMINATE-THREAD] Terminate this thread (#<THREAD {9402E91}>)

Backtrace:
  0: ((SB-PCL::FAST-METHOD NO-APPLICABLE-METHOD (T)) #<unavailable
argument> #<unavailable argument> #<STANDARD-GENERIC-FUNCTION
CL-XMPP:GET-ELEMENT (1)> (NIL :|#TEXT|))
  1: ((SB-PCL::FAST-METHOD NO-APPLICABLE-METHOD (T)) #<unavailable
argument> #<unavailable argument> #<STANDARD-GENERIC-FUNCTION
CL-XMPP:GET-ELEMENT (1)> (NIL :|#TEXT|))
  2: ((SB-PCL::FAST-METHOD CL-XMPP::XML-ELEMENT-TO-EVENT
(CL-XMPP:CONNECTION CL-XMPP:XML-ELEMENT (EQL :MESSAGE))) #<unavailable
argument> #<unavailable argument> #<unavailable argument>
#<CL-XMPP:XML-ELEMENT MESSAGE (3attr:2child:0data) {9CCE9A1}>
#<unavailable argument>)
  3: (SB-KERNEL:%MAP-TO-LIST-ARITY-1 #<CLOSURE (LAMBDA (CL-XMPP::X))
{9CCF1E5}> (#<CL-XMPP:XML-ELEMENT MESSAGE (3attr:2child:0data)
{9CCE9A1}>))
  4: (CL-XMPP::DEFAULT-STANZA-CALLBACK #<RUNE-DOM::DOCUMENT {9C04511}>
#<CL-XMPP:CONNECTION to shiva.guruza.com:5222 (open) {AA308F9}>
:DOM-REPR NIL)
  5: ((SB-PCL::FAST-METHOD CL-XMPP:RECEIVE-STANZA
(CL-XMPP:CONNECTION)) #<unavailable argument> #<unavailable argument>
#<CL-XMPP:CONNECTION to shiva.guruza.com:5222 (open) {AA308F9}>
(:STANZA-CALLBACK CL-XMPP::DEFAULT-STANZA-CALLBACK :DOM-REPR NIL))
  6: ((SB-PCL::FAST-METHOD CL-XMPP:RECEIVE-STANZA-LOOP
(CL-XMPP:CONNECTION)) #<unavailable argument> #<unavailable argument>
#<CL-XMPP:CONNECTION to shiva.guruza.com:5222 (open) {AA308F9}> NIL)
  7: ((SB-PCL::FAST-METHOD CL-XMPP:RECEIVE-STANZA-LOOP
(CL-XMPP:CONNECTION)) #<unavailable argument> #<unavailable argument>
#<CL-XMPP:CONNECTION to shiva.guruza.com:5222 (open) {AA308F9}> NIL)
  8: ((LAMBDA NIL))



More information about the cl-xmpp-devel mailing list