thunderbird v51 and v52.0 MAPI broken - no longer opening compose window in windows 7 on right-click send to mail recipient - caused by change from VS2013 to VS2015

NEW
Unassigned

Status

Thunderbird
General
--
major
3 months ago
27 days ago

People

(Reporter: john v kumpf, Unassigned)

Tracking

({regression})

52 Branch
regression

Thunderbird Tracking Flags

(thunderbird_esr52? affected, thunderbird52 wontfix, thunderbird55 affected)

Details

(Whiteboard: [regression:TB51])

Attachments

(1 attachment)

(Reporter)

Description

3 months ago
User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:53.0) Gecko/20100101 Firefox/53.0
Build ID: 20170413192749

Steps to reproduce:

(I am not posting this bug on the system that had the error; Will have to get exact versions later)
It is 32bit thunderbird.
Windows 7 right click on image -> send to -> message recipient.
Note that I have checked Windows 7 default programs and Thunderbird is set as the default MAPI program. I even re-set this in Windows 7 and from within Thunderbird tools -> options.
Note 2: this bug appears to be similar/the same : https://bugzilla.mozilla.org/show_bug.cgi?id=1339554




Actual results:

If thunderbird is not running, it starts (but no compose window appears).
If thunderbird is running, nothing visually happens.
In both cases watching process explorer a new process is created:
C:\Windows\system32\DllHost.exe /Processid:{AB8902B4-09CA-4BB6-B78D-A8F59079A8D5}


Expected results:

A compose window should have appeared with the image file as attachment

Comment 1

3 months ago
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\Mozilla Thunderbird - DLLPath has:
C:\Program Files\Mozilla Thunderbird 55\mozMapi32_InUse.dll

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{29F458BE-8866-11D5-A3DD-00B0D0F3BAA7}\LocalServer32 - Default has:
"C:\Program Files\Mozilla Thunderbird 55\thunderbird.exe" /MAPIStartup

since I'm a developer.

I've changed the second key *only* to
"C:\Program Files (x86)\Mozilla Thunderbird 52\thunderbird.exe" /MAPIStartup
which is where I have TB 52 installed and |Sent to > Mail recipient| works for me on Windows 7 and launches a compose window with the file attached in TB 52.

So I can't reproduce this, but I can see from bug 1339554 that others have "mysterious" problems with this feature.
Component: Untriaged → General
A Brian in m.support.thunderbird posted "52.01 upgrade damaged MAPI and SendTo".
OTOH, bug 1339554 reporter no longer sees problem
(Reporter)

Comment 3

3 months ago
Note:
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\Mozilla Thunderbird\Protocols\mailto\shell\open\command
has:
"C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe" -osint -compose "%1"

When I run "C:\ak\Mozilla Thunderbird\thunderbird.exe" -osint -compose

ie with no argument

it properly opens a write new message window.

When I provide a file name as the argument, it opens TWO new write message windows. 1 without the attached image, 1 with the attached image.

So the MAPI request is not getting as far as invoking this registry key value data.

Comment 4

3 months ago
You're mentioning the registry entry for the "mailto" links in web pages. |Sent to > Mail recipient| is configured as per my comment #1. Let's not mix the two.
(Reporter)

Comment 5

3 months ago
So, I should really learn to read. I just glanced at your keys and went searching and found something similar.

As it turns out I don't have CLSID\{29F458BE-8866-11D5-A3DD-00B0D0F3BAA7} at all. It's just not there.

Note: was using Send to -> Mail Recipient minimum once per week for years til last week. v52.0.1 was released 04/14/2017 and installed here 04/15. Unfortunately, can't remember whether it was then or 1-2 days before that it first failed. V52.0 was only released 04/04/2017 so it could have broken with that and I just noticed recently.

I added your CLSID to my registry but didnt change behavior. Still invokes the dllhost but doesnt open thunderbird write window.

Even rebooted, same behavior (nothing happens).

Note that it DOES open the thunderbird MAIN window if thunderbird is not running. So SOMETHING is connected.

Also, note that it would start thunderbird (if not started) even before I added that CLSID key. Is that the right one?

Some other notes:

When I first invoke Send to -> Mail Recipient, I get a popup titled "Attach File" asking to resize with a list of sizes and "Attach" and "Cancel" buttons at the bottom.

If I pick a size, then windows invokes C:\Windows\system32\DllHost.exe /Processid:{AB8902B4-09CA-4BB6-B78D-A8F59079A8D5} which is associated with thumbnails and perhaps attachment resizing.

If instead I pick "Original Size" then the dllhost is NOT invoked. In fact Process Explorer then shows no activity.

