Closed Bug 1330971 Opened 8 years ago Closed 8 years ago

Thunderbird uncaught exception: 2147746065 - autosync.js

Categories

(Thunderbird :: Untriaged, defect)

45 Branch
x86_64
Windows 7
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: worcester12345, Unassigned)

References

Details

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0 Build ID: 20170109165508 Steps to reproduce: Check error console Actual results: Got this message (only one in red): uncaught exception: 2147746065 resource:///modules/activity/autosync.js double clicking brings this up: this.activityMgr.removeActivity(process.id); } catch(e) { // It is OK to end up here; If the folder is queued and the // message get manually downloaded by the user, we might get // a folder removed notification even before a donwload // started for this folder. This behavior stems from the fact // that we add activities into the activity manager in // onDownloadStarted notification rather than onFolderAddedIntoQ. // This is an expected side effect. } // remove the folder/syncItem association from the table delete this._syncInfoPerFolder[folder.URI]; } // if this is the last folder of this server in the queue // create a sync event and clean the sync start time let found = false; for (let key in this._syncInfoPerFolder) { let value = this._syncInfoPerFolder[key]; if (value.syncFolder.server == folder.server) { found = true; break; } } this.log.info("Auto_Sync OnFolderRemovedFromQ Last folder of the server: " + !found); if (!found) { // create an sync event for the completed process if it's not canceled if (!canceled) { let key = folder.server.prettyName; if (key in this._lastMessage && this.activityMgr.containsActivity(this._lastMessage[key])) this.activityMgr.removeActivity(this._lastMessage[key]); this._lastMessage[key] = this.activityMgr .addActivity(this.createSyncMailEvent(syncItem)); } delete this._syncInfoPerServer[folder.server]; } } } catch (e) { this.log.error("onFolderRemovedFromQ: " + e); throw(e); } }, onDownloadStarted : function(folder, numOfMessages, totalPending) { try { if (folder instanceof Components.interfaces.nsIMsgFolder) { this.log.info("OnDownloadStarted (" + numOfMessages + "/" + totalPending + "): " + folder.prettiestName + " of " + folder.server.prettyName + "\n"); let syncItem = this._syncInfoPerFolder[folder.URI]; let process = syncItem.activity; // Update the totalPending number. if new messages have been discovered in the folder // after we added the folder into the q, totalPending might be greater than what we have // initially set if (totalPending > syncItem.pendingMsgCount) syncItem.pendingMsgCount = totalPending; if (process instanceof Components.interfaces.nsIActivityProcess) { // if the process has not beed added to activity manager already, add now if (!this.activityMgr.containsActivity(process.id)) { this.log.info("Auto_Sync OnDownloadStarted: No process, adding a new process"); this.activityMgr.addActivity(process); } syncItem.totalDownloaded += numOfMessages; process.state = Components.interfaces.nsIActivityProcess.STATE_INPROGRESS; let percent = (syncItem.totalDownloaded/syncItem.pendingMsgCount)*100; if (percent > syncItem.percentComplete) syncItem.percentComplete = percent; let msg = this.bundle.formatStringFromName("autosyncProcessProgress", [syncItem.totalDownloaded, syncItem.pendingMsgCount, folder.prettiestName], 3); process.setProgress(msg, numOfMessages, totalPending); this._syncInfoPerServer[syncItem.syncFolder.server].totalDownloads += numOfMessages; } } } catch (e) { this.log.error("onDownloadStarted: " + e); throw(e); } }, onDownloadCompleted : function(folder) { try { if (folder instanceof Components.interfaces.nsIMsgFolder) { this.log.info("OnDownloadCompleted: " + folder.prettiestName + " of " + folder.server.prettyName); let process = this._syncInfoPerFolder[folder.URI].activity; if (process instanceof Components.interfaces.nsIActivityProcess && !this._running) { this.log.info("OnDownloadCompleted: Auto-Sync Manager is paused, pausing the process"); process.state = Components.interfaces.nsIActivityProcess.STATE_PAUSED; } } } catch (e) { this.log.error("onDownloadCompleted: " + e); throw(e); } }, onDownloadError : function(folder) { if (folder instanceof Components.interfaces.nsIMsgFolder) { this.log.error("OnDownloadError: " + folder.prettiestName + " of " + folder.server.prettyName + "\n"); } }, onDiscoveryQProcessed : function (folder, numOfHdrsProcessed, leftToProcess) { this.log.info("onDiscoveryQProcessed: Processed " + numOfHdrsProcessed + "/" + (leftToProcess+numOfHdrsProcessed) + " of " + folder.prettiestName + "\n"); }, onAutoSyncInitiated : function (folder) { this.log.info("onAutoSyncInitiated: " + folder.prettiestName + " of " + folder.server.prettyName + " has been updated.\n"); }, init: function() { // XXX when do we need to remove ourselves? this.log.info('initing'); Components.classes["@mozilla.org/imap/autosyncmgr;1"] .getService(Components.interfaces.nsIAutoSyncManager).addListener(this); }, } Expected results: no error in console
OS: Unspecified → Windows 7
Hardware: Unspecified → x86_64
Please don't quote our own source code here, we already have it. As the code says, the exception is expected: catch(e) { // It is OK to end up here; ...
Status: UNCONFIRMED → RESOLVED
Closed: 8 years ago
Resolution: --- → INVALID
Summary: Thunderbird uncaught exception: 2147746065 → Thunderbird uncaught exception: 2147746065 - autosync.js

(In reply to Jorg K (GMT+1) (PTO to 1st Dec 2019, not reading bugmail) from comment #1)

Please don't quote our own source code here, we already have it.

As the code says, the exception is expected:
catch(e) {
// It is OK to end up here; ...

That is all I have to go by with this bug. The fact remains that it is still a bug, and hasn't been fixed. "Invalid" is invalid. In other words, nothing was changed or fixed, or prevents it from happening again? (Yes, that was a question.) I say reopen.

You need to log in before you can comment on or make changes to this bug.