Closed Bug 999677 Opened 10 years ago Closed 8 years ago

Errors when deleting a buddy with whom a conversation is open.

Categories

(Chat Core :: XMPP, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: nhnt11, Unassigned)

Details

STR: Have conversation open with contact -> Delete contact from blist -> Errors! Close the tab, the tabpanel remains and can be focused using Cmd+Shift+arrow keys.

Errors: http://pastebin.instantbird.com/676499
Was this with a current nightly?
Just copying the contents of the pastebin:

Timestamp: 23/04/14 2:11:59 am
Error: aAccountBuddy is null
Source File: resource://gre/components/imContacts.js
Line: 1409

Timestamp: 23/04/14 2:11:59 am
Error: [Exception... "[JavaScript Error: "aAccountBuddy is null" {file: "resource://gre/components/imContacts.js" line: 1409}]'[JavaScript Error: "aAccountBuddy is null" {file: "resource://gre/components/imContacts.js" line: 1409}]' when calling method: [imIContactsService::accountBuddyRemoved]"  nsresult: "0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)"  location: "JS frame :: resource:///modules/xmpp.jsm :: XMPPAccountPrototype._forgetRosterItem :: line 1082"  data: yes]
Source File: resource:///modules/xmpp-xml.jsm
Line: 399

Timestamp: 23/04/14 2:28:43 am
Error: this._account is undefined
Source File: resource:///modules/jsProtoHelper.jsm
Line: 284

Timestamp: 23/04/14 2:28:43 am
Error: NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS: [JavaScript Error: "this._account is undefined" {file: "resource:///modules/jsProtoHelper.jsm" line: 284}]'[JavaScript Error: "this._account is undefined" {file: "resource:///modules/jsProtoHelper.jsm" line: 284}]' when calling method: [prplIConversation::unInit]
Source File: resource://gre/components/imConversations.js
Line: 420
This isn't a regression, recent changes just made the bug more visible.

There seem to be two issues here:

1) _forgetRosterItem can end up being called twice for the same jid when removing a contact, causing the first two errors above.

2) The XMPP conversation code currently assumes they are with a contact. This need not be the case (e.g. when someone starts a conversation with you who is not on your roster). It will also lead to bugs when a conversation with a contact is open and the contact is removed (e.g. the buddy property of the conversation shouldn't return a buddy anymore).

cc'ing sawrubh as 1) at least should be a good starter XMPP bug to finish diagnosing with a debug log.
Component: Conversation → XMPP
OS: Mac OS X → All
Product: Instantbird → Chat Core
Hardware: x86 → All
(In reply to aleth from comment #3)

> 2) The XMPP conversation code currently assumes they are with a contact.
> This need not be the case (e.g. when someone starts a conversation with you
> who is not on your roster).

Should this be filed as a separate bug?
(In reply to Florian Quèze [:florian] [:flo] from comment #4)
> (In reply to aleth from comment #3)
> Should this be filed as a separate bug?

I think it would make more sense to break out 1) as a separate bug, if my guess at what's causing it is correct.
Does this still happen? I know at least 2) in comment 3 is now fixed.
Flags: needinfo?(ab)
I tested it and there are no errors in the console for the two issues, so it seems they are fixed now.
Flags: needinfo?(ab)
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.