Note also, since my problem happened near an install (two, even), and it appears a registry entry went away, this bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1308813 might be relevant, which deals with failures during install registering dll's.

Where is the install.log for the v52.0 and v52.0.1 installs? I'd like to check those. Started searching but ran out of time. Even viewer?

One more note: nothing appears in Thunderbird -> Tools -> Developer Tools -> Error Console when this MAPI error happens.

Comment 6

3 months ago
I think |Sent to > Mail recipient| is a bit of a hit and miss :-(

Something has interfered with your setup since TB doesn't offer a resize option.

CLSID\{29F458BE-8866-11D5-A3DD-00B0D0F3BAA7} is the correct key, I'm 100% sure that we install that:
https://hg.mozilla.org/releases/comm-esr52/file/tip/mail/installer/windows/nsis/shared.nsh

Other than that, I can't help you. It works for me and I have about seven versions installed, however, if I set the mentioned key, the version I chose launches a compose window with the file I chose.
(Reporter)

Comment 7

3 months ago
Bit more information (but no progress):

I turned on MAPI debugging like this:

set NSPR_LOG_MODULES=mapi:5,timestamp,append,sync
set NSPR_LOG_FILE=%USERPROFILE%\Desktop\mapi.log
"%ProgramFiles(x86)%\Mozilla Thunderbird\thunderbird.exe"

And did Send to -> Mail Recipient.

Then exited thunderbird.

Logfile was empty.

Did I do it right?

Comment 8

3 months ago
At some stage those flags become case-sensitive, so that would make it MAPI.

With what you're doing, you're starting TB with MAPI logging. Then you do |Sent to > Mail recipient|. And that doesn't start a compose Window. So why would that cause any MAPI processing in the process already running? I don't know whether it should start a new process or use an already running one.

All I can suggest is to try a different machine with a semi-fresh install of Windows.
(Reporter)

Comment 9

3 months ago
The piece of evidence that it's the already running process was this behavior:

When I click Send to -> Mail Recipient

> If thunderbird is not running, it starts (but no compose window appears).
> If thunderbird is running, nothing visually happens.

So I guess from that that something is detecting that thunderbird is already running and trying to communicate with it.

I've queued up my next two attempts at debugging this:

1. A MS MAPI fix : https://support.microsoft.com/en-us/help/980681/mail-merge-in-microsoft-word-does-not-work-on-a-computer-that-is-running-windows-7-or-windows-server-2008-r2

2. A simple command line MAPI client : https://support.microsoft.com/en-us/help/171096/simple-mapi-console-application
http://download.microsoft.com/download/mapi/utility/21/w9xnt4/en-us/smplmapi.exe

Will report how it goes.
(Reporter)

Comment 10

3 months ago
Well, I believe I have definitively proved it's a bug in Thunderbird.

I uninstalled v52.0.1 and installed old versions.

v52.0: same behavior--didnt work.

v45.8: MAPI worked as it always has. Success.

So something that changed in Thunderbird from v45.8 to v52.0 broke my MAPI.

Further evidence that it's a Thunderbird bug.

Thunderbird is either running or not running when you do Windows 7 Send to -> Mail Recipient.

When it is not running, the MAPI invocation (Send to -> Mail Recipient) invokes Thunderbird to start running.

In this case, ProcessExplorer reports the thunderbird command line as:

> C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe" /MAPIStartup -Embedding

So that suggests that the Windows 7 MAPI is invoking thunderbird in the right way in this case. And probably in call cases.

And yet, no write new message window appears.

FYI Here's my reg entry for the Thunderbird MAPI of my v45.8 installation (note it doesnt have the -Embedding here):

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{29F458BE-8866-11D5-A3DD-00B0D0F3BAA7}\LocalServer32]
@="C:\\Program Files (x86)\\Mozilla Thunderbird\\thunderbird.exe /MAPIStartup"




Report on the other things I tried and didnt work:

1. A MS MAPI fix : https://support.microsoft.com/en-us/help/980681/mail-merge-in-microsoft-word-does-not-work-on-a-computer-that-is-running-windows-7-or-windows-server-2008-r2

RESULT: Said "The update is not applicable to your computer."

2. A simple command line MAPI client : https://support.microsoft.com/en-us/help/171096/simple-mapi-console-application
http://download.microsoft.com/download/mapi/utility/21/w9xnt4/en-us/smplmapi.exe

RESULT: It ran and prompted as expected. However, must log in first with profile. What profile? A MAPI profile. Not sure if it only works with Outlook, and thus only Outlook profiles, or will work with other MAPI programs, eg, Thunderbird. I tired the user name and Thunderbird profile but got error messages "logging in."
(Reporter)

