Package: thunderbird
Version: 1:60.0-3~deb9u1
Severity: important

Dear Maintainer,

This crash occurs every time I try to start Thunderbird, even in
--safe-mode or with -P to try to set up a new profile.  It didn't
occur before the upgrade to Thunderbird 60.

I've run it through gdb, and saved a log, the most relevant part of
which is as follows:

Thread 1 "thunderbird" received signal SIGILL, Illegal instruction.
0xb352c79f in alloc::slice::hack::to_vec::h87940800129e8dc6 (s=...)
    at liballoc/slice.rs:167

I've saved more of the backtrace, etc., which I can attach, but
running
  $ gdb -ex run /usr/lib/thunderbird/thunderbird
left my system unusable for about 6 hours (probably because I have
only about three quarters of a gigabyte of RAM), so I hope I won't
need to run it again.

I strongly suspect that this is related to bug #908449, where Rust
was putting SSE2 instructions into Firefox 60 for i386, which it
shouldn't have done for the Debian distribution.


-- System Information:
Debian Release: 9.5
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 4.9.0-8-686 (SMP w/1 CPU core)
Locale: LANG=en_NZ.UTF-8, LC_CTYPE=en_NZ.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_NZ:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages thunderbird depends on:
ii  debianutils               4.8.1.1
ii  fontconfig                2.11.0-6.7+b1
ii  libatk1.0-0               2.22.0-1
ii  libc6                     2.24-11+deb9u3
ii  libcairo-gobject2         1.14.8-1
ii  libcairo2                 1.14.8-1
ii  libdbus-1-3               1.10.26-0+deb9u1
ii  libdbus-glib-1-2          0.108-2
ii  libevent-2.0-5            2.0.21-stable-3
ii  libffi6                   3.2.1-6
ii  libfontconfig1            2.11.0-6.7+b1
ii  libfreetype6              2.6.3-3.2
ii  libgcc1                   1:6.3.0-18+deb9u1
ii  libgdk-pixbuf2.0-0        2.36.5-2+deb9u2
ii  libglib2.0-0              2.50.3-2
ii  libgtk-3-0                3.22.11-1
ii  libgtk2.0-0               2.24.31-2
ii  libjsoncpp1               1.7.4-3
ii  libpango-1.0-0            1.40.5-1
ii  libpangocairo-1.0-0       1.40.5-1
ii  libpangoft2-1.0-0         1.40.5-1
ii  libstartup-notification0  0.12-4+b2
ii  libstdc++6                6.3.0-18+deb9u1
ii  libvpx4                   1.6.1-3+deb9u1
ii  libx11-6                  2:1.6.4-3
ii  libx11-xcb1               2:1.6.4-3
ii  libxcb-shm0               1.12-1
ii  libxcb1                   1.12-1
ii  libxext6                  2:1.3.3-1+b2
ii  libxrender1               1:0.9.10-1
ii  libxt6                    1:1.1.5-1
ii  psmisc                    22.21-2.1+b2
ii  x11-utils                 7.7+3+b1
ii  zlib1g                    1:1.2.8.dfsg-5

Versions of packages thunderbird recommends:
ii  hunspell-en-us [hunspell-dictionary]  20070829-7
ii  lightning                             1:60.0-3~deb9u1

Versions of packages thunderbird suggests:
pn  apparmor          <none>
pn  fonts-lyx         <none>
ii  libgssapi-krb5-2  1.15-1+deb9u1

-- no debconf information
tim@lazarus:~$ thunderbird 
ExceptionHandler::GenerateDump cloned child 1275
ExceptionHandler::SendContinueSignalToChild sent continue signal to child
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
tim@lazarus:~$ thunderbird --safe-mode
ExceptionHandler::GenerateDump cloned child 1290
ExceptionHandler::SendContinueSignalToChild sent continue signal to child
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
tim@lazarus:~$ thunderbird -P
ExceptionHandler::GenerateDump cloned child 1305
ExceptionHandler::SendContinueSignalToChild sent continue signal to child
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
tim@lazarus:~$ gdb -ex run /usr/lib/thunderbird/thunderbird
GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/lib/thunderbird/thunderbird...Reading symbols from 
/usr/lib/debug/.build-id/0e/fefd57531081dddef80fc6fc8944d48d010835.debug...done.
done.
Starting program: /usr/lib/thunderbird/thunderbird 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[New Thread 0xaf26ab40 (LWP 3960)]
[Thread 0xaf26ab40 (LWP 3960) exited]
[New Thread 0xaf26ab40 (LWP 3979)]
Dwarf Error: Cannot find DIE at 0x3271370c referenced from DIE at 0x32713052 
[in module 
/usr/lib/debug/.build-id/ea/f1c6fa4826b01f8658c9504a553db028d23049.debug]

