Thunderbird crashes when clicking on enigmail menu item while composing a message in a Unity session

Bug #1846882 reported by AO
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
thunderbird (Ubuntu)
Fix Released
High
Olivier Tilloy

Bug Description

Thunderbird 1:68.1.1+build1-0ubuntu1 On Ubuntu 19.10 fully updated.

When writing an email, upon clicking on Enigmail in the menu bar, Thunderbird crashes.

I contacted Enigmail’s lead dev about the issue who wrote:

"…but even if the crash is initiated by Enigmail, the cause is
certainly in Thunderbird. Enigmail is purely JavaScript and XUL - and by
definition of the programming languages, these two cannot crash
Thunderbird."

I tried Thunderbird 68.1.1 from Mozilla’s site, and can’t
reproduce the problem with it.

Here is Thunderbird’s log upon crashing:

AdapterDeviceID: 0x1912
AdapterDriverVendor: mesa/i965
AdapterDriverVersion: 19.3.0.0
AdapterVendorID: 0x8086
Add-ons:
%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D:68.1.1,%7B847b3a00-7ab1-11d4-8f02-006008948af5%7D:2.1.2,antidote7_linux_thunderbird_102%40druide.com:10.1.30,en-CA%40dictionaries.addons.mozilla.org:3.1.0,fr-dicollecte%40dictionaries.addons.mozilla.org:6.3.1webext,wetransfer%40extensions.thunderbird.net:2.0.0,thunderbird-compact-dark%40mozilla.org:1.0,google%40search.mozilla.org:1.0,bing%40search.mozilla.org:1.0,amazon%40search.mozilla.org:1.1,ddg%40search.mozilla.org:1.0,qwant%40search.mozilla.org:1.0,wikipedia%40search.mozilla.org:1.0,twitter%40search.mozilla.org:1.0,langpack-fr%40thunderbird.mozilla.org:68.0,wetransfer%40extensions.thunderbird.net:2.0.0
BuildID: 20191001201558
ContentSandboxCapabilities: 119
ContentSandboxCapable: 1
ContentSandboxLevel: 0
CrashTime: 1570225903
EventLoopNestingLevel: 1
FramePoisonBase: 9223372036600930304
FramePoisonSize: 4096
InstallTime: 1570020285
IsWayland: 0
Notes: Ubuntu Eoan Ermine (development
branch)FP(D00-L1000-W00000000-T000) WR? WR- OMTP? OMTP+3
ProductID: {3550f703-e582-4d05-9a08-453d09bdfdc6}
ProductName: Thunderbird
ReleaseChannel: release
SafeMode: 0
SecondsSinceLastCrash: 383
StartupCrash: 0
StartupTime: 1570225565
ThreadIdNameMapping: 20357:"Gecko_IOThread",20358:"JS
Watchdog",20359:"JS Helper",20360:"JS Helper",20361:"JS
Helper",20362:"JS Helper",20363:"Link Monitor",20364:"Socket
Thread",20372:"Timer",20373:"Cache2
I/O",20375:"DataStorage",20376:"Cookie",20379:"GMPThread",20380:"Worker
Launcher",20381:"SoftwareVsyncThread",20382:"Compositor",20383:"ImgDecoder
#1",20384:"ImageIO",20390:"ImageBridgeChild",20391:"IPDL
Background",20392:"DOM Worker",20394:"HTML5
Parser",20397:"StyleThread#1",20396:"StyleThread#0",20398:"StyleThread#2",20401:"mozStorage
#1",20407:"localStorage DB",20408:"ImgDecoder #2",20410:"Cache
I/O",20411:"DNS Resolver #1",20412:"URL Classifier",20413:"Classifier
Update",20415:"QuotaManager IO",20426:"DNS Resolver #2",20427:"DNS
Resolver #3",20429:"ImgDecoder #3",20439:"mozStorage #3",20452:"DOM
Worker",20467:"mozStorage #5",20468:"mozStorage #6",20469:"mozStorage
#7",20479:"DOM Worker",20500:"mozStorage #8",27048:"StreamTrans #18",
Throttleable: 1
UptimeTS: 337.7284093
Vendor:
Version: 68.1.1
useragent_locale: fr

This is what I get when running Thunderbird from the console and after the crash occurred:

