MSYS2-packages icon indicating copy to clipboard operation
MSYS2-packages copied to clipboard

GPGME error: Invalid crypto engine

Open elieux opened this issue 8 years ago • 31 comments

This is a super-issue for GPGME error: Invalid crypto engine and related errors.

elieux avatar Nov 24 '15 08:11 elieux

Causes and solutions

  • This error can happen if there are conflicting gnupg installations in PATH. Try running pacman in a special shell like set PATH=, msys2_shell.bat.
  • MacType can cause this. Put gpg.exe and pacman.exe lines under the [UnloadDll] section of your .ini file under C:\Program Files (x86)\MacType\ini or C:\Program Files\MacType\ini.
  • Check BLODA.
  • It can happen when the upgrade process reported failures (fork errors). Use update-core for system upgrades and take care to follow the instructions.
  • Try re-installing ~~gpgme~~ libgpgme, gnupg and pacman packages (you can temporarily disable signature checking in /etc/pacman.conf).
  • Try removing /etc/pacman.d/gnupg, then pacman-key --init, pacman-key --populate msys2, pacman-key --refresh-keys.
  • Maybe autorebase.bat is sometimes needed even for 64-bit MSYS2.
  • Try debugging for GPGME by export GPGME_DEBUG=9 before running pacman ...something... 2> ~/gpgmelog and looking at the logfile ~/gpgmelog.

References

  • https://github.com/Alexpux/MSYS2-packages/issues/375#issuecomment-153728661
  • https://sourceforge.net/p/msys2/discussion/general/thread/fb897e6e/
  • https://sourceforge.net/p/msys2/tickets/200/
  • https://sourceforge.net/p/msys2/tickets/96/
  • https://sourceforge.net/p/msys2/tickets/85/
  • https://sourceforge.net/p/msys2/tickets/87/
  • https://github.com/git-for-windows/git/issues/537

elieux avatar Nov 24 '15 08:11 elieux

I removed my local Git installation since it has own gpg.exe. I killed my MacType process. I reinstalled gnupg and pacman packages (I don't know how to reinstall gpgme since pacman -S gpgme won't work) with temporarily disabling signature checking in /etc/pacman.conf. Then, when I remove /etc/pacman.d/gnupg and then pacman-key --init, pacman-key --populate msys2, pacman-key --refresh-keys, I got an error:

