Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Nov 2007 16:55:43 -0500 (EST)
From:      Dan Mahoney <danm@prime.gushi.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/118363: bug in pinentry-curses causes gpg2 port to be unusable
Message-ID:  <200711302155.lAULth2s017799@prime.gushi.org>
Resent-Message-ID: <200711302220.lAUMK2AK013978@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         118363
>Category:       ports
>Synopsis:       bug in pinentry-curses causes gpg2 port to be unusable
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Nov 30 22:20:01 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator:     Dan Mahoney
>Release:        FreeBSD 6.2-PRERELEASE i386
>Organization:
Gushi Systems
>Environment:
System: FreeBSD prime.gushi.org 6.2-PRERELEASE FreeBSD 6.2-PRERELEASE #0: Wed Dec 20 05:43:31 EST 2006 danm@prime.gushi.org:/usr/obj/usr/src/sys/GENERIC i386

Copyright (c) 1992-2006 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 6.2-PRERELEASE #0: Wed Dec 20 05:43:31 EST 2006
    danm@prime.gushi.org:/usr/obj/usr/src/sys/GENERIC
ACPI APIC Table: <DELL   PE600SC >
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Pentium(R) 4 CPU 2.40GHz (2399.33-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0xf29  Stepping = 9
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x4400<CNTX-ID,<b14>>
real memory  = 2147418112 (2047 MB)
avail memory = 2096463872 (1999 MB)
pnpbios: Bad PnP BIOS data checksum
ioapic0: Changing APIC ID to 1
ioapic1: Changing APIC ID to 2
ioapic2: Changing APIC ID to 3
MADT: Forcing active-low polarity and level trigger for SCI
ioapic0 <Version 1.1> irqs 0-15 on motherboard
ioapic1 <Version 1.1> irqs 16-31 on motherboard
ioapic2 <Version 1.1> irqs 32-47 on motherboard
kbd1 at kbdmux0
ath_hal: 0.9.17.2 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
acpi0: <DELL PE600SC> on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000
acpi_timer0: <32-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
cpu0: <ACPI CPU> on acpi0
pcib0: <ACPI Host-PCI bridge> on acpi0
pci0: <ACPI PCI bus> on pcib0
em0: <Intel(R) PRO/1000 Network Connection Version - 6.2.9> port 0xecc0-0xecff mem 0xfe100000-0xfe11ffff irq 17 at device 2.0 on pci0
em0: Ethernet address: 00:c0:9f:32:c0:98
pci0: <display, VGA> at device 8.0 (no driver attached)
atapci0: <ServerWorks CSB6 UDMA66 controller> port 0x1e8-0x1ef,0x3ec-0x3ef,0x168-0x16f,0x36c-0x36f,0x900-0x90f irq 11 at device 14.0 on pci0
ata2: <ATA channel 0> on atapci0
ata3: <ATA channel 1> on atapci0
atapci1: <ServerWorks CSB6 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x8b0-0x8bf at device 15.1 on pci0
ata0: <ATA channel 0> on atapci1
ata1: <ATA channel 1> on atapci1
ohci0: <OHCI (generic) USB controller> mem 0xfe120000-0xfe120fff irq 5 at device 15.2 on pci0
ohci0: [GIANT-LOCKED]
usb0: OHCI version 1.0, legacy support
usb0: SMM does not respond, resetting
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: (0x1166) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
isab0: <PCI-ISA bridge> at device 15.3 on pci0
isa0: <ISA bus> on isab0
fdc0: <floppy drive controller> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0
fdc0: [FAST]
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model IntelliMouse, device ID 3
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A
ppc0: <ECP parallel printer port> port 0x378-0x37f,0x778-0x77f irq 7 drq 1 on acpi0
ppc0: Generic chipset (ECP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
pmtimer0 on isa0
orm0: <ISA Option ROMs> at iomem 0xc0000-0xc7fff,0xe3000-0xea7ff,0xec000-0xeffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounter "TSC" frequency 2399333544 Hz quality 800
Timecounters tick every 1.000 msec
ad0: 76319MB <WDC WD800JB-00JJC0 05.01C05> at ata0-master UDMA100
ad1: 238475MB <SAMSUNG SP2514N VF100-37> at ata0-slave UDMA100
ad2: 238475MB <SAMSUNG SP2514N VF100-37> at ata1-master UDMA100
acd0: CDROM <ASUS CD-S520/A4/1.2> at ata2-master UDMA33
Trying to mount root from ufs:/dev/ad0s1a
WARNING: / was not properly dismounted
WARNING: /tmp was not properly dismounted
WARNING: /usr was not properly dismounted
WARNING: /var was not properly dismounted
WARNING: /home5 was not properly dismounted
ipfw2 (+ipv6) initialized, divert loadable, rule-based forwarding disabled, default to deny, logging disabled
em0: link state changed to UP

gpg2 and pinentry-curses built from ports

prime# ls /var/db/pkg|grep pinen
pinentry-curses-0.7.3
prime# ls /var/db/pkg | grep gnupg
gnupg-1.4.7_1
gnupg-2.0.4

>Description:

gpg2, in its race to become more complex, now *requires* that you use the gpg-engine for everything, and the actual core 
programs have become little more than calls to the engine.  To wit, this means that any prompting for a password must be 
done via a "pinentry" program (for which there is no straight "console" port -- only a "curses" version.  To do little more 
than ask a password.

However, this utility (pinentry-curses) is broken in ports.

I do not believe this breaks anything non-pin-related (such as, say, verifying a signature), but haven't tested extensively 
since I can no longer access my keyring.

>How-To-Repeat:

(apologies for the ugly escape codes)

Script started on Fri Nov 30 16:47:39 2007
kendif endif [prime.gushi.org]\k  [prime.gushi.org]\k  [prime.gushi.org]\k  [prime.gushi.org]\You have mail.
ktcsh [prime.gushi.org]\%exit
%gpg2 -e -c disk.sizesssh danm@oldprimegpg2 -e -c disk.sizes

kgpg2 disk.sizes [prime.gushi.org]\Warning: using insecure memory!
Warning: using insecure memory!
[?1049h[?1h=(0lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B(0x(B Enter passphrase(0x(B(0x(B(0x(B(0x(B(0x(B(0x(B Passphrase ________________________________________ (0x(B(0x(B(0x(B(0x(B<OK><Cancel>(0x(B(0mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B****[?1049l
[?1l>pinentry in free(): error: page is already free
gpg-agent[14752]: command get_passphrase failed: End of file
gpg: disk.sizes: encryption failed: Bad passphrase
ktcsh [prime.gushi.org]\%exit

kexit exit [prime.gushi.org]\ktcsh [prime.gushi.org]\exit

Script done on Fri Nov 30 16:47:47 2007

I have seen others report (on mailing lists, and such) the above modified as "chunk is already free" as opposed to "page".  
As I am a non-coder I am not sure of the difference.

>Fix:

Michael Nottebrock suggested making a change to malloc.conf (I tried it with the environment variable, to no success), in 
this thread:

http://groups.google.com/group/lucky.freebsd.questions/browse_thread/thread/8b973b58e090817e/db8d076bf53a8ea1

No fix is known -- unsure of whether to take this to the gpg team or not.
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200711302155.lAULth2s017799>