Thread 1 "thunderbird" received signal SIGILL, Illegal instruction.
0xb352c79f in alloc::slice::hack::to_vec::h87940800129e8dc6 (s=...)
    at liballoc/slice.rs:167
167     liballoc/slice.rs: No such file or directory.
(gdb) set logging on
Copying output to gdb.txt.
(gdb) thread apply all bt

Thread 3 (Thread 0xaf26ab40 (LWP 3979)):
#0  0xb7fd9cd9 in __kernel_vsyscall ()
#1  0xb7cdd28a in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
#2  0xaf564e88 in ?? () from /usr/lib/i386-linux-gnu/libevent-2.0.so.5
#3  0xaf54e014 in event_base_loop ()
   from /usr/lib/i386-linux-gnu/libevent-2.0.so.5
#4  0xb00afb08 in base::MessagePumpLibevent::Run (this=0xb79bd820, 
    delegate=0xaf26a240)
    at ./ipc/chromium/src/base/message_pump_libevent.cc:381
#5  0xb00b1fda in MessageLoop::RunInternal (this=0xaf26a240)
    at ./ipc/chromium/src/base/message_loop.cc:326
#6  MessageLoop::RunHandler (this=0xaf26a240)
    at ./ipc/chromium/src/base/message_loop.cc:319
#7  MessageLoop::Run (this=0xaf26a240)
    at ./ipc/chromium/src/base/message_loop.cc:299
#8  0xb00bf654 in base::Thread::ThreadMain (this=0xb79bd7c0)
    at ./ipc/chromium/src/base/thread.cc:181
#9  0xb00af58d in ThreadFunc (closure=0xb79bd7c0)
    at ./ipc/chromium/src/base/platform_thread_posix.cc:41
#10 0xb7fa427a in start_thread (arg=0xaf26ab40) at pthread_create.c:333
#11 0xb7cdcae6 in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:110

---Type <return> to continue, or q <return> to quit---
Thread 1 (Thread 0xb7bf45c0 (LWP 3030)):
#0  0xb352c79f in alloc::slice::hack::to_vec::h87940800129e8dc6 (s=...)
    at liballoc/slice.rs:167
#1  alloc::slice::_$LT$impl$u20$$u5b$T$u5d$$GT$::to_vec::h848da3a1fa24c44a (
    self=...) at liballoc/slice.rs:1604
#2  
alloc::slice::_$LT$impl$u20$alloc..borrow..ToOwned$u20$for$u20$$u5b$T$u5d$$GT$::to_owned::h95cc57907609d3a3
 (self=...) at liballoc/slice.rs:1821
#3  0xb3144ab6 in 
alloc::str::_$LT$impl$u20$alloc..borrow..ToOwned$u20$for$u20$str$GT$::to_owned::hb77fdc93c3f7ea35
 (self=...)
    at /usr/src/rustc-1.24.1/src/liballoc/str.rs:189
#4  
_$LT$alloc..borrow..Cow$LT$$u27$a$C$$u20$B$GT$$GT$::into_owned::h4597f31d6e332bf0
 (self=...) at liballoc/borrow.rs:255
#5  prefs_parser_parse (path=0xb357e526 "greprefs.js", 
    kind=<error reading variable: access outside bounds of object referenced 
via synthetic pointer>, buf=<optimized out>, len=228590, pref_fn=0x0, 
    error_fn=0xb) at modules/libpref/parser/src/lib.rs:139
#6  0xafcff152 in Parser::Parse (aBuf=..., aStartTime=<synthetic pointer>..., 
    aPath=0xb357e526 "greprefs.js", aKind=mozilla::PrefValueKind::Default, 
    aName=..., this=<synthetic pointer>)
    at ./modules/libpref/Preferences.cpp:1120
#7  mozilla::pref_ReadPrefFromJar (aJarReader=aJarReader@entry=0xb7951000, 
    aName=aName@entry=0xb357e526 "greprefs.js")
    at ./modules/libpref/Preferences.cpp:3769
---Type <return> to continue, or q <return> to quit---
#8  0xafd075a1 in mozilla::Preferences::InitInitialObjects ()
    at ./modules/libpref/Preferences.cpp:3824
