Author Topic: Thunderbird not working Debian buster (1:68.12.0-1~deb10u1 & 1:78.4.0-1~deb10u1)  (Read 484 times)

pocock

  • Full Member
  • ***
  • Posts: 223
  • Karma: +22/-0
    • View Profile
When I started using my Talos II system, I moved my $HOME into Debian buster with Thunderbird 1:68.12.0-1~deb10u1

Launching Thunderbird, I found that all the panes (folder list, message list, message preview) were empty and toolbar appears mildly corrupt

I thought I would just wait for Debian to package a newer version.

Thunderbird 1:78.4.0-1~deb10u1 is now available through the Debian buster security updates so I tried that today.

The same problem occurred, all panes empty

I looked for information online and found a few suggestions but these things didn't make any difference:

- running Thunderbird in safe mode

- running Thunderbird in safe mode with all add-ons disabled and selecting the option to reset the toolbar

- running Thunderbird in safe mode to create a new profile

When I try to start in a new profile, I notice that the wizard to create a new mail account never appears.  Trying to access the accounts window from the menu, the window doesn't appear either.

Has anybody else had problems like this on Debian or any other distribution?

Are there any tweaks in the Fedora build of Thunderbird that may be necessary for the Debian build?
Debian Developer
https://danielpocock.com

pocock

  • Full Member
  • ***
  • Posts: 223
  • Karma: +22/-0
    • View Profile
Here are some details about my investigation into this issue, I finally got it working by manually patching and rebuilding the package version 68.12 on Debian buster.

It may impact Fedora and other distributions too.

I started with an empty profile and press CTRL-SHIFT-J to bring up the error console.

There were a range of errors, here are some of them:

Code: [Select]
Component returned failure code: 0x80520001 (NS_ERROR_FILE_UNRECOGNIZED_PATH)

There are many search results for that.

Code: [Select]
thunderbird Uncaught (in promise) TypeError "this.asyncConnection" is nullcreateNounTable

Searching for that one immediately found a ppc64el-specific bug report in Ubuntu (bug 1845929)

The bug report includes a patch against Thunderbird 68.1.1, they configure Thunderbird to use the system sqlite3 library instead of the bundled version in the Mozilla source tree.

Looking at the debian/changelog (buster) for the Debian buster build, I found that the patch had been reverted at some point after that:

Code: [Select]
thunderbird (1:68.2.2-1~deb10u1) stable-security; urgency=medium

  * Rebuild for buster-security
  * [2c1bd00] d/mozconfig.default: use internal version of
    nspr, nss, sqlite and icu
  * [94d6ae4] d/control: remove lib{nspr4,nss3,sqlite3}-dev from B-D

Further on, around Thunderbird v76 packaging, I found they removed more of the system-sqlite stuff, there is a changelog comment suggesting that the Thunderbird internal sqlite codebase is now a fork.  The patch can no longer be used because the configure option --enable-system-sqlite no longer exists.  Base on my experience with Thunderbird v78, that fork is not working at all on ppc64el.  From the debian/changelog (sid / unstable):

Code: [Select]
thunderbird (1:76.0~b2-1) experimental; urgency=medium

  * [8386db0] d/control: Remove B-D on libjson-dev and libsqlite3-dev
    The built uses internal copies for libjson and libsqlite as there are
    made modifications to them. For now we can decrease the list of build
    dependencies by removing this two packages.

Going forward, I believe somebody will need to create unit tests for exercising the Mozilla fork of sqlite during builds on ppc64el hosts.  Debian and other distributions automatically run the unit tests on every architecture when creating the packages.

I took the Debian buster packaging branch, forked it at v68.12 and re-enabled the system-sqlite option.  This immediately fixed the problem I was experiencing.  For now I have a usable Thunderbird package on buster.

Some additional references I looked at suggested deleting some or all of the following may help people having problems with things not appearing in the folder pane after upgrading or migrating the profile to a different host/CPU architecture.  I personally deleted the cache but didn't need to delete the others:

Code: [Select]
~/.cache/thunderbird
~/.thunderbird/..../folderTree.json
~/.thunderbird/..../session.json
Debian Developer
https://danielpocock.com

MPC7500

  • Sr. Member
  • ****
  • Posts: 307
  • Karma: +17/-1
    • View Profile
    • Twitter
I dunno the version. I will look later, but on Fedora Thunderbird works.

pocock

  • Full Member
  • ***
  • Posts: 223
  • Karma: +22/-0
    • View Profile

It depends on the version and it also depends on the flags that were set in the spec file or any patches applied during the build

You can check your thunderbird while it is running like this:

Code: [Select]
$ ps -C thunderbird
  PID TTY          TIME CMD
55840 pts/6    09:35:21 thunderbird

$ lsof -p 55840 | grep libsqli
thunderbi 55840 daniel  mem       REG               0,23               54138 /usr/lib/powerpc64le-linux-gnu/libsqlite3.so.0.8.6 (path dev=0,24)


The above output shows me that the running thunderbird process has used /usr/lib/powerpc64le-linux-gnu/libsqlite3.so.0.8.6 from the standard Debian package.  The path will be slightly different on a Fedora system.
Debian Developer
https://danielpocock.com

MPC7500

  • Sr. Member
  • ****
  • Posts: 307
  • Karma: +17/-1
    • View Profile
    • Twitter
I'm at 78.4.0, too. The command gives me also:
Code: [Select]
/usr/lib64/libsqlite3.so.0.8.6

pocock

  • Full Member
  • ***
  • Posts: 223
  • Karma: +22/-0
    • View Profile
That looks like the system-provided version of sqlite

That is what is supposed to work

Debian's packages don't use that by default, that is why they fail to work

Debian Developer
https://danielpocock.com

ClassicHasClass

  • Full Member
  • ***
  • Posts: 196
  • Karma: +12/-0
  • Talospace Earth Orbit
    • View Profile
    • Floodgap
That should bite Firefox too, no?