1570277554871 addons.xpi WARN Can't get modified time of /<email address hidden>
1570277554912 addons.xpi-utils WARN updateMetadata: Add-on <email address hidden> is invalid: [Exception... "Component returned failure code: 0x80520006 (NS_ERROR_FILE_TARGET_DOES_NOT_EXIST) [nsIFile.isFile]" nsresult: "0x80520006 (NS_ERROR_FILE_TARGET_DOES_NOT_EXIST)" location: "JS frame :: resource://gre/modules/addons/XPIInstall.jsm :: get :: line 235" data: no] Stack trace: get()@resource://gre/modules/addons/XPIInstall.jsm:235
syncLoadManifest()@resource://gre/modules/addons/XPIInstall.jsm:745
updateMetadata()@resource://gre/modules/addons/XPIDatabase.jsm:2821
updateExistingAddon()@resource://gre/modules/addons/XPIDatabase.jsm:3036
processFileChanges()@resource://gre/modules/addons/XPIDatabase.jsm:3125
checkForChanges()@resource://gre/modules/addons/XPIProvider.jsm:2946
startup()@resource://gre/modules/addons/XPIProvider.jsm:2406
callProvider()@resource://gre/modules/AddonManager.jsm:213
_startProvider()@resource://gre/modules/AddonManager.jsm:649
startup()@resource://gre/modules/AddonManager.jsm:873
startup()@resource://gre/modules/AddonManager.jsm:3469
observe()@resource://gre/modules/addonManager.js:70
1570277554913 addons.xpi-utils WARN Could not uninstall invalid item from locked install location
1570277555077 addons.xpi-utils WARN addMetadata: Add-on <email address hidden> is invalid: Error: File /<email address hidden> does not contain a valid manifest(resource://gre/modules/addons/XPIInstall.jsm:666:11) JS Stack trace: <email address hidden>:666:11
<email address hidden>:228:15
<email address hidden>:746:22
<email address hidden>:2710:32
<email address hidden>:3150:26
<email address hidden>:2946:55
<email address hidden>:2406:12
<email address hidden>:213:31
<email address hidden>:649:5
<email address hidden>:873:14
<email address hidden>:3469:26
<email address hidden>:70:29
1570277555077 addons.xpi-utils WARN Could not uninstall invalid item from locked install location
1570277555097 addons.xpi WARN Failed to parse recommendation: TypeError: NetworkError when attempting to fetch resource.(resource://gre/modules/addons/XPIProvider.jsm:228:15) JS Stack trace: <email address hidden>:228:15
<email address hidden>:746:22
<email address hidden>:2710:32
<email address hidden>:3150:26
<email address hidden>:2946:55
<email address hidden>:2406:12
<email address hidden>:213:31
<email address hidden>:649:5
<email address hidden>:873:14
<email address hidden>:3469:26
<email address hidden>:70:29
1570277555117 addons.xpi WARN Failed to parse recommendation: TypeError: NetworkError when attempting to fetch resource.(resource://gre/modules/addons/XPIProvider.jsm:228:15) JS Stack trace: <email address hidden>:228:15
<email address hidden>:746:22
<email address hidden>:2710:32
<email address hidden>:3150:26
<email address hidden>:2946:55
<email address hidden>:2406:12
<email address hidden>:213:31
<email address hidden>:649:5
<email address hidden>:873:14
<email address hidden>:3469:26
<email address hidden>:70:29
console.log: WebExtensions: Loading packed extension from /home/ao/.thunderbird/49muedgc<email address hidden>
console.log: WebExtensions: Loading packed extension from /home/ao/.thunderbird/49muedgc.default-release/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}.xpi
console.log: WebExtensions: Loading add-on preferences from /home/ao/.thunderbird/49muedgc<email address hidden>
console.log: WebExtensions: Firing profile-after-change listeners for <email address hidden>
console.log: WebExtensions: Loading add-on preferences from /home/ao/.thunderbird/49muedgc.default-release/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}.xpi
console.log: WebExtensions: Firing profile-after-change listeners for {e2fda1a4-762b-4020-b5ad-a41df1933103}
[calBackendLoader] Using Thunderbird's builtin libical backend
1570277556974 addons.xpi WARN Can't get modified time of /<email address hidden>
1570277556976 addons.xpi-utils WARN addMetadata: Add-on <email address hidden> is invalid: [Exception... "Component returned failure code: 0x80520006 (NS_ERROR_FILE_TARGET_DOES_NOT_EXIST) [nsIFile.isFile]" nsresult: "0x80520006 (NS_ERROR_FILE_TARGET_DOES_NOT_EXIST)" location: "JS frame :: resource://gre/modules/addons/XPIInstall.jsm :: get :: line 235" data: no] Stack trace: get()@resource://gre/modules/addons/XPIInstall.jsm:235
syncLoadManifest()@resource://gre/modules/addons/XPIInstall.jsm:745
addMetadata()@resource://gre/modules/addons/XPIDatabase.jsm:2710
processFileChanges()@resource://gre/modules/addons/XPIDatabase.jsm:3150
getNewSideloads()@resource://gre/modules/addons/XPIProvider.jsm:2982
1570277556976 addons.xpi-utils WARN Could not uninstall invalid item from locked install location
1570277556977 addons.xpi-utils WARN addMetadata: Add-on <email address hidden> is invalid: Error: File /<email address hidden> does not contain a valid manifest(resource://gre/modules/addons/XPIInstall.jsm:666:11) JS Stack trace: <email address hidden>:666:11
<email address hidden>:228:15
<email address hidden>:746:22
<email address hidden>:2710:32
<email address hidden>:3150:26
<email address hidden>:2982:28
1570277556978 addons.xpi-utils WARN Could not uninstall invalid item from locked install location
JavaScript error: chrome://antidote/content/AntidoteThunderbird.js, line 370: TypeError: antidoteToolbaritem is null
ExceptionHandler::GenerateDump cloned child ExceptionHandler::WaitForContinueSignal waiting for continue signal...
16676
ExceptionHandler::SendContinueSignalToChild sent continue signal to child

ProblemType: Bug
DistroRelease: Ubuntu 19.10
Package: thunderbird 1:68.1.1+build1-0ubuntu1
ProcVersionSignature: Ubuntu 5.3.0-13.14-generic 5.3.0
Uname: Linux 5.3.0-13-generic x86_64
NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair
AddonCompatCheckDisabled: False
ApportVersion: 2.20.11-0ubuntu7
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: ao 4465 F.... pulseaudio
 /dev/snd/controlC1: ao 4465 F.... pulseaudio
BuildID: 20191001201558
Channel: Unavailable
CurrentDesktop: Unity:Unity7:ubuntu
Date: Sat Oct 5 07:58:22 2019
DefaultProfileExtensions: extensions.sqlite corrupt or missing
DefaultProfileIncompatibleExtensions: Unavailable (corrupt or non-existant compatibility.ini or extensions.sqlite)
DefaultProfileLocales: extensions.sqlite corrupt or missing
DefaultProfilePrefErrors: Unexpected character ',' before close parenthesis @ /usr/lib/thunderbird/omni.ja:greprefs.js:1141
DefaultProfilePrefSources: prefs.js
DefaultProfilePrefs:
 extensions.lastAppVersion: "68.1.1" (prefs.js)
 network.cookie.prefsMigrated: true (prefs.js)
 places.history.expiration.transient_current_max_pages: 104858 (prefs.js)
 security.sandbox.plugin.tempDirSuffix: "377125c4-4b7d-4bd3-b88f-e5c78fb2ce9a" (prefs.js)
DefaultProfileThemes: extensions.sqlite corrupt or missing
ForcedLayersAccel: False
IfupdownConfig:
 # interfaces(5) file used by ifup(8) and ifdown(8)
 # Include files from /etc/network/interfaces.d:
 source-directory /etc/network/interfaces.d
MostRecentCrashID: bp-8063cd4e-3a7c-4dc2-8d71-c82760191005
Profile0Extensions: extensions.sqlite corrupt or missing
Profile0IncompatibleExtensions: Unavailable (corrupt or non-existant compatibility.ini or extensions.sqlite)
Profile0Locales: extensions.sqlite corrupt or missing
Profile0PrefErrors: Unexpected character ',' before close parenthesis @ /usr/lib/thunderbird/omni.ja:greprefs.js:1141
Profile0PrefSources: prefs.js
Profile0Themes: extensions.sqlite corrupt or missing
Profiles:
 Profile1 (Default) - LastVersion=68.1.1/20191001201558
 Profile0 - LastVersion=68.1.1/20190924105435 (Out of date)
RunningIncompatibleAddons: False
SourcePackage: thunderbird
SubmittedCrashIDs:
 bp-8063cd4e-3a7c-4dc2-8d71-c82760191005
 bp-e5a5e5ca-6834-4689-91b4-6f8480191005
 bp-5abd6d5d-8855-4365-938f-45e5d0191004
 bp-056fa603-f786-462c-9fe0-2293a0191004
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 03/14/2018
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 3801
dmi.board.asset.tag: Default string
dmi.board.name: MAXIMUS VIII GENE
dmi.board.vendor: ASUSTeK COMPUTER INC.
dmi.board.version: Rev 1.xx
dmi.chassis.asset.tag: Default string
dmi.chassis.type: 3
dmi.chassis.vendor: Default string
dmi.chassis.version: Default string
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr3801:bd03/14/2018:svnSystemmanufacturer:pnSystemProductName:pvrSystemVersion:rvnASUSTeKCOMPUTERINC.:rnMAXIMUSVIIIGENE:rvrRev1.xx:cvnDefaultstring:ct3:cvrDefaultstring:
dmi.product.family: To be filled by O.E.M.
dmi.product.name: System Product Name
dmi.product.sku: SKU
dmi.product.version: System Version
dmi.sys.vendor: System manufacturer
modified.conffile..etc.default.apport: [modified]
mtime.conffile..etc.default.apport: 2019-07-16T09:15:07.419255

Revision history for this message
AO (aofrl10n) wrote :
Revision history for this message
Olivier Tilloy (osomon) wrote :

It looks like you might have an old, incompatible version of the enigmail extension installed.

Can you share the output of `apt policy enigmail` ?

If you open the extensions settings and check out the details for enigmail, what version is displayed?

Changed in thunderbird (Ubuntu):
status: New → Incomplete
Revision history for this message
AO (aofrl10n) wrote :

Thanks Olivier for looking into this issue.

apt policy enigmail
enigmail:
  Installed : (none)
  Candidate : 2:2.1.2-0ubuntu1
 Version table :
     2:2.1.2-0ubuntu1 500
        500 http://archive.ubuntu.com/ubuntu eoan/universe amd64 Packages

I have Enigmail 2.1.2 installed, from Thunderbird add-on store.

Revision history for this message
Olivier Tilloy (osomon) wrote :

Could you try removing extension from the add-on store, closing thunderbird, installing enigmail from the Ubuntu archive, and see if this "fixes" the problem?

Revision history for this message
AO (aofrl10n) wrote :

As asked, I have removed the Enigmail add-on installed from the add-on store, clased Thunderbird, installed Enigmail 2:2.1.2-0ubuntu1 from the Ubuntu archive and the problem persists, now in Thunderbird 1:68.1.2+build1-0ubuntu1.
I still can’t reproduce the issue with the Thunderbird version downloaded directly from Mozilla.

Revision history for this message
Olivier Tilloy (osomon) wrote :

Does the problem occur if you launch thunderbird with a newly-created profile (thunderbird -P)?

Revision history for this message
AO (aofrl10n) wrote :

As asked, I took the time to create a new test profile with the same email account and the same Enigmail configuration and the problem also occurs

Revision history for this message
AO (aofrl10n) wrote :

I would again point out that using the same user profile with Thunderbird 68.1.2 downloaded from Mozilla’s site the problem is not present.

Revision history for this message
Olivier Tilloy (osomon) wrote :

I had overlooked the fact that you're running a Unity session. I can now reproduce the crash in a 19.10 VM with Unity.

Changed in thunderbird (Ubuntu):
status: Incomplete → Confirmed
summary: - Thunderbird crashes when clicking on menu item
+ Thunderbird crashes when clicking on enigmail menu item while composing
+ a message in a Unity session
Revision history for this message
Olivier Tilloy (osomon) wrote :

I'm attaching a backtrace obtained by running `thunderbird -g` with debug symbols installed.

Changed in thunderbird (Ubuntu):
assignee: nobody → Olivier Tilloy (osomon)
importance: Undecided → High
Revision history for this message
Michael (linuxmagic) wrote :

Is this reproducable in 68.5 release?

Revision history for this message
AO (aofrl10n) wrote :

Yes in TB 68.5.0.

Revision history for this message
Olivier Tilloy (osomon) wrote :

The crash happens in nsMenuItem::UncheckSiblings(), and is caused by trying to access the name attribute of an XML element that doesn't have a name (in this case, a comment: https://gitlab.com/enigmail/enigmail/-/blob/master/ui/content/enigmailMsgComposeOverlay.xul#L72).

Changed in thunderbird (Ubuntu):
status: Confirmed → In Progress
Revision history for this message
Olivier Tilloy (osomon) wrote :
Changed in thunderbird (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package thunderbird - 1:68.7.0+build1-0ubuntu0.16.04.2

---------------
thunderbird (1:68.7.0+build1-0ubuntu0.16.04.2) xenial; urgency=medium

  * Ignore comment nodes in menu definitions, thus preventing a crash when
    using the enigmail extension in conjuction with the global menu
    (LP: #1846882)
    - debian/patches/unity-menubar.patch

 -- Olivier Tilloy <email address hidden> Fri, 17 Apr 2020 17:00:33 +0200

Changed in thunderbird (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
UlfZibis (ulf-zibis) wrote :

Hi,
is this bug also fixed for Ubuntu 18.04 and 20.04 ?
Currently I'm using Ubuntu 18.04 with ubuntu-unity-desktop.

Revision history for this message
Olivier Tilloy (osomon) wrote :

The fix was applied to the 18.04 branch, but not released yet. However there's a new 68.8.0 upstream release, so the new builds will include the fix.

The unity menubar patch was removed in 20.04, so this doesn't apply there.

Revision history for this message
cement_head (andorjkiss) wrote :

Same issue here; looking forward to the 68.8.0 release!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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