$ pacman-key --init
gpg: /etc/pacman.d/gnupg/trustdb.gpg: trustdb created
gpg: no ultimately trusted keys found
gpg: Generating pacman keyring master key...
gpg: skipping control `%no-protection' ()
+++++
.+++++
gpg: key 5BFE0383 marked as ultimately trusted
gpg: Done
==> Updating trust database...
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u

$ pacman-key --populate msys2
==> Appending keys from msys2.gpg...
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
==> Locally signing trusted keys in keyring...
  -> Locally signing key D55E7A6D7CE9BA1587C0ACACF40D263ECA25678A...
  -> Locally signing key 123D4D51A1793859C2BE916BBBE514E53E0D0813...
  -> Locally signing key B91BCF3303284BF90CC043CA9F418C233E652008...
  -> Locally signing key 9DD0D4217D75A33B896159E6DA7EF2ABAEEA755C...
==> Importing owner trust values...
gpg: setting ownertrust to 4
gpg: setting ownertrust to 4
gpg: setting ownertrust to 4
gpg: inserting ownertrust of 4
==> Updating trust database...
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:   4  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: depth: 1  valid:   4  signed:   3  trust: 0-, 0q, 0n, 4m, 0f, 0u
gpg: depth: 2  valid:   3  signed:   0  trust: 3-, 0q, 0n, 0m, 0f, 0u

$ pacman-key --refresh-keys
gpg: refreshing 8 keys from hkp://pool.sks-keyservers.net
gpg: requesting key 5BFE0383 from hkp server pool.sks-keyservers.net
gpg: requesting key CA25678A from hkp server pool.sks-keyservers.net
gpg: requesting key AEEA755C from hkp server pool.sks-keyservers.net
gpg: requesting key 3E0D0813 from hkp server pool.sks-keyservers.net
gpg: requesting key 3E652008 from hkp server pool.sks-keyservers.net
gpg: requesting key A47D45A1 from hkp server pool.sks-keyservers.net
gpg: requesting key 2C51581E from hkp server pool.sks-keyservers.net
gpg: requesting key 4CA56930 from hkp server pool.sks-keyservers.net
gpgkeys: key A5C4777EE7AF8299344B192750B20A585BFE0383 not found on keyserver
gpg: DBG: armor-keys-failed (KEY 0xA5C4777EE7AF8299344B192750B20A585BFE0383 BEGIN
) ->0
gpg: DBG: armor-keys-failed (KEY 0xA5C4777EE7AF8299344B192750B20A585BFE0383 FAILED 6
) ->6
gpg: key CA25678A: "Alexey Pavlov (Alexpux) <[email protected]>" 4 new signatures
gpg: key AEEA755C: "Martell Malone (martell) <[email protected]>" 3 new signatures
gpg: key 3E0D0813: "Ray Donnelly (MSYS2 Developer - master key) <[email protected]>" 2 new signatures
gpg: key 3E652008: "Ignacio Casal Quinteiro <[email protected]>" 2 new signatures
gpg: key A47D45A1: "Alexey Pavlov (Alexpux) <[email protected]>" 1 new signature
gpg: key 2C51581E: "Martell Malone (MSYS2 Developer) <[email protected]>" not changed
gpg: key 4CA56930: "Ray Donnelly (MSYS2 Developer) <[email protected]>" 2 new signatures
gpg: Total number processed: 7
gpg:              unchanged: 1
gpg:         new signatures: 14
gpg: keyserver communications error: key not found
gpg: keyserver communications error: bad public key
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:   4  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: depth: 1  valid:   4  signed:   3  trust: 0-, 0q, 0n, 4m, 0f, 0u
gpg: depth: 2  valid:   3  signed:   0  trust: 3-, 0q, 0n, 0m, 0f, 0u
gpg: keyserver refresh failed: bad public key
==> ERROR: A specified local key could not be updated from a keyserver.

I also ran autorebase.bat, but still getting errors when I run pacman -Su:

$ pacman -Su
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...

Packages (11) bash-4.3.042-2  curl-7.45.0-1  flex-2.6.0-1  gcc-libs-4.9.2-6
              gmp-6.1.0-1  grep-2.22-1  libcurl-7.45.0-1  libreadline-6.3.008-6
              mintty-1~2.2.1-1  msys2-runtime-2.4.0.16752.6eb10ef-1
              ncurses-6.0.20151121-1

Total Download Size:    7.76 MiB
Total Installed Size:  33.82 MiB
Net Upgrade Size:      -0.43 MiB

:: Proceed with installation? [Y/n]
:: Retrieving packages ...
 msys2-runtime-2.4.0...     2.3 MiB  9.60M/s 00:00 [#####################] 100%
 bash-4.3.042-2-x86_64   1865.2 KiB  9.15M/s 00:00 [#####################] 100%
 gcc-libs-4.9.2-6-x86_64  646.9 KiB  8.54M/s 00:00 [#####################] 100%
 gmp-6.1.0-1-x86_64       359.7 KiB  5.58M/s 00:00 [#####################] 100%
 ncurses-6.0.2015112...  1117.3 KiB  4.53M/s 00:00 [#####################] 100%
 libcurl-7.45.0-1-x86_64  167.7 KiB  5.28M/s 00:00 [#####################] 100%
 curl-7.45.0-1-x86_64     578.7 KiB  4.87M/s 00:00 [#####################] 100%
 flex-2.6.0-1-x86_64      280.4 KiB  5.71M/s 00:00 [#####################] 100%
 grep-2.22-1-x86_64       220.7 KiB  2.32M/s 00:00 [#####################] 100%
 libreadline-6.3.008...   243.3 KiB  2.45M/s 00:00 [#####################] 100%
 mintty-1~2.2.1-1-x86_64  134.2 KiB  1561K/s 00:00 [#####################] 100%
(11/11) checking keys in keyring                   [#####################] 100%
(11/11) checking package integrity                 [#####################] 100%
error: GPGME error: Invalid crypto engine
error: GPGME error: Invalid crypto engine
error: GPGME error: Invalid crypto engine
error: GPGME error: Invalid crypto engine
error: GPGME error: Invalid crypto engine
error: GPGME error: Invalid crypto engine
error: GPGME error: Invalid crypto engine
error: GPGME error: Invalid crypto engine
error: GPGME error: Invalid crypto engine
error: GPGME error: Invalid crypto engine
error: GPGME error: Invalid crypto engine
:: File /var/cache/pacman/pkg/msys2-runtime-2.4.0.16752.6eb10ef-1-x86_64.pkg.tar.xz is corrupted (invalid or corrupted package (PGP signature)).
Do you want to delete it? [Y/n]

yous avatar Nov 24 '15 15:11 yous

I'm sorry, the package name was wrong. Can you try re-installing libgpgme and updating gcc-libs, libcurl, libreadline, msys2-runtime, and ncurses? If you could install these one by one and test pacman (with sig checking enabled) between each installation, it would be awesome -- we'll be then more likely to figure out what was the issue.

If that doesn't help either, we need more information. Would you be able to capture the whole run of pacman with Process Monitor, save the logfile (in the PML format) and upload it somewhere for us? I would suggest strace, but it seems to have some bad interactions with pacman. :\

Also, in the future, remember to use update-core before running pacman -Su, because otherwise you will often get nasty post-install failures.

elieux avatar Nov 24 '15 16:11 elieux

Hi, just quitting MacType process doesn't seem to stop hooking. I disable them and I rebooted, and then clean installing MSYS2 makes work with update-core. Also pacman --needed -Sy bash pacman pacman-mirrors msys2-runtime and pacman -Su works.

Actually I realized that the cause is MacType by running Process Monitor. This is Logfile.txt which is actually a zip file containing Logfile.PML, download it and change its name to Logfile.zip. I changed the filename because GitHub doesn't support attaching a file with zip extension.

Thanks for you help, and sorry for confusing!

yous avatar Nov 25 '15 08:11 yous

Also, for MacType users, when you put following lines into your .ini file under C:\Program Files (x86)\MacType\ini or C:\Program Files\MacType\ini, GPGME will works properly.

[UnloadDll]
gpg.exe

yous avatar Nov 25 '15 08:11 yous

Thanks for the follow-up! I'll update the top post to include your fix.

elieux avatar Nov 25 '15 12:11 elieux

For MacType users, if you have this problem even after adding gpg.exe under [UnloadDll], try adding pacman.exe also.

[UnloadDll]
gpg.exe
pacman.exe

yous avatar Dec 10 '15 10:12 yous

Updated.

elieux avatar Dec 10 '15 11:12 elieux

To people who find a solution here, please leave a comment to let us know what worked for you if you wouldn't mind. Thanks in advance.

mingwandroid avatar Dec 28 '15 18:12 mingwandroid

Had this issue due to MacType; adding pacman.exe and gpg.exe to [UnloadDll] solved my issue.

hkmix avatar May 03 '16 23:05 hkmix

@hkmix: I've solved the problem because of your comment, thank you.

kumamotone avatar May 08 '16 07:05 kumamotone

See the discussion on the mailing list: http://marc.info/?l=gnupg-devel&m=144604688823859&w=2

Important: on windows, gpgme needs a special executable gpgme-w32spawn.exe. You can specify where to find this via e.g : gpgme_set_global_flag("w32-inst-dir", "C://Program Files (x86)//GnuPG/bin");

Also starting version 1.7.0 of GPGME it does a better job in finding GPG4Win on x64 systems.

jeroen avatar Oct 03 '16 14:10 jeroen

I use MSYS2 with ConEmu and was having this issue as well. Running pacman -Syu once in the msys2_shell.cmd seems to have resolved the issue and now I can run it inside ConEmu again.

isapir avatar May 06 '17 22:05 isapir

SELF-FIX: I'm on Win10 X64 and For me the issue was caused by Windows Firewall being on block outgoing connections that do not match a rule. Obviously I allowed pacman.exe first and that was allowing it to connect to the package server but not exchange the cryptographic keys, and was just giving a buncha non-descript crypto errors. So having dealt with weird crypto before just now installing the new Github Desktop for Windows, I fixed this one by finding the right .exes to firewall unblock. During the installer, it attempts to update itself, and do some kind of GNUPG trust/key server exchange handshake thing connecting out of gpg.exe (along with the gpg-keys.exe) TLDR: It worked after I allowed these executables: https://puu.sh/wIluc/d221041988.png and reinstalled. And for the svchost.exe its because it connects out via windows's inbuilt cryptographic services function, it connected to 191.232.80.53:443 (only that one) for me. Good luck.

genbtc avatar Jul 13 '17 06:07 genbtc

I completely forgot about this issue but just had it again and found my own comment from several months ago, which fixed the problem for me again: https://github.com/Alexpux/MSYS2-packages/issues/393#issuecomment-299669754

isapir avatar Oct 15 '17 16:10 isapir

In my experience this issue may also appear if Msys2 is installed on non-NTFS drive (Ext2fsd in my case). Reinstalling on C:\ works fine.

roma-guru avatar Oct 16 '17 00:10 roma-guru

@isapir i run msys2_shell.cmd then solved this issue,this seems to be the bug of ConEmu

xiuluo avatar Nov 13 '17 14:11 xiuluo

@runapp My debug output was pretty much the same as yours.

Output
$ export GPGME_DEBUG=9; pacman -Qq bash --debug
debug: pacman v5.0.1 - libalpm v10.0.1
debug: config: attempting to read file /etc/pacman.conf
debug: config: new section 'options'
debug: config: HoldPkg: pacman
debug: config: arch: x86_64
debug: config: SigLevel: Required
debug: config: SigLevel: DatabaseOptional
debug: config: LocalFileSigLevel: Optional
debug: config: new section 'mingw32'
debug: config file /etc/pacman.conf, line 73: including /etc/pacman.d/mirrorlist.mingw32
debug: config: new section 'mingw64'
debug: config file /etc/pacman.conf, line 76: including /etc/pacman.d/mirrorlist.mingw64
debug: config: new section 'msys'
debug: config file /etc/pacman.conf, line 79: including /etc/pacman.d/mirrorlist.msys
debug: config: finished parsing /etc/pacman.conf
debug: setup_libalpm called
debug: option 'logfile' = /var/log/pacman.log
debug: option 'gpgdir' = /etc/pacman.d/gnupg/
debug: option 'hookdir' = /etc/pacman.d/hooks/
debug: option 'cachedir' = /var/cache/pacman/pkg/
debug: registering sync database 'mingw32'
debug: database path for tree mingw32 set to /var/lib/pacman/sync/mingw32.db
GPGME 2018-02-18 03:57:59 <0x1060>  gpgme_debug: level=9
GPGME 2018-02-18 03:57:59 <0x1060>  gpgme_check_version: call: 0=0x0, req_version=(null), VERSION=1.6.0
GPGME 2018-02-18 03:57:59 <0x1060>  gpgme_check_version_internal: call: 0=0x0, req_version=(null), offset_sig_validity=60
debug: GPGME version: 1.6.0
GPGME 2018-02-18 03:57:59 <0x1060>  gpgme_set_locale: enter: ctx=0x0, category=2, value=en_US.UTF-8
GPGME 2018-02-18 03:57:59 <0x1060>  gpgme_set_locale: leave
GPGME 2018-02-18 03:57:59 <0x1060>  gpgme_set_locale: enter: ctx=0x0, category=6, value=en_US.UTF-8
GPGME 2018-02-18 03:57:59 <0x1060>  gpgme_set_locale: leave
GPGME 2018-02-18 03:57:59 <0x1060>  gpgme-walk_path: 'gpgconf' not found in '/usr/bin:/bin:/usr/sbin:/usr/local/bin'
GPGME 2018-02-18 03:57:59 <0x1060>  gpgme-dinfo: gpgconf='[null]'
GPGME 2018-02-18 03:57:59 <0x1060>  gpgme-dinfo:     gpg='/usr/bin/gpg'
GPGME 2018-02-18 03:57:59 <0x1060>  _gpgme_io_pipe: enter: filedes=0xffffb510, inherit_idx=1 (GPGME uses it for reading)
GPGME 2018-02-18 03:57:59 <0x1060>  _gpgme_io_pipe: leave: read=0x5, write=0x6
GPGME 2018-02-18 03:57:59 <0x1060>  _gpgme_io_spawn: enter: path=0x60004ef70, path=/usr/bin/gpg
GPGME 2018-02-18 03:57:59 <0x1060>  _gpgme_io_spawn: check: path=0x60004ef70, argv[ 0] = /usr/bin/gpg
GPGME 2018-02-18 03:57:59 <0x1060>  _gpgme_io_spawn: check: path=0x60004ef70, argv[ 1] = --version
GPGME 2018-02-18 03:57:59 <0x1060>  _gpgme_io_spawn: check: path=0x60004ef70, fd[0] = 0x6 -> 0x1
GPGME 2018-02-18 03:57:59 <0x1060>  _gpgme_io_spawn: check: path=0x60004ef70, waiting for child process pid=9624
GPGME 2018-02-18 03:57:59 <0x1060>  _gpgme_io_spawn: error: No such file or directory
GPGME 2018-02-18 03:57:59 <0x1060>  _gpgme_io_close: enter: fd=0x5
GPGME 2018-02-18 03:57:59 <0x1060>  _gpgme_io_close: leave: result=0
GPGME 2018-02-18 03:57:59 <0x1060>  _gpgme_io_close: enter: fd=0x6
GPGME 2018-02-18 03:57:59 <0x1060>  _gpgme_io_close: leave: result=0
GPGME 2018-02-18 03:57:59 <0x1060>  engine.c:155: returning error: Invalid crypto engine
error: GPGME error: Invalid crypto engine
debug: returning error 55 from init_gpgme : gpgme error
debug: signature check failed
debug: setting usage of 15 for mingw32 repository
debug: adding new server URL to database 'mingw32': http://repo.msys2.org/mingw/i686
debug: adding new server URL to database 'mingw32': http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/i686
debug: adding new server URL to database 'mingw32': http://www2.futureware.at/~nickoe/msys2-mirror/i686
debug: registering sync database 'mingw64'
debug: database path for tree mingw64 set to /var/lib/pacman/sync/mingw64.db
GPGME 2018-02-18 03:57:59 <0x1060>  gpgme_check_version: call: 0=0x0, req_version=(null), VERSION=1.6.0
GPGME 2018-02-18 03:57:59 <0x1060>  gpgme_check_version_internal: call: 0=0x0, req_version=(null), offset_sig_validity=60
debug: GPGME version: 1.6.0
GPGME 2018-02-18 03:57:59 <0x1060>  gpgme_set_locale: enter: ctx=0x0, category=2, value=en_US.UTF-8
GPGME 2018-02-18 03:57:59 <0x1060>  gpgme_set_locale: leave
GPGME 2018-02-18 03:57:59 <0x1060>  gpgme_set_locale: enter: ctx=0x0, category=6, value=en_US.UTF-8
GPGME 2018-02-18 03:57:59 <0x1060>  gpgme_set_locale: leave
GPGME 2018-02-18 03:57:59 <0x1060>  engine.c:155: returning error: Invalid crypto engine
error: GPGME error: Invalid crypto engine
debug: returning error 55 from init_gpgme : gpgme error
debug: signature check failed
debug: setting usage of 15 for mingw64 repository
debug: adding new server URL to database 'mingw64': http://repo.msys2.org/mingw/x86_64
debug: adding new server URL to database 'mingw64': http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/x86_64
debug: adding new server URL to database 'mingw64': http://www2.futureware.at/~nickoe/msys2-mirror/x86_64
debug: registering sync database 'msys'
debug: database path for tree msys set to /var/lib/pacman/sync/msys.db
GPGME 2018-02-18 03:57:59 <0x1060>  gpgme_check_version: call: 0=0x0, req_version=(null), VERSION=1.6.0
GPGME 2018-02-18 03:57:59 <0x1060>  gpgme_check_version_internal: call: 0=0x0, req_version=(null), offset_sig_validity=60
debug: GPGME version: 1.6.0
GPGME 2018-02-18 03:57:59 <0x1060>  gpgme_set_locale: enter: ctx=0x0, category=2, value=en_US.UTF-8
GPGME 2018-02-18 03:57:59 <0x1060>  gpgme_set_locale: leave
GPGME 2018-02-18 03:57:59 <0x1060>  gpgme_set_locale: enter: ctx=0x0, category=6, value=en_US.UTF-8
GPGME 2018-02-18 03:57:59 <0x1060>  gpgme_set_locale: leave
GPGME 2018-02-18 03:57:59 <0x1060>  engine.c:155: returning error: Invalid crypto engine
error: GPGME error: Invalid crypto engine
debug: returning error 55 from init_gpgme : gpgme error
debug: signature check failed
debug: setting usage of 15 for msys repository
debug: adding new server URL to database 'msys': http://repo.msys2.org/msys/x86_64
debug: adding new server URL to database 'msys': http://downloads.sourceforge.net/project/msys2/REPOS/MSYS2/x86_64
debug: adding new server URL to database 'msys': http://www2.futureware.at/~nickoe/msys2-mirror/msys/x86_64
debug: loading package cache for repository 'local'
debug: added 297 packages to package cache for db 'local'
bash
debug: unregistering database 'local'
debug: freeing package cache for repository 'local'
debug: unregistering database 'mingw32'
debug: unregistering database 'mingw64'
debug: unregistering database 'msys'

For me, the root cause actually turned out to be the same as an unrelated problem where git rebase interactive was hanging.

The culprit was good old BLODA COMODO. It was more obvious in that git problem because I saw high CPU usage from COMODO while git rebase -i was hanging.

However, turning off all of COMODO's services/systems wasn't enough to fix the problem. The workaround (discussed here, here, here, and here) turned out to be to go to Settings > Advanced protection > Miscellaneous > Don't detect shellcode injections in these applications and add File Groups > All Applications to the exclusion list.

After that, git rebase interactive and pacman worked properly.

ahiijny avatar Feb 18 '18 09:02 ahiijny

@ahiijny Thank you for your tips! Now msys is working flawlessly.

runapp avatar Feb 18 '18 14:02 runapp

I just had another issue ( in Win 1803) - but the same "error: GPGME error: Invalid crypto engine " Even after re-installing MSYS2, it wasn't fixed. So I also tried the pacman-key --init and refresh-keys steps, to no avail. TLDR It was a setting I enabled in Windows Defender's advanced settings. SELF-FIX: You must disable: "Force Randomization for Images (Mandatory ASLR) - Force relocation of Images not Compiled with /DYNAMICBASE" by going into the Windows Defender Security Center - App and Browser Control > at the bottom theres a link to "Exploit Protection Settings" Should be set to "Use Default (Off)" - the other settings don't affect it, but this one for sure does, (I rebooted many times to narrow it down, and finally fixed it)

genbtc avatar Aug 04 '18 10:08 genbtc

@ahiijny work fine after change comodo advance settings.

Software version:

  • windows 10, 10.0.17134.165
  • msys2-base-x86_64-20180531.tar.xz
  • comodo 10, 10.2.0.6526

Thanks.

buaabyl avatar Aug 07 '18 08:08 buaabyl

I get this, but not with pacman, just executing various examples of the gpgme lib

import gpg
def print_engine_infos():
    print("gpgme version:", gpg.core.check_version(None))
    print("engines:")

    for engine in gpg.core.get_engine_info():
        print(engine.file_name, engine.version)

    for proto in [gpg.constants.protocol.OpenPGP, gpg.constants.protocol.CMS]:
        print("Have {}? {}".format(gpg.core.get_protocol_name(proto),
                                   gpg.core.engine_check_version(proto)))
def print_engine_infos()

This yields

gpgme version: 1.10.0
engines:
C:\msys64\mingw32\bin\gpgconf.exe 1.0.0
/nonexistent 1.0.0
Have OpenPGP? False
Have CMS? False

Seems to find gpgconf.exe but not gpg.exe

anyone else having this problem?

lovetox avatar Aug 07 '18 19:08 lovetox

@genbtc its the same story there, can you reproduce this behavior on your installation? does that python script prints something different for you?

lovetox avatar Aug 08 '18 15:08 lovetox

@lovetox At first python gave me: ImportError: No module named gpg then i did $ pacman -S mingw64/mingw-w64-x86_64-gpgme Then i got: $ python gpgpy.py ('gpgme version:', '1.11.1') engines: ('C:\msys64\mingw64\bin\gpgconf.exe', '1.0.0') ('/nonexistent', '1.0.0') Have OpenPGP? False Have CMS? False

So same thing. Then i tried in Mingw32 and got the same "No Module named gpg" , so i did: $ pacman -S mingw32/mingw-w64-i686-gnupg (like i did before on 64, but still the same error.)

(also the last line in your script had a typo/bug, the last line said "def" again but it meant to call the first def.)

So its probably not 64/32 but that is some weird stuff. hope this helps. i dont have the answer.

genbtc avatar Aug 08 '18 18:08 genbtc

I just tested this and i dont have the problem in the MSYS env, only in MINGW env, so i will move my issue

lovetox avatar Aug 08 '18 21:08 lovetox

I also have this issue, I tried all the techniques described here but I still get the following error:

erreur : GPGME error: Moteur de chiffrement incorrect
erreur : la base de données « mingw32 » n’est pas valide (base de données invalide ou corrompue (signature PGP))

It was a fresh (and the 1st!) install of MSYS2 on a clean machine that I got just 2 weeks ago. It's running Win10 64-bits.

lrq3000 avatar Nov 26 '18 00:11 lrq3000

@ahiijny I had the exact same issue. Turning off the COMODO firewall was not enough. It would be really helpful if they would add this information to a note at the top of this thread. The BLODA hint is sort of vague (at least to me).

The culprit was good old BLODA COMODO. It was more obvious in that git problem because I saw high CPU usage from COMODO while git rebase -i was hanging.

However, turning off all of COMODO's services/systems wasn't enough to fix the problem. The workaround (discussed here, here, here, and here) turned out to be to go to Settings > Advanced protection > Miscellaneous > Don't detect shellcode injections in these applications and add File Groups > All Applications to the exclusion list.

After that, git rebase interactive and pacman worked properly.

HeiniK avatar Apr 09 '19 21:04 HeiniK

Hi, I've bee trying all kinds of solutions and GPGME engine is always broken at the end. May be it could be possible to avoid update of some gpg components for a while to keep the sig database ok? I wonder why i see this topic from times ago and still no real solution... Regard, Gilles

brokengillou avatar May 10 '19 12:05 brokengillou

I wonder why i see this topic from times ago and still no real solution...

Because the issue is in 90% of cases caused by the other software and the other 10% is virtually impossible to reproduce.

mati865 avatar May 10 '19 13:05 mati865

This error usually means that there are conflicting gpg installations installed. It can happen for example if you use gpgme from msys2 but also have GnuPG for Windows installed. We also see this on MacOS when using the homebrew version of gpgme on systems that also have MacGPG2 is installed.

Clean your system and make sure there is only one version of gpg.exe and gpgconf.exe on the PATH. This will almost always resolve your problems.

jeroen avatar May 10 '19 14:05 jeroen