Comment 11

3 months ago
I wonder if this MAPI bug fixed targetd for v53.0 is related: https://bugzilla.mozilla.org/show_bug.cgi?id=1330955
(Reporter)

Comment 12

3 months ago
same problem:
https://groups.google.com/forum/#!topic/mozilla.support.thunderbird/PD5ZyjfXAs4
(Reporter)

Comment 13

3 months ago
Advice in that google groups is to grant full permissions to administrators and to the system for this registry key:

HKEY_CLASSES_ROOT\CLSID\{9E56BE60-C50F-11CF-9A2C-00A0C90A90CE}

Needing to take ownership of the key with an administrative account, first.

When I have time to try this, I will.

This looks like an installation issue, then.
A user just reported a similiar problem with an unoffcial SeaMonkey 2.50 x64 version. I tested locally on Windoes 7 and 10 with 2.49 (52) and 2.52a1 (55a1). It just wouldn't work and would even just close SeaMonkey without a crash report. Uninstalled the x64 and installed the x86 and it worked. Tried with TB 55a1 x64 and same close/crash. I didn't try a TB x86 yet.

I would probably check first if both the x86 and x64 versions are installed.
(Reporter)

Updated

3 months ago
Summary: thunderbird 52.0.1 MAPI broken - no longer opening compose window in windows 7 on right-click send to mail recipient → thunderbird 52.0 MAPI broken - no longer opening compose window in windows 7 on right-click send to mail recipient
(Reporter)

Comment 15

3 months ago
In my case it is definitely x86. And started with v52.0 release (altho noticed after v52.0.1 was installed). I tried various versions as I described above.
(Reporter)

Comment 16

3 months ago
Another factoid:

In my v45.8 installation x86 (where MAPI works) the registry key reported in the support group

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9E56BE60-C50F-11CF-9A2C-00A0C90A90CE}

(fyi HKEY_CLASSES_ROOT is just an alias)

has the broken configuration of permissions. And yet it works.

To reiterate, the workaround reported in the groups was to allow full permissions for administrators and system accounts, yet these permissions are NOT set in my x86 v45.8 installation and yet MAPI still works.

If this holds, it means that something changed with accounts/permissions in thunderbird between v45.8 and v52.0, because now it needs administrator and/or system to have full permissions for this key to make Windows 7 MAPI work, and before it did not.
(Reporter)

Comment 17

3 months ago
Zeroing in:
Today I installed v51.0b2 (32-bit) and MAPI does not work.
It still works with v45.8, though.

Comment 18

