Bug 355298 - Outlook 2013 hangs after Kleopatra 2.2.0 asks for passphrase when performing signing, encryption, verification, etc.
Summary: Outlook 2013 hangs after Kleopatra 2.2.0 asks for passphrase when performing ...
Status: RESOLVED WAITINGFORINFO
Alias: None
Product: kleopatra
Classification: Applications
Component: general (show other bugs)
Version: git master
Platform: Microsoft Windows Microsoft Windows
: HI normal
Target Milestone: ---
Assignee: Andre Heinecke
URL: https://dev.gnupg.org/T3303
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2015-11-13 17:24 UTC by J. Guzman
Modified: 2018-09-28 03:13 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description J. Guzman 2015-11-13 17:24:27 UTC
Installed Kleopatra as part of GPG4Win (vice Gnu Privacy Assistant - GPA). Kleopatra component allowed me to perform signing and encryption for some time, but has stopped working in the past few months. When attempting to sign, encrypt, or verify messages, I am prompted for a passphrase which I enter and upon submission of the passphrase Outlook 2013 message composition screen hangs immediately (Not Responding in title bar). I initially thought the issue was with GpgOL, but found if I terminate Kleopatra using the task manager, I get control of Outlook again, but have to log out and back in to reproduce (or terminate other running processes associated with Gpg4win). I upgraded to latest release of GPG4Win 2.2.6 and found that the issue persisted with Kleopatra 2.2.0.  I am able to work around this by removing and reinstalling Gpg4win and using GPA but wanted to take the time to report this to see if others are affected. I have captured some logs for Kleopatra and other components in case the problem lies with another application component.

Reproducible: Always

Steps to Reproduce:
1. Create a new message in Outlook 2013. 
2. Click the GpgOL tab in the ribbon bar.
3. Attempt to sign or encrypt a message.
4. Enter and submit passphrase.


Actual Results:  
Outlook message editor screen hangs (Outlook message displays Not Responding in Title Bar).

Expected Results:  
Message should be signed or encrypted and display public key in message body.

chan_000005FC -> OK GPG UI server (Kleopatra/2.2.0-git49bbf03 (2015-08-20)) ready to serve
chan_000005FC <- GETINFO pid
chan_000005FC -> D 5024
chan_000005FC -> OK
chan_000005FC <- OPTION window-id=1
chan_000005FC -> OK
chan_000005FC <- RESET
chan_000005FC -> OK
chan_000005FC <- [error: Resource temporarily unavailable]
chan_000005FC <- SESSION 1 GpgOL
chan_000005FC -> OK
chan_000005FC <- SENDER -- <sender e-mail omitted>
chan_000005FC -> # ok, parsed as "<sender e-mail omitted>"
count_signing_certificates(  OpenPGP, <sender e-mail omitted> ) ==  1
count_signing_certificates(      CMS, <sender e-mail omitted> ) ==  0
chan_000005FC -> S PROTOCOL OpenPGP
chan_000005FC -> OK
chan_000005FC <- INPUT FD=1472
KDPipeIODevice::doOpen (0x45eb4e8): created reader (0x45f2290) for fd -1
chan_000005FC -> OK
chan_000005FC <- OUTPUT FD=1416
KDPipeIODevice::doOpen (0x45eb178): created writer (0x45f4af0) for fd -1
chan_000005FC -> OK
chan_000005FC <- SIGN --protocol=OpenPGP
0x45d9270: KDPipeIODevice::readData: data=0x45d0ac0, maxSize=512
KDPipeIODevice::Private::startReaderThread(): locking reader (CONSUMER THREAD)
KDPipeIODevice::Private::startReaderThread(): locked reader (CONSUMER THREAD)
KDPipeIODevice::Private::startReaderThread(): waiting for hasStarted (CONSUMER THREAD)
0x45f2290: Reader::run: started
0x45f2290: Reader::run: rptr=0, wptr=0 -> numBytes=4096
0x45f2290: Reader::run: trying to read 4096 bytes from fd -1
KDPipeIODevice::Private::startReaderThread(): returned from hasStarted (CONSUMER THREAD)
0x45d9270: KDPipeIODevice::readData: try to lock reader (CONSUMER THREAD)
0x45d9270: KDPipeIODevice::readData: locked reader (CONSUMER THREAD)
0x45d9270: KDPipeIODevice::readData: waiting for bufferNotEmptyCondition (CONSUMER THREAD)
Comment 1 J. Guzman 2015-11-13 17:35:53 UTC
I forgot to add that using Kleopatra to work with filesystem objects, certificates, etc. works with no issue. The issue only appears when working within Outlook 2013. I just noticed the following as part of the GpgOL log. Notice pipe being closed. Could a problem in GpgOL make it appear that Kleopatra was at fault (restarting Kleopatra gave me control of Outlook message window)?  

