[Bug 1149038] New: gpg2 freeze on verification of email
http://bugzilla.opensuse.org/show_bug.cgi?id=1149038 Bug ID: 1149038 Summary: gpg2 freeze on verification of email Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: Security Assignee: security-team@suse.de Reporter: mcepl@suse.com QA Contact: qa-bugs@suse.de CC: pmonrealgonzalez@suse.com Found By: --- Blocker: --- Originally this started while investigating https://gitlab.gnome.org/GNOME/evolution/issues/572 upstream maintainer developed this reproducer: ~$ echo aaa |gpg2 --armor --sign --detach -u matej@ceplovi.cz /tmp/data ~$ gpg2 --verify /tmp/data.asc /tmp/data gpg: Podpis vytvořen Fri 30 Aug 2019 21:57:48 CEST gpg: použití DSA klíče 89EF4BC6288ABF431BAB25C3E09FEF25D96484AC gpg: vydavatel „matej@ceplovi.cz“ gpg: kontroluji databázi důvěry gpg: waiting for lock (held by 31491) ... gpg: waiting for lock (held by 31491) ... ... ~$ When it is locked up I get this traceback (from gpg2-2.2.17-1.1.x86_64): 0x00007fca3a4447d1 in __GI___libc_read (fd=fd@entry=5, buf=buf@entry=0x55a651c15350, nbytes=nbytes@entry=8192) at ../sysdeps/unix/sysv/linux/read.c:26 26 ../sysdeps/unix/sysv/linux/read.c: Adresář nebo soubor neexistuje. (gdb) t a a bt Thread 1 (Thread 0x7fca39eb3740 (LWP 31126)): #0 0x00007fca3a4447d1 in __GI___libc_read (fd=fd@entry=5, buf=buf@entry=0x55a651c15350, nbytes=nbytes@entry=8192) at ../sysdeps/unix/sysv/linux/read.c:26 #1 0x000055a650411e81 in read (__nbytes=<optimized out>, __buf=0x55a651c15350, __fd=5) at /usr/include/bits/unistd.h:44 #2 file_filter (opaque=0x55a651bfc870, control=<optimized out>, chain=<optimized out>, buf=0x55a651c15350 "W\376\"H\300\362\060\355/\a\271:\270\001(\017\257\206h", ret_len=0x7fff2864edb8) at iobuf.c:492 #3 0x000055a65041240c in underflow_target (a=a@entry=0x55a651dc4000, clear_pending_eof=clear_pending_eof@entry=1, target=target@entry=1) at iobuf.c:1841 #4 0x000055a650412812 in underflow (clear_pending_eof=1, a=0x55a651dc4000) at iobuf.c:1974 #5 iobuf_readbyte (a=a@entry=0x55a651dc4000) at iobuf.c:1974 #6 0x000055a6504128c1 in iobuf_skip_rest (a=0x55a651dc4000, n=<optimized out>, partial=<optimized out>) at iobuf.c:2684 #7 0x000055a650468a3b in parse (ctx=0x7fff2864f070, pkt=0x7fff2864f060, onlykeypkts=1, retpos=0x7fff2864f050, skip=0x7fff2864f058, out=0x0, do_skip=0, dbg_w=0x55a6504af03f "search", dbg_f=0x55a650494363 "keyring.c", dbg_l=1106) at parse-packet.c:771 #8 0x000055a6504002eb in dbg_search_packet (dbg_f=<optimized out>, dbg_l=<optimized out>, with_uid=<optimized out>, retpos=<optimized out>, pkt=<optimized out>, ctx=<optimized out>) at parse-packet.c:337 #9 keyring_search.constprop.0 (hd=0x55a651d3a7a0, desc=desc@entry=0x7fff2864f3b0, ndesc=ndesc@entry=1, descindex=descindex@entry=0x0, ignore_legacy=1) at keyring.c:1106 #10 0x000055a650478b1f in keydb_search (hd=0x55a651bf2be0, desc=desc@entry=0x7fff2864f3b0, ndesc=<optimized out>, descindex=descindex@entry=0x0) at keydb.c:1960 #11 0x000055a65047e79e in lookup (ctrl=ctrl@entry=0x55a651b78c20, ctx=ctx@entry=0x7fff2864f380, want_secret=want_secret@entry=0, ret_keyblock=ret_keyblock@entry=0x7fff2864f378, ret_found_key=ret_found_key@entry=0x7fff2864f370) at getkey.c:3692 #12 0x000055a65047eacb in get_pubkey_byfprint (ctrl=ctrl@entry=0x55a651b78c20, pk=pk@entry=0x55a651ca3620, r_keyblock=r_keyblock@entry=0x0, fprint=0x55a651c84433 "%U+\211\323:\246\366\202\060\036\202\256:\344VB%Q\232\005\002Zz\367'\236\236\236\236\236\236\236\246U", fprint_len=20) at getkey.c:1702 #13 0x000055a650480c4d in get_pubkey_byfprint (fprint_len=<optimized out>, fprint=<optimized out>, r_keyblock=0x0, pk=0x55a651ca3620, ctrl=0x55a651b78c20) at getkey.c:438 #14 get_pubkey_for_sig (ctrl=0x55a651b78c20, pk=0x55a651ca3620, sig=0x55a651c84360) at getkey.c:434 #15 0x000055a65046331c in check_signature_over_key_or_uid (ctrl=<optimized out>, signer=0x55a651ca3620, sig=0x55a651c84360, kb=0x55a651dff800, packet=0x55a651ca7da0, is_selfsig=<optimized out>, ret_pk=<optimized out>) at sig-check.c:927 #16 0x000055a65040adbc in check_key_signature2.constprop.0 (ctrl=0x55a651b78c20, root=0x55a651dff800, node=0x55a651da1270, check_pk=<optimized out>, ret_pk=0x0, is_selfsig=0x0, r_expired=0x0, r_expiredate=0x0) at sig-check.c:1166 #17 0x000055a650479d67 in keyring_rebuild_cache (noisy=0, token=<optimized out>, ctrl=0x55a651b78c20) at keyring.c:1531 #18 keydb_rebuild_caches (ctrl=0x55a651b78c20, noisy=0) at keydb.c:1778 #19 0x000055a65042a832 in validate_keys (ctrl=0x55a651b78c20, interactive=0) at trustdb.c:2016 #20 0x000055a65042c7a8 in check_trustdb_stale (ctrl=0x55a651b78c20) at trust.c:311 #21 tdb_get_validity_core (may_ask=<optimized out>, sig=<optimized out>, main_pk=<optimized out>, uid=<optimized out>, pk=0x55a651b904b0, kb=<optimized out>, ctrl=<optimized out>) at tru--Type <RET> for more, q to quit, c to continue without paging-- stdb.c:1079 #22 get_validity (ctrl=0x55a651b78c20, kb=0x55a651bb8300, pk=0x55a651b904b0, uid=0x55a651bb6390, sig=0x0, may_ask=0) at trust.c:384 #23 0x000055a650472000 in check_sig_and_print (c=c@entry=0x55a651b81770, node=node@entry=0x55a651b81b50) at mainproc.c:2121 #24 0x000055a650472873 in proc_tree (node=<optimized out>, c=0x55a651b81770) at mainproc.c:2639 #25 release_list (c=c@entry=0x55a651b81770) at mainproc.c:134 #26 0x000055a65047508e in do_proc_packets (a=0x55a6504ac7b8, c=0x55a651b81770, ctrl=0x55a651b78c20) at mainproc.c:1582 #27 do_proc_packets (ctrl=ctrl@entry=0x55a651b78c20, c=c@entry=0x55a651b81770, a=a@entry=0x55a651b815b0) at mainproc.c:1430 #28 0x000055a6504755a5 in proc_signature_packets (ctrl=0x55a651b78c20, anchor=0x0, a=0x55a651b815b0, signedfiles=0x55a651b81530, sigfilename=0x7fff28651e1a "/tmp/data.asc") at mainproc.c:1328 #29 0x000055a6503f9dcb in verify_signatures (files=<optimized out>, nfiles=<optimized out>, ctrl=<optimized out>) at verify.c:111 #30 main (argc=<optimized out>, argv=<optimized out>) at gpg.c:4324 (gdb) -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1149038
Matej Cepl
http://bugzilla.opensuse.org/show_bug.cgi?id=1149038
http://bugzilla.opensuse.org/show_bug.cgi?id=1149038#c2
--- Comment #2 from Matej Cepl
Is the traceback in comment 0 from PID 31491 or from the `gpg2 --verify` process running the foreground?
Both, PID 31491 was gpg2 --verify.
I'm assigning the bug to the gpg2 maintainer for further investigation.
Let me know if I can be of any further assistance. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1149038
http://bugzilla.opensuse.org/show_bug.cgi?id=1149038#c3
--- Comment #3 from Matej Cepl
http://bugzilla.opensuse.org/show_bug.cgi?id=1149038
http://bugzilla.opensuse.org/show_bug.cgi?id=1149038#c4
--- Comment #4 from Pedro Monreal Gonzalez
http://bugzilla.opensuse.org/show_bug.cgi?id=1149038
http://bugzilla.opensuse.org/show_bug.cgi?id=1149038#c5
--- Comment #5 from Matej Cepl
http://bugzilla.opensuse.org/show_bug.cgi?id=1149038
http://bugzilla.opensuse.org/show_bug.cgi?id=1149038#c6
--- Comment #6 from Pedro Monreal Gonzalez
participants (1)
-
bugzilla_noreply@novell.com