3 months ago
(In reply to john v kumpf from comment #17)
> Zeroing in:
> Today I installed v51.0b2 (32-bit) and MAPI does not work.
> It still works with v45.8, though.

I have the same problem as john v kumpf.
It started when I installed ver.51, so I've back to v.45.8 - it works perfectly.


Is any solution for this bug ?
(Reporter)

Updated

3 months ago
Summary: thunderbird 52.0 MAPI broken - no longer opening compose window in windows 7 on right-click send to mail recipient → thunderbird v51 and v52.0 MAPI broken - no longer opening compose window in windows 7 on right-click send to mail recipient
See Also: → bug 1308813

Updated

2 months ago
Duplicate of this bug: 1367473

Comment 20

2 months ago
Hi, 

I have the same problem and my bug report can be found under "duplicate of this bug".
Pls do not read it, there is nothing there, but the same experience.

But VOTE!!
Please VOTE vor this bug, otherwise they will not work on it.

(scroll to the top of this site, open "details" and find the choice there to vote)


Cheryll

Comment 21

2 months ago
Created attachment 8872026 [details]
mapi.reg - Registry file

(In reply to VistaMail1@web.de from comment #20)
> Please VOTE vor this bug, otherwise they will not work on it.
Th problem is not wanting to work on it, the problem is not being able to reproduce the problem.

With the attached registry settings, everything works fine for me.

Comment 22

2 months ago
WORKAROUND:

I found this by good luck.

- rightclick on file
- do not use "send to.." but "open with.." and choose Thunderbird.
Then it opens the way we want it to.

Disadvantage: The option to convert images to smaller sizes is not available.


Cheryll

Updated

2 months ago
See Also: → bug 1368793

Comment 23

2 months ago
Created attachment 8872026 [details]
mapi.reg - Registry file

(In reply to VistaMail1@web.de from comment #20)
> Please VOTE vor this bug, otherwise they will not work on it.
Th problem is not wanting to work on it, the problem is not being able to reproduce the problem.

With the attached registry settings, everything works fine for me.




Hi Jorg,

thank you for the file.
I made a reg-file of it, I checked the paths to Thunderbird carefully.
I added it to my registry, restarted the softer,....
It does nothing.
The thing, which worked in the old version of Thunderbird fine, ceases to do it with 52 for me. It is just the same as reported by somebody else above. The version made the change

Cheryll

Comment 24

2 months ago
Can fully confirm this bug.
Windows 7 32bit. Upgraded to Thunderbird 52, MAPI ceased to work, reverted back to 45.8, works again.
Regfile doesn't help, verified that both entries from .reg file are in my registry.
Access permissions of registry keys were also correct.

Comment 25

2 months ago
Hello one of my user just reported the issue to me, the installed version of thunderbird is 52.1.1. On windows 7 right-click send to mail recipient does not open the compose window. We checked all the registry key that we know and all seemed fine.

Well rolled back to the version 45.8 and it started working again.

Comment 26

2 months ago
Wayne, do you think you can get someone to bisect this?
Flags: needinfo?(vseerror)
Phil, any chance you could bisect to find the regression range?
Flags: needinfo?(vseerror) → needinfo?(philbaseless-firefox)
And actually, anyone who commented here in the bug that can reproduce the issue can use http://mozilla.github.io/mozregression/quickstart.html to find the range

Comment 29

2 months ago
Can't do. Been on mac for a few years now. I still have my win developing box sitting idly with XP but it has motherboard problem. Bad USB.
Flags: needinfo?(philbaseless-firefox)
(Reporter)

Comment 30

2 months ago
http://mozilla.github.io/mozregression/quickstart.html sounds awesome. I will try if I get the time, but I have not been finding that time lately. Will the quickstart stop and let me do a Send to -> Mail Recipient between each install? I hope so.

That documentation page says "new, clean profile" does that mean it will preserve my own old profile which will then be there when I re-install 45.8?

Also, one of the theories is that this is a bug in the installer. Does this regression use the same installer a user would use?

@Jorg k : If it is indeed an installer bug, this might be why you don't see it. If you were to run a v51 or v52 installer overtop your existing installation, you might then see the bug.

Comment 31

2 months ago
(In reply to john v kumpf from comment #30)
> http://mozilla.github.io/mozregression/quickstart.html sounds awesome. I
> will try if I get the time, but I have not been finding that time lately.
> Will the quickstart stop and let me do a Send to -> Mail Recipient between
> each install? I hope so.
I believe the idea is that once a version is installed, you try the action you want to test manually and tell the system whether is succeeded or failed. Based on this, the system will then choose the next version to try.

> That documentation page says "new, clean profile" does that mean it will
> preserve my own old profile which will then be there when I re-install 45.8?
You can start TB now with the profile manager: thunderbird -p. That lets you create a new profile and make it the default during testing, the existing profile won't be touched.

> Also, one of the theories is that this is a bug in the installer. Does this
> regression use the same installer a user would use?
Good question, try and see. I believe so.

Comment 32

2 months ago
I'm seeing this issue on a customers PC also. The user is non-administrative if that helps. Outlook 2015? is also installed on the machine, but MAPI is all set to Thunderbird. I've downgraded to 45.8 and set Thunderbird not to auto-update.

Comment 33

2 months ago
I don't think we need any more report of "not working for me either". It's actually quite irritating that people write about problems that their (supposedly paying) customers have, while they demand of a purely volunteer-based TB team to fix the problem for them so they can charge the customer for "fixing" it. Sadly this is not going to happen in this case.

If no one steps up to isolate the problem, for example by bisecting it, there won't be a fix. The only active Windows developer on the team can't reproduce the problem (and he has about eight versions of TB installed, so something always starts when using "Send to > Mail recipient").

Comment 34

2 months ago
Hi Jorg,

sure, I am willing to help reproducing. But I am not sure, what I can do.
I tried the reg-entries you told me to. Took me quite a while as well.

Let me say, "THANK YOU", for developing this great programm here. It is better than any of this commercial stuff. I had "all" those common things of Microsoft and they could not compare. Thunderbird is not only free, it is much better. And they/you CARE. If there would be a bug in Microsoft, it would not even be accepted anywhere. They would tell me, "we do not care about OEM".
So: THANK YOU, that you are here!


I am programmer by myself, unfortunately in Delphi. 
So I only can give general ideas.

I found a thrilling thing, I wrote above.
Please compare 2 codes, which are started from the content menue:
"open with" and "send to":
While open with STARTS the composing window(? not sure about the term) in Thunderbird as before, "send to" does, what you do not want to hear from one person more.

It those 2 code snippets are exactly the same, the problem shall be BETWEEN the dialog which is offered by window to resize the images and the start of thunderbird.

Let me try a text file, to kick this image-dialog as problem source as well. 


I do these steps:

- I create a file trash.txt at my desktop

1)
- rightclick trash.txt
- chose "open with"
=> thunderbird activates, the mail is prepared, the trash.txt appears in the attach window box nicely
(everything ready for take-off as it should)


2)
- right click trash.txt
- chose "send to"
- chose E-Mail recipient
=> nothing happens


3)
- shut down Thunderbird
- right click trash.txt
- chose "send to"
- chose E-Mail recipient
- Thunderbird starts, but the trash.txt is not prepared in the box and the new mail window is not opened within(!) Thunderbird


Cheryll

Comment 35

2 months ago
Don't know if this helps, but I had the problem on a Windows 7 32bit machine with Thunderbird automatic updates enabled, so there were quite a few updates in between.
I then set up a virtual Window 7 machine, installed Thunderbird 48 (which works) and then upgraded to newest version and the problem didn't appear.
I also tried uninstalling and reinstalling newest thunderbird from scratch and the problem also didn't appear. 
Not sure what to conclude from this, but it appears that it is only happening on some machines. But we already know that as devs couldn't reproduce it either.. :(

Comment 36

2 months ago
to add:
Here: Win 7 64 bit machine, direct installed (no VM). 
Thunderbird is installed since long. 
Automatic updates DISABLED. I update manually from time to time by the option in the help menu. 
I updated (about) from version 48 to 52. And since 52 every single new version, because I hoped, this would help in our case.

IHO: They missed an instance which connects to the system. 
E.g. before there was written 'GetLinkFromAnywhere.AnyParameter.AnyAttachName'
after the upated there was something like 'AnyParameter.AnyAttachName'. I some cases 'GetLinkFromAnywhere' is set as default by the machine and everything runs fine. In other cases it is not default and not defined. Such bugs are UGLY and so hard to find. Under the line they have worked very fine, because the application does nothing. In bad programmer hands it would crash.

The bad news is, that such parameters are given often hidden between methods and not that abvious as in my example.
So the task is everything else but easy. Much harder, because they cannot see it on their own machines.

Or it is a pointer pointing at the wrong level of a right object.

Comment 37

2 months ago
I know you don't want any me-toos, but I don't want to not give our experience. We are on Server 2008 as a Terminal Server. The downloader doesn't allow to install the latest version. It will download 38.5, which will update to 45.8 and either of those versions will work fine with mapi, but if you allow an update to 52.1.1, MAPI gives the error=2 when sending from our third party application. Libreoffice give a messages saying it cannot find a working mapi configuration. I'm mostly just submitting this to explain that even if the issue might be fixed for windows 7, we still have a problem with server 2008. If you would like more info, let me know. Otherwise I'll just shut up.

Updated

2 months ago
Duplicate of this bug: 1370230

Comment 39

2 months ago
Well, that "me too" has an interesting twist: You're reporting that external applications can no longer send via MAPI. Well, that is in contrast of two bugs where people *can* sand via MAPI, but don't like the changes be did in TB 52:
Bug 1367141 and bug 1366196. BTW: The first issue was fixed with an add-on, the second issue will be fixed in TB 52.2.

Comment 40

2 months ago
note: I came here by having another bug closed as duplicate (I agree): https://bugzilla.mozilla.org/show_bug.cgi?id=1370230

>I don't think we need any more report of "not working for me either". 

I can understand, but since not all people using TB reports here (bug reporting is a difficult task, in particular for foreign users), the growing number of "me too" reporters could also mean the (supposed) bug it is spreading among users updating... despite the fact that you can't reproduce it locally. 

> It's actually quite irritating that people write about problems that their (supposedly paying) customers have, 
> while they demand of a purely volunteer-based TB team to fix the problem for them so they can charge the customer for 
>"fixing" it. Sadly this is not going to happen in this case.

my "customers" aren't paying, they're my colleagues on the LAN. 

This is a bug tracker, and it _is_ the place to ask support people and developers to sort out and possibly fix a bug that occurred during _their_ product update. If the volunteer-based TB team can't reproduce, or can't fix, due to low support by mozilla or donations, it could be understandable but there's no other place to report things like this. You could also deny this is a bug, and is is not TB related either, but you should also understand that user can choose different solutions, in that case.

And, sorry, but if tb support/devs found and fixed this supposed bug, those "people" could only say to their customer something like "it was a small bug, please upgrade thunderbird"... how could they "charge" customers for that...? And, how this kind of rant help the topic?

>If no one steps up to isolate the problem, for example by bisecting it, there won't be a fix. 

I for one can't understand what you mean by "bisecting it": are there suggested procedures that you would approve? I guess anyone here is availabel to try whatever you suggest on their machines.

>The only active Windows developer on the team can't reproduce the problem 
>(and he has about eight versions of TB installed, so something always starts when using "Send to > Mail recipient").

"something always starts" is true, as many have said in comments: but for many users what is not starting is a new message composition window with the "sent" file(s) attached. Ie: theexpected (and previous) behaviour. Why this happens as soone as we upgrade from 45.8, we don't know...

If reverting to 45.8 "fixes" it, it is really hard that it could be something else than the 52.x upgrade process, imho. If we could see an update log, it could be much better documented by us, and easy to spot what is happening on many installations different than waht "The only active Windows developer" has... can we have upgrade log details, how?

Anyway, in the above closed as duplicate link I stated that I found a "workaround", ie setting a "wrong" value into 
HKCU\Software\Clients\Mail (default) which is normally "Mozilla Thunderbird", (eg) the string  "Whatever"

In this way "sendto" instantly works as before, on our pcs, and survives a reboot: I don't know why, and I don't understand how could I "bisect" but this could also help some user that has the (supposed) bug.

Thanks a lot for doing your hard job, and as you could gess, we├Čre proud of TB being the best mail client around, but please don't blame on users if an upgrade went (supposedly) wrong... and they report it.
Hmm I wonder if switching to VS2015 had some side effects. 

Could you probably download and install the Microsoft Visual C++ Redistributable for Visual Studio 2017. Available here under Other Tools and Frameworks:

https://www.visualstudio.com/downloads/

Install both to be on the safe side. The VS2017 runtime is compatible with VS2015 and will replace an installed VS2015 runtime. If it doesn't help you can deinstall it again if no other program needs it or keep it.

Comment 42

2 months ago
(In reply to Frank-Rainer Grahl (:frg) from comment #41)
> Could you probably download and install the Microsoft Visual C++
> Redistributable for Visual Studio 2017. Available here under Other Tools and
> Frameworks:
FRG, you're talking to? Aren't the necessary runtime libraries packaged with TB? I see msvcp140.dll in my TB directory. So how would installing the equivalent from VS 2017 help?

(In reply to Marco Ardito from comment #40)
Bisecting means this: You start with a Daily version of TB which exposes the problem and one which doesn't, like one from six months to a year ago. Then you bisect that time interval in half to narrow down when the fault was introduced.

This can be semi-automated: http://mozilla.github.io/mozregression/quickstart.html

The premise/pre-condition is, of course, that you can reproduce the problem in the first place. The problem we're looking for has to do with the integration of Thunderbird and Windows, I'm not sure you'll find it this way. Bisecting works well for clearly defined problems.
>> FRG, you're talking to? Aren't the necessary runtime libraries packaged with TB? I see msvcp140.dll in my TB directory. 

Yes just a wild goose chase. The libraries now also need the ucrt which is also packed or TB wouldn't start. But maybe a problem develops when you run the handler. 

>> So how would installing the equivalent from VS 2017 help?

Probably not much. I just tried with SeaMonkey and I am unable to reproduce it as expected. I uninstalled the runtime but this VM did have the ucrt from a previous install. So while it may not help it would at least rule out one possible error.

Comment 44

2 months ago
One one affected machine, it was indeed enough to install Microsoft Visual Studio 2015 Redistributable, but this machine didn't just fail like my first one but instead displayed the proper error message when trying to send a mail via sendto:

"ucrtbase.terminate not found in api-ms-win-crt-runtime-l1-1-0.dll"

So in some cases installing VC2015 Redistributable may help.

Comment 45

2 months ago
(In reply to Jorg K (GMT+2) from comment #42)
> This can be semi-automated:
> http://mozilla.github.io/mozregression/quickstart.html

I tried installing mozregression, through pip, I guess it succeeded, but I can't understand how to use it, examples on that page don't work on my pc. Don't know where I can get help on this. Can't bisect, sorry.

Comment 46

2 months ago
Now tried installing VC2015 Runtime on a machine which just gave an error (without hint to missing library dependencies), and it worked too. So lacking VC2015 runtime (and thus missing ucrt) seems to be the problem.
This solved it for me, thanks.
Interesting. The ucrt is distributed with Windows 8 and higher. Anyone has a problem with these versions or just Windows 7 and lower as indicated by the bug title?

The VS2015 and VS2017 runtimes can be installed even on Windows XP so if this indeed a temporary fix it should be good for all systems.

Comment 48

2 months ago
I have the VS2015 runtime installed, so no wonder it works for me ;-)

"ucrtbase.terminate not found in api-ms-win-crt-runtime-l1-1-0.dll" is widely discussed, for example here:
https://appuals.com/how-to-fix-the-procedure-entry-point-ucrtbase-terminate-is-missing-or-could-not-be-located/
https://answers.microsoft.com/en-us/windows/forum/windows_7-performance/the-procedure-entry-point-ucrtbaseterminate-could/e45c2162-bb43-4082-a3dd-d715c7ea1f46

The first article suggests to install the VS2015 runtime ;-)

The question remains, what changed in TB so that this is now required.
(In reply to Jorg K (GMT+2) from comment #48)
> 
> The question remains, what changed in TB so that this is now required.

Wasn't TB45 built with VS2013?

Comment 50

2 months ago
(In reply to Richard Marti (:Paenglab) from comment #49)
> Wasn't TB45 built with VS2013?
Absolutely, the two DLLs shipped with TB 45 are msvcp120.dll and msvcr120.dll and they are from VS 2013.

So let's call off the bisection. We will find that the day we changed from VS2013 to VS2015 on Daily compiles we will have that problem. So nothing much we can do about it. Or maybe package an additional DLL? Hmm.

Comment 51

2 months ago
Anyone tried the mozMapi32_InUse.dll from TB 45 with newest TB? Maybe it works?
Why did you change to VS2015? Does it have a better code optimizer?

Comment 52

2 months ago
This may be a wrong path where you a looking for.

I have the problem and Win 7 64 bit and blocked ANY update and this for many, many months. I even blocked the microsoft-servers in my router since long. I do not allow any tool to update. No dll and no graphic-card and not Intel and no add-on. 

In other words: The only thing changed at my computer is the version of Thunderbird. With it the problem appears.

Perhaps comment 34 helps along.


Cheryll

Comment 53

2 months ago
You're missing the point. The DLL that appears to be "defective" is shipped as part of the TB installation. In TB 45 we shipped a DLL from VS 2013, now we're shipping one from VS 2015. That's got nothing to do with updates (or not) on your machine.

Comment 54

2 months ago
I can confirm my Server 2008 MAPI issue when calling from other apps was also fixed when I installed the universal runtime from https://support.microsoft.com/en-us/help/2999226/update-for-universal-c-runtime-in-windows
https://docs.microsoft.com/en-us/cpp/build/search-path-used-by-windows-to-locate-a-dll

If 1 or 2 do not point to the TB directory I can imagine that it might cause some sort of problem. SeaMonkey should have the same problem. Not sure if the accessiblity handlers in Firefox might also be affected.

Mike, could you take a look at the issue here. You know probably more about the stuff than all of us together.
Flags: needinfo?(mh+mozilla)
If the TB directory was not in there, you'd have other problems than with the mapi library only.

Can someone summarize what's going wrong, how it's going wrong and what workarounds work and don't work, because I'm kind of lost in the 55 comments.
Flags: needinfo?(mh+mozilla)

Comment 57

2 months ago
Hi Mike, here a summary.

It is observed behaviour that when installing TB 45 (built with VS 2013) the "Sent to > Mail recipient" function works on Windows.

When using TB 52 (compiled with VS 2015) it does not work for most users. It works for me, since as a developer I have the VS 2015 runtime installed and users report that installing that runtime in fact fixes the problem.

One user (comment #44) mentioned this error
"ucrtbase.terminate not found in api-ms-win-crt-runtime-l1-1-0.dll"
which was a first hint that something's wrong with the VS runtime.

So the question to me is: Can we package more of that runtime to solve the problem.
Flags: needinfo?(mh+mozilla)
You have the same amount of runtime in TB there is in Firefox, and funnily enought, api-ms-win-crt-runtime-l1-1-0.dll as shipped in TB *does* contain a ucrtbase.terminate symbol. It would probably be good to get a trace with e.g. procmon and see where it's trying to get the ucrt runtime from on machines where it fails.
Flags: needinfo?(mh+mozilla)

Comment 59

2 months ago
C:\vs2015\VC\bin\dumpbin.exe /exports api-ms-win-crt-runtime-l1-1-0.dll
gives, amongst other things:
107   6A          terminate (forwarded to ucrtbase.terminate)
And
C:\vs2015\VC\bin\dumpbin.exe /exports ucrtbase.dll | grep terminate
gives:
        137   88 0004A970 __std_terminate
        368  16F 000888B0 _get_terminate
        978  3D1 00073930 _o__get_terminate
       1740  6CB 00079950 _o_set_terminate
       1768  6E7 00079C30 _o_terminate
       2432  97F 00088990 set_terminate
       2479  9AE 00088A80 terminate
So yes, "terminate" is there.

This seems to be a common issue (see comment #48):
https://appuals.com/how-to-fix-the-procedure-entry-point-ucrtbase-terminate-is-missing-or-could-not-be-located/
https://answers.microsoft.com/en-us/windows/forum/windows_7-performance/the-procedure-entry-point-ucrtbaseterminate-could/e45c2162-bb43-4082-a3dd-d715c7ea1f46

So perhaps any of the tech savvy people could drive the Sysinternals tools, like Process Monitor, at this.

Comment 60

a month ago
It has become very quiet here. Has everyone used the workaround to install VS 2015 runtime?

Could one of the affected people debug the problem with Sysinternal tools as suggested in comment #58 and comment #59.

Comment 61

a month ago
I have the problem still and I am clueless.
Comment 44 gives a link to update the VS 2015. Going there does not provide a link to the VS 2015, but offers the installing of 4 software packages. I am not willing to mess my computer by huge software installings for clicking a link to send images.
So if there is a direct link for this VS 2015 and I can download and copy it, I will be happy to take it.
The debugging suggestions are too complex to me. I read them several times and hardly understand anything.

Can you provide this VS 2015 here?

I tried to get back the old version of Thunderbird. Although I browsed the mozilla site several times, - I could not find it.
Can you provide a link to it here?


Cheryll

Comment 62

a month ago
Links, see Release notes:
https://www.mozilla.org/en-US/thunderbird/52.2.1/releasenotes/
Since you're not running Windows server, you need the first link:
https://www.microsoft.com/en-us/download/details.aspx?id=53587

Previous TB versions:
http://ftp.mozilla.org/pub/thunderbird/releases/
http://ftp.mozilla.org/pub/thunderbird/releases/45.8.0/

Comment 63

a month ago
thank you so much! 

I downloaded both the files (VB 2015 and TB 45).

This VB 2015 seems to be a C library. May there be any other programs affected, if I install it?

There is a very special thing at my PC: My Win 7 64 bit installation is locked. This means, I cannot change anything in my system. I can install or uninstall any other software, but nothing of the operating system and MS.

In other words: If I can save and rename and overwrite a file for testing purposes, I am happy to do this.



Cheryll

Comment 64

a month ago
Installing the VS 2015 runtime library shouldn't have any negative effects. But since we can't inspect your system, there is no guarantee ;-)

Comment 65

a month ago
must I "install" it? or is there a manual way with copy and paste?
Install it
Severity: normal → major
Status: UNCONFIRMED → NEW
status-thunderbird52: --- → wontfix
status-thunderbird55: --- → affected
status-thunderbird_esr52: --- → affected
tracking-thunderbird_esr52: --- → ?
Ever confirmed: true
Keywords: regression
Summary: thunderbird v51 and v52.0 MAPI broken - no longer opening compose window in windows 7 on right-click send to mail recipient → thunderbird v51 and v52.0 MAPI broken - no longer opening compose window in windows 7 on right-click send to mail recipient - caused by change from VS2013 to VS2015
Whiteboard: [regression:TB51]
The final download links will show 2 files. You need vc_redist.x86.exe 13.8 MB for the 32 Bit version of Thunderbird.
Another temporay fix might be to add Thunderbird to the Windows path. For the x86 version this should be "C:\Program Files (x86)\thunderbird"
Quite a few support requests - each of these cites =>4 users affected
https://support.mozilla.org/en-US/questions/1162426
https://support.mozilla.org/en-US/questions/1161405
https://support.mozilla.org/en-US/questions/1161892
https://support.mozilla.org/en-US/questions/1157553
Plus more https://support.mozilla.org/en-US/search/advanced?q=mapi&is_locked=-1&is_archived=-1&num_voted=0&num_votes=4&asked_by=&answered_by=&q_tags=&product=thunderbird&created=2&created_date=02%2F02%2F2017&updated=0&updated_date=&sortby=0&a=1&w=2

Comment 70

28 days ago
Hi Jorg,

I downloaded the 45.8 version and installed it into the same directory as the 52, which should have been overwritten. Everything seems to work fine. The function with attach-files etc. works again.

Case there is anything you would like me to compare: I back-up-ed the \Thunderbird 52.x directory by copy and paste. Let me know, if I shall do anything with it before I delete it.


Cheryll

Updated

27 days ago
Duplicate of this bug: 1377592
You need to log in before you can comment on or make changes to this bug.