6531/1772/oomhelp.cpp:get_pa_string: Lookup result: <e-mail omitted>;
46656/1772/engine-assuan.c:op_assuan_sign: suggested protocol is 1000
46656/1772/engine-assuan.c:op_assuan_sign: using protocol OpenPGP
06703/4120/ERROR/engine-assuan.c:worker_start_write: [ input:00003180] write error: The pipe is being closed. (232)
06703/4120/ERROR/engine-assuan.c:async_worker_thread: [status:000030E8] GetOverlappedResult failed: The specified network name is no longer available. (64)
06703/1772/engine.c:engine_wait: filter 1D270048 ready: Input/output error
06703/1772/ribbon-callbacks.cpp:do_composer_action: failed rc=553680945 (Input/output error) <User defined source 2>
06703/1772/engine.c:engine_cancel: filter 1D270048: canceled
06703/1772/ribbon-callbacks.cpp:do_composer_action: leave
Comment 2 Andre Heinecke 2015-11-13 18:15:50 UTC
thanks for your report. Although I can't reproduce this It is very interesting that this is reproducable for you.
The original issue that Outlook hangs while kleo / gpgol is working is tracked here: https://bugs.gnupg.org/gnupg/issue2136 I intend to fix this in the next months but still the current code should not block indefinitely.

chan_000005FC <- INPUT FD=1472
KDPipeIODevice::doOpen (0x45eb4e8): created reader (0x45f2290) for fd -1

This looks extremely fishy. fd -1 is an invalid handle. It should open it for fd 1472

I'll have to look at the code a bit to figure out the circumstances under which this could happen.
Comment 3 J. Guzman 2015-11-13 19:13:48 UTC
You're most welcome, Andre. Thank you for your quick reply, and for taking the time to review my submission. If you need more information please let me know.
Comment 4 Daniel 2017-07-25 19:40:46 UTC
I know this is an old bug but I have additional information as to the cause of it.  I was hitting this same issue against Outlook 2016 on my work computer but not on a personal computer running the same version.  

The root of this issue is the DCOM application Shell Windows is disabled via policies.  In my case corporate policies pushed down and not something I can override.  Thus when it invoking happens a -1 is returned.
Comment 5 Andre Heinecke 2017-07-26 06:15:43 UTC
(In reply to Daniel from comment #4)
> I know this is an old bug but I have additional information as to the cause
> of it.  I was hitting this same issue against Outlook 2016 on my work
> computer but not on a personal computer running the same version.  
> 
> The root of this issue is the DCOM application Shell Windows is disabled via
> policies.  In my case corporate policies pushed down and not something I can
> override.  Thus when it invoking happens a -1 is returned.

Good to know. Can you explain to me how I could reproduce that or give me an exact name of the policy, that would save me the time researching that.

This way I could try to reproduce it and debug it further.
Comment 6 Daniel 2017-07-26 14:50:09 UTC
I'm not entirely sure how my company is pushing the policy that is setting the permissions but to see the offending settings it is:

1) Component Services
2) Double-click Computers
3) Double-click My Computer
4) Double-click DCOM Config
5) Right-click on ShellWindows and select Properties
6) Click on the Security Tab

There you will see the various permission states that are possible.  For me it's all grayed out.  Apparently this can be normal and there are ways to fix that but the settings just keep getting pushed down on me.
Comment 7 J. Guzman 2017-07-27 02:25:06 UTC
I did not have the GPOs listed in the referenced TechNet article defined, but that's a great find regarding DCOM! There may be a default state when "Not Defined" but I didn't dig too deep into this. I won't get time until later this week. 

DCOM GPOs: https://technet.microsoft.com/en-us/library/bb457148.aspx

I've since upgraded to Outlook 2016 and still workaround using Thunderbird or Outlook with  GPG4Win, and GPA when needed.

Let me know if you need anything else.
Comment 8 Andre Heinecke 2017-07-27 06:46:51 UTC
Thanks a lot!

I'll look into it next week. This week I don't have time for bugs.

I've opened a ticket for this in the gnupg tracker which we use for gpg4win and added at least trying to reproduce this as a blocker for gpg4win 3.0:
https://dev.gnupg.org/T3303
Comment 9 Andre Heinecke 2017-07-31 08:27:51 UTC
I still can't reproduce.

The settings are also greyed out for me even though it's a personal workstation installation where I am admin. I think they only relate to remote DCOM which we don't use.

So I tried to disable connection oriented TCP/IP globally in "My Computer -> Properties" and it still worked. Even with no DCOM-Protocols are enabled.

What is the setting that is different for you? Do you know what I need to block to have something similar?
Comment 10 Christoph Feck 2017-08-14 19:54:06 UTC
If you can provide the information requested in comment #9, please add it.
Comment 11 Christoph Feck 2017-09-06 18:54:59 UTC
To further investigate this issue, KDE developers need the information requested in comment #9. If you can provide it, or need help with finding that information, please add a comment.
Comment 12 Andrew Crouthamel 2018-09-28 02:37:27 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 13 J. Guzman 2018-09-28 03:13:00 UTC
Office 2013 no longer supported. If this doesn’t occur in recent and supported installation, I’d suggest closure. For more info see:

https://support.microsoft.com/en-us/lifecycle/search/?p1=16674