Hi,
I was trying to figure out why I could not use the sks pools on my OpenBSD
machine when I found that dirmngr is crashing with an assertion failure:
wilfred:edd> gdb dirmngr
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "amd64-unknown-openbsd5.8"...
(gdb) b ks-engine-hkp.c:179
Breakpoint 1 at 0x1e048: file ks-engine-hkp.c, line 179.
(gdb) cond 1 (a < 0) || (a >= hosttable_size)
(gdb) run
Starting program: /usr/local/bin/dirmngr
Breakpoint 1 at 0x12fee4a1e048: file ks-engine-hkp.c, line 179.
dirmngr[28794.0]: permanently loaded certificates: 0
dirmngr[28794.0]: runtime cached certificates: 0
# Home: ~/.gnupg
# Config: /home/edd/.gnupg/dirmngr.conf
OK Dirmngr 2.1.8 at your service
KEYSERVER --clear hkp://pool.sks-keyservers.net
OK
KS_SEARCH blah@sometesst.ext
dirmngr[28794.0]: getnameinfo returned for 'pool.sks-keyservers.net': 'c-75-75-
183-132.hsd1.pa.comcast.net'
dirmngr[28794.0]: getnameinfo returned for 'pool.sks-keyservers.net':
'openpgp.us'
dirmngr[28794.0]: getnameinfo returned for 'pool.sks-keyservers.net': 'pgp.h-
ix.net'
dirmngr[28794.0]: getnameinfo returned for 'pool.sks-keyservers.net':
'mira.cbaines.net'
dirmngr[28794.0]: getnameinfo returned for 'pool.sks-keyservers.net':
'keys02.fedoraproject.org'
dirmngr[28794.0]: getnameinfo returned for 'pool.sks-keyservers.net':
'sks.mrball.net'
dirmngr[28794.0]: getnameinfo returned for 'pool.sks-keyservers.net':
'astrath.net'
dirmngr[28794.0]: getnameinfo returned for 'pool.sks-keyservers.net':
'104.131.30.118'
dirmngr[28794.0]: getnameinfo returned for 'pool.sks-keyservers.net':
'pgpkeys.co.uk'
dirmngr[28794.0]: getnameinfo returned for 'pool.sks-keyservers.net':
'haze.blupill.com'
dirmngr[28794.0]: getnameinfo returned for 'pool.sks-keyservers.net':
'mira.cbaines.net' [already known]
dirmngr[28794.0]: getnameinfo returned for 'pool.sks-keyservers.net':
'[2a01:4f8:190:22a4::2]'
dirmngr[28794.0]: getnameinfo returned for 'pool.sks-keyservers.net':
'itunix.eu'
dirmngr[28794.0]: getnameinfo returned for 'pool.sks-keyservers.net':
'hufu.ki.iif.hu'
dirmngr[28794.0]: getnameinfo returned for 'pool.sks-keyservers.net':
'tyo1.sks.reimu.io'
dirmngr[28794.0]: getnameinfo returned for 'pool.sks-keyservers.net':
'[2001:bc8:3d90:103::]'
dirmngr[28794.0]: getnameinfo returned for 'pool.sks-keyservers.net':
'pgpkeys.urown.net'
dirmngr[28794.0]: getnameinfo returned for 'pool.sks-keyservers.net':
'svcs4.riverwillow.net.au'
dirmngr[28794.0]: getnameinfo returned for 'pool.sks-keyservers.net':
'keyserver.kjsl.org'
dirmngr[28794.0]: getnameinfo returned for 'pool.sks-keyservers.net':
'gpg.spline.inf.fu-berlin.de'
Breakpoint 1, sort_hostpool (xa=0x1301a38a1e00, xb=0x1301a38a1e24)
at ks-engine-hkp.c:179
179 assert (a >= 0 && a < hosttable_size);
(gdb) a
Ambiguous command "a": actions, add-shared-symbol-files, add-symbol-file,
advance, aliases, append, apropos, assf...
(gdb) p a
$1 = -538976289
(gdb) p hosttable_size
$2 = 20
(gdb) bt
#0 sort_hostpool (xa=0x1301a38a1e00, xb=0x1301a38a1e24) at ks-engine-hkp.c:179
#1 0x0000130117efc9ba in *_libc_qsort (aa=Variable "aa" is not available.
)
at /usr/src/lib/libc/stdlib/qsort.c:78
#2 0x000012fee4a1f7fd in make_host_part (ctrl=0x13014eb5d640,
scheme=0x12fee4b407b3 "http",
host=0x13014971c4c6 "pool.sks-keyservers.net", port=Variable "port" is not
available.
)
at ks-engine-hkp.c:515
#3 0x000012fee4a2032a in ks_hkp_search (ctrl=0x13014eb5d640,
uri=0x13014971c480, pattern=0x13014eb5d08c "blah@sometesst.ext",
r_fp=0x7f7ffffe2bb8) at ks-engine-hkp.c:1182
#4 0x000012fee4a1de36 in ks_action_search (ctrl=Variable "ctrl" is not
available.
) at ks-action.c:177
#5 0x000012fee4a0fdf7 in cmd_ks_search (ctx=0x1301038c5140,
line=0x1301038c52ac "") at server.c:1796
#6 0x00001301dc2ee156 in dispatch_command ()
from /usr/local/lib/libassuan.so.1.1
#7 0x00001301dc2ee34e in assuan_process ()
from /usr/local/lib/libassuan.so.1.1
#8 0x000012fee4a0db2f in start_command_handler (fd=Variable "fd" is not
available.
) at server.c:2249
#9 0x000012fee4a0c20f in main (argc=0, argv=0x7f7ffffe31a0) at dirmngr.c:1043I have no malloc.conf installed.
If we can get a patch I can apply it the the OpenBSD port.
Cheers