#9  0xafd080b0 in mozilla::Preferences::GetInstanceForService ()
    at ./modules/libpref/Preferences.cpp:2947
#10 0xafd084f5 in PreferencesConstructor (aOuter=0x0, aIID=..., 
    aResult=0xbfffcedc) at ./modules/libpref/Preferences.cpp:4748
#11 0xafcc0d54 in nsComponentManagerImpl::CreateInstanceByContractID (
    this=this@entry=0xb791d660, 
    aContractID=aContractID@entry=0xb3543e50 
"@mozilla.org/preferences-service;1", aDelegate=aDelegate@entry=0x0, aIID=..., 
aResult=0xbfffcedc)
    at ./xpcom/components/nsComponentManager.cpp:1083
#12 0xafcc5efc in nsComponentManagerImpl::CreateInstanceByContractID (
    aResult=<optimized out>, aIID=..., aDelegate=0x0, 
    aContractID=<optimized out>, this=0xb3543e50)
    at ./xpcom/components/nsComponentManager.cpp:1056
#13 nsComponentManagerImpl::GetServiceByContractID (
    this=this@entry=0xb791d660, aContractID=<optimized out>, aIID=..., 
    aResult=<optimized out>) at ./xpcom/components/nsComponentManager.cpp:1444
#14 0xafcc63ef in nsComponentManagerImpl::GetServiceByContractID (
    aResult=0xbfffcf48, aIID=..., aContractID=<optimized out>, this=0xb791d660)
    at ./xpcom/components/nsComponentManagerUtils.cpp:64
#15 CallGetService (aResult=0xbfffcf48, aIID=..., aContractID=<optimized out>)
    at ./xpcom/components/nsComponentManagerUtils.cpp:69
---Type <return> to continue, or q <return> to quit---
#16 nsGetServiceByContractID::operator() (this=this@entry=0xbfffcf3c, 
    aIID=..., aInstancePtr=aInstancePtr@entry=0xbfffcf48)
    at ./xpcom/components/nsComponentManagerUtils.cpp:280
#17 0xafc64f55 in nsCOMPtr_base::assign_from_gs_contractid (
    this=this@entry=0xbfffcf7c, aGS=..., aIID=...)
    at ./xpcom/base/nsCOMPtr.cpp:95
#18 0xafced5e0 in nsCOMPtr<nsIPrefService>::nsCOMPtr (aGS=..., this=0xbfffcf7c)
    at ./obj-thunderbird/dist/include/nsCOMPtr.h:577
#19 nsChromeRegistryChrome::Init (this=0xb79f7800)
    at ./chrome/nsChromeRegistryChrome.cpp:117
#20 0xafcef1a4 in nsChromeRegistry::GetSingleton ()
    at ./chrome/nsChromeRegistry.cpp:692
#21 0xafcf5345 in nsChromeRegistryConstructor (aOuter=0x0, aIID=..., 
    aResult=0xbfffd10c) at ./xpcom/build/XPCOMInit.cpp:283
#22 0xafcc0d54 in nsComponentManagerImpl::CreateInstanceByContractID (
    this=this@entry=0xb791d660, 
    aContractID=aContractID@entry=0xb357cbac 
"@mozilla.org/chrome/chrome-registry;1", aDelegate=aDelegate@entry=0x0, 
aIID=..., aResult=0xbfffd10c)
    at ./xpcom/components/nsComponentManager.cpp:1083
#23 0xafcc5efc in nsComponentManagerImpl::CreateInstanceByContractID (
    aResult=<optimized out>, aIID=..., aDelegate=0x0, 
    aContractID=<optimized out>, this=0xb357cbac)
    at ./xpcom/components/nsComponentManager.cpp:1056
---Type <return> to continue, or q <return> to quit---
#24 nsComponentManagerImpl::GetServiceByContractID (
    this=this@entry=0xb791d660, aContractID=<optimized out>, aIID=..., 
    aResult=<optimized out>) at ./xpcom/components/nsComponentManager.cpp:1444
#25 0xafcc63ef in nsComponentManagerImpl::GetServiceByContractID (
    aResult=0xbfffd178, aIID=..., aContractID=<optimized out>, this=0xb791d660)
    at ./xpcom/components/nsComponentManagerUtils.cpp:64
#26 CallGetService (aResult=0xbfffd178, aIID=..., aContractID=<optimized out>)
    at ./xpcom/components/nsComponentManagerUtils.cpp:69
#27 nsGetServiceByContractID::operator() (this=this@entry=0xbfffd16c, 
    aIID=..., aInstancePtr=aInstancePtr@entry=0xbfffd178)
    at ./xpcom/components/nsComponentManagerUtils.cpp:280
#28 0xafc64f55 in nsCOMPtr_base::assign_from_gs_contractid (
    this=this@entry=0xbfffd198, aGS=..., aIID=...)
    at ./xpcom/base/nsCOMPtr.cpp:95
#29 0xafcf406d in nsCOMPtr<nsIChromeRegistry>::nsCOMPtr (aGS=..., 
    this=0xbfffd198) at ./xpcom/base/nsCOMPtr.h:577
#30 XPCOMService_GetChromeRegistryService ()
    at ./obj-thunderbird/xpcom/build/Services.cpp:44
#31 0xafcc4200 in mozilla::services::GetChromeRegistryService ()
    at ./obj-thunderbird/dist/include/mozilla/Services.h:28
#32 ParseManifest (aType=NS_APP_LOCATION, aFile=..., aBuf=0xabe09008 "locale", 
    aChromeOnly=false) at ./xpcom/components/ManifestParser.cpp:724
#33 0xafcc440b in DoRegisterManifest (aType=NS_APP_LOCATION, aFile=..., 
---Type <return> to continue, or q <return> to quit---
    aChromeOnly=<optimized out>)
    at ./xpcom/components/nsComponentManager.cpp:544
#34 0xafcc4476 in nsComponentManagerImpl::RegisterManifest (
    aChromeOnly=<optimized out>, aFile=..., aType=<optimized out>, 
    this=0xb791d660) at ./xpcom/components/nsComponentManager.cpp:557
#35 nsComponentManagerImpl::ManifestManifest (this=0xb791d660, aCx=..., 
    aLineNo=1, aArgv=0xbfffd9cc)
    at ./xpcom/components/nsComponentManager.cpp:566
#36 0xafcc41c6 in ParseManifest (aType=NS_APP_LOCATION, aFile=..., 
    aBuf=0xb79f7788 "manifest", aChromeOnly=false)
    at ./xpcom/components/ManifestParser.cpp:742
#37 0xafcc440b in DoRegisterManifest (aType=NS_APP_LOCATION, aFile=..., 
    aChromeOnly=aChromeOnly@entry=false)
    at ./xpcom/components/nsComponentManager.cpp:544
#38 0xafcc44db in nsComponentManagerImpl::RegisterManifest (aChromeOnly=false, 
    aFile=..., aType=<optimized out>, this=0xb791d660)
    at ./xpcom/components/nsComponentManager.cpp:557
#39 nsComponentManagerImpl::RereadChromeManifests (this=0xb791d660, 
    aChromeOnly=false) at ./xpcom/components/nsComponentManager.cpp:718
#40 0xafcc4d9e in nsComponentManagerImpl::Init (this=0xb791d660)
    at ./xpcom/components/nsComponentManager.cpp:352
#41 0xafcfc12f in NS_InitXPCOM2 (aResult=0xb794f298, 
    aBinDirectory=<optimized out>, aAppFileLocationProvider=0xbfffe164)
---Type <return> to continue, or q <return> to quit---
    at ./xpcom/build/XPCOMInit.cpp:676
#42 0xafcfc406 in NS_InitXPCOM2 (aResult=0xb794f298, aBinDirectory=0xb793e480, 
    aAppFileLocationProvider=0xbfffe164) at ./xpcom/build/XPCOMInit.cpp:736
#43 0xb29971da in ScopedXPCOMStartup::Initialize (this=0xb794f298)
    at ./toolkit/xre/nsAppRunner.cpp:1573
#44 0xb299dad5 in XREMain::XRE_main (this=<optimized out>, 
    argc=<optimized out>, argv=<optimized out>, aConfig=...)
    at ./toolkit/xre/nsAppRunner.cpp:4971
#45 0xb299def1 in XRE_main (argc=1, argv=0xbffff3b4, aConfig=...)
    at ./toolkit/xre/nsAppRunner.cpp:5067
#46 0x00404eb1 in do_main (argc=1, argv=0xbffff3b4, envp=<optimized out>)
    at ./comm/mail/app/nsMailApp.cpp:232
#47 0x0040462b in main (argc=1, argv=0xbffff3b4, envp=0xbffff3bc)
    at ./comm/mail/app/nsMailApp.cpp:306
(gdb) set logging off
Done logging to gdb.txt.
(gdb) quit
A debugging session is active.

        Inferior 1 [process 3030] will be killed.

Quit anyway? (y or n) y

Reply via email to