Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 193045 - app-crypt/gnupg-2.0.7 fails sm-sign+verify test
Summary: app-crypt/gnupg-2.0.7 fails sm-sign+verify test
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Crypto team [DISABLED]
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-09-19 11:07 UTC by Michał Kiedrowicz
Modified: 2007-09-24 21:02 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge log (log,135.99 KB, text/plain)
2007-09-19 11:08 UTC, Michał Kiedrowicz
Details
emerge info (ein,3.52 KB, text/plain)
2007-09-19 11:08 UTC, Michał Kiedrowicz
Details
English only emerge log (new_log,135.66 KB, text/plain)
2007-09-19 21:26 UTC, Michał Kiedrowicz
Details
output of `LANG="C" make check-TESTS` (check,6.53 KB, text/plain)
2007-09-19 21:56 UTC, Michał Kiedrowicz
Details
output of `LANG="C" strace -o strace-result make check-TESTS` (strace-result,14.29 KB, text/plain)
2007-09-20 20:21 UTC, Michał Kiedrowicz
Details
output of `LANG="C" strace -f -F -o strace-result make check-TESTS ` (strace-result,626.95 KB, text/plain)
2007-09-20 20:27 UTC, Michał Kiedrowicz
Details
gnupg-2.0.7-asschk.patch (gnupg-2.0.7-asschk.patch,768 bytes, patch)
2007-09-22 21:14 UTC, Alon Bar-Lev (RETIRED)
Details | Diff
emerge info (a,7.92 KB, text/plain)
2007-09-23 09:38 UTC, Vytautas Jakutis
Details
gpgsm.log (gpgsm.log,822 bytes, text/plain)
2007-09-23 10:00 UTC, Vytautas Jakutis
Details
gpgsm.text-1.osig.pem.log (gpgsm.text-1.osig.pem.log,3.08 KB, text/plain)
2007-09-23 10:00 UTC, Vytautas Jakutis
Details
gpgsm.text-1.dsig.pem.log (gpgsm.text-1.dsig.pem.log,666 bytes, text/plain)
2007-09-23 10:01 UTC, Vytautas Jakutis
Details
gpgsm-debug.log (gpgsm.log,17.96 KB, text/plain)
2007-09-23 10:03 UTC, Vytautas Jakutis
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michał Kiedrowicz 2007-09-19 11:07:17 UTC
>>> Test phase [check]: app-crypt/gnupg-2.0.7
Making check in m4
make[1]: Wejście do katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/m4'
make[1]: Nie ma nic do zrobienia w `check'.
make[1]: Opuszczenie katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/m4'
Making check in gl
make[1]: Wejście do katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/gl'
make  check-am
make[2]: Wejście do katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/gl'
make[2]: Nie ma nic do zrobienia w `check-am'.
make[2]: Opuszczenie katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/gl'
make[1]: Opuszczenie katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/gl'
Making check in include
make[1]: Wejście do katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/include'
make[1]: Nie ma nic do zrobienia w `check'.
make[1]: Opuszczenie katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/include'
Making check in jnlib
make[1]: Wejście do katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/jnlib'
make  check-TESTS
make[2]: Wejście do katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/jnlib'
PASS: t-stringhelp
==================
All 1 tests passed
==================
make[2]: Opuszczenie katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/jnlib'
make[1]: Opuszczenie katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/jnlib'
Making check in common
make[1]: Wejście do katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/common'
make  check-TESTS
make[2]: Wejście do katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/common'
PASS: t-convert
PASS: t-gettime
PASS: t-sysutils
==================
All 3 tests passed
==================
make[2]: Opuszczenie katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/common'
make[1]: Opuszczenie katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/common'
Making check in kbx
make[1]: Wejście do katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/kbx'
make[1]: Nie ma nic do zrobienia w `check'.
make[1]: Opuszczenie katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/kbx'
Making check in g10
make[1]: Wejście do katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/g10'
make[1]: Nie ma nic do zrobienia w `check'.
make[1]: Opuszczenie katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/g10'
Making check in keyserver
make[1]: Wejście do katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/keyserver'
make[1]: Nie ma nic do zrobienia w `check'.
make[1]: Opuszczenie katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/keyserver'
Making check in sm
make[1]: Wejście do katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/sm'
make[1]: Nie ma nic do zrobienia w `check'.
make[1]: Opuszczenie katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/sm'
Making check in agent
make[1]: Wejście do katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/agent'
make  check-TESTS
make[2]: Wejście do katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/agent'
PASS: t-protect
==================
All 1 tests passed
==================
make[2]: Opuszczenie katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/agent'
make[1]: Opuszczenie katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/agent'
Making check in tools
make[1]: Wejście do katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/tools'
make[1]: Nie ma nic do zrobienia w `check'.
make[1]: Opuszczenie katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/tools'
Making check in po
make[1]: Wejście do katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/po'
make[1]: Nie ma nic do zrobienia w `check'.
make[1]: Opuszczenie katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/po'
Making check in doc
make[1]: Wejście do katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/doc'
make  check-am
make[2]: Wejście do katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/doc'
make[2]: Nie ma nic do zrobienia w `check-am'.
make[2]: Opuszczenie katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/doc'
make[1]: Opuszczenie katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/doc'
Making check in tests
make[1]: Wejście do katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/tests'
Making check in openpgp
make[2]: Wejście do katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/tests/openpgp'
make  check-TESTS
make[3]: Wejście do katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/tests/openpgp'
gpg (GnuPG) 2.0.7
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: .
Supported algorithms:
Pubkey: RSA, ELG, DSA, ELG
Cipher: 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512
Compression: Uncompressed, ZIP, ZLIB
PASS: version.test
Hash algorithm SHA-224 is not installed (not an error)
PASS: mds.test
PASS: decrypt.test
PASS: decrypt-dsa.test
PASS: sigs.test
PASS: sigs-dsa.test
PASS: encrypt.test
PASS: encrypt-dsa.test
PASS: seat.test
PASS: clearsig.test
PASS: encryptp.test
PASS: detach.test
PASS: armsigs.test
PASS: armencrypt.test
PASS: armencryptp.test
PASS: signencrypt.test
PASS: signencrypt-dsa.test
PASS: armsignencrypt.test
PASS: armdetach.test
PASS: armdetachm.test
PASS: detachm.test
PASS: genkey1024.test
PASS: conventional.test
PASS: conventional-mdc.test
PASS: multisig.test
PASS: verify.test
PASS: armor.test
===================
All 27 tests passed
===================
make[3]: Opuszczenie katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/tests/openpgp'
make[2]: Opuszczenie katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/tests/openpgp'
make[2]: Wejście do katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/tests'
make  check-TESTS
make[3]: Wejście do katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/tests'
asschk: read_assuan: received incomplete line on fd 7
FAIL: sm-sign+verify
PASS: sm-verify
====================================
1 of 2 tests failed
Please report to bug-gnupg@gnupg.org
====================================
make[3]: *** [check-TESTS] Błąd 1
make[3]: Opuszczenie katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/tests'
make[2]: *** [check-am] Błąd 2
make[2]: Opuszczenie katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/tests'
make[1]: *** [check-recursive] Błąd 1
make[1]: Opuszczenie katalogu `/var/tmp/portage/app-crypt/gnupg-2.0.7/work/gnupg-2.0.7/tests'
make: *** [check-recursive] Błąd 1
 * 
 * ERROR: app-crypt/gnupg-2.0.7 failed.
 * Call stack:
 *   ebuild.sh, line 1654:   Called dyn_test
 *   ebuild.sh, line 1053:   Called qa_call 'src_test'
 *   ebuild.sh, line 44:   Called src_test
 *   ebuild.sh, line 670:   Called die
 * 
 * Make check failed. See above for details.
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/log/portage/app-crypt:gnupg-2.0.7:20070919-104744.log'.


Reproducible: Always
Comment 1 Michał Kiedrowicz 2007-09-19 11:08:03 UTC
Created attachment 131287 [details]
emerge log
Comment 2 Michał Kiedrowicz 2007-09-19 11:08:47 UTC
Created attachment 131288 [details]
emerge info
Comment 3 Alon Bar-Lev (RETIRED) gentoo-dev 2007-09-19 20:27:45 UTC
Please set LANG="C" and paste results again.
Comment 4 Michał Kiedrowicz 2007-09-19 21:25:44 UTC
(In reply to comment #3)
> Please set LANG="C" and paste results again.
> 

I'm not sure if I understand You well. If You want English only output, here You are:

Comment 5 Michał Kiedrowicz 2007-09-19 21:26:28 UTC
Created attachment 131342 [details]
English only emerge log
Comment 6 Alon Bar-Lev (RETIRED) gentoo-dev 2007-09-19 21:47:33 UTC
Please edit:
tests/runtest
Add --verbose after asschk and paste output of:
cd tests
LANG="C" make check-TESTS
Comment 7 Michał Kiedrowicz 2007-09-19 21:56:37 UTC
Created attachment 131345 [details]
output of `LANG="C" make check-TESTS`
Comment 8 Alon Bar-Lev (RETIRED) gentoo-dev 2007-09-20 05:49:29 UTC
Thanks.

Please:
1. Edit your tests/gpgsm.conf, add: debug-allow-core-dump
2. Execute:
$ ulimit -S -c unlimited
3. Execute:
$ LANG="C" make check-TESTS
4. Execute and paste output:
$ gdb -c core
(gdb) thread apply all bt

---

What makes it difficult to determine the cause is that you use all none stable system and amd64... If you have stable amd64 (gcc, glibc) machine, please try to reproduce it there.

Comment 9 Michał Kiedrowicz 2007-09-20 20:20:24 UTC
I only got this:

Core was generated by `gpgsm --server'.
Program terminated with signal 11, Segmentation fault.
#0  0x00002ba8e1576bd8 in ?? ()
(gdb) thread apply all bt full

Thread 1 (process 23483):
#0  0x00002ba8e1576bd8 in ?? ()
No symbol table info available.

I'm afraid it won't help...

I'm now compiling glibc with 'debug' USE flag, maybe that will change anything.

If You want, I can use some stable packages (I have gcc-3.4.6-r2 and I can easily emerge stable glibc), but I don't have stable amd64.

Comment 10 Michał Kiedrowicz 2007-09-20 20:21:52 UTC
Created attachment 131450 [details]
output of `LANG="C" strace -o strace-result make check-TESTS`
Comment 11 Michał Kiedrowicz 2007-09-20 20:27:59 UTC
Created attachment 131451 [details]
output of `LANG="C" strace -f -F -o strace-result make check-TESTS `
Comment 12 Michał Kiedrowicz 2007-09-20 21:03:05 UTC
from strace putput:

14807 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b8a9e009000
14807 lseek(3, 0, SEEK_CUR)             = 0
14807 dup(5)                            = 4
14807 fcntl(4, F_GETFL)                 = 0x8000 (flags O_RDONLY|O_LARGEFILE)
14807 fstat(4, {st_mode=S_IFREG|0644, st_size=2276, ...}) = 0
14807 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b8a9e00a000
14807 lseek(4, 0, SEEK_CUR)             = 0
14807 read(4, "0\200\6\t*\206H\206\367\r\1\7\2\240\2000\200\2\1\0011\v0\t\6\5+\16\3\2\32\5"..., 4096) = 2276
14807 read(4, "", 4096)                 = 0
14807 --- SIGSEGV (Segmentation fault) @ 0 (0) ---
14807 munmap(0x2b8a9e003000, 16384)     = 0
14807 write(2, "\n", 1)                 = 1
14807 write(2, "gpgsm", 5)              = 5
14807 write(2, ": signal ", 9)          = 9
14807 write(2, "Segmentation fault", 18) = 18
14807 write(2, " caught ... exiting\n", 20) = 20
14807 rt_sigaction(SIGSEGV, {SIG_DFL}, NULL, 8) = 0
14807 tgkill(14807, 14807, SIGSEGV)     = 0
14807 rt_sigreturn(0x39d7)              = 243
14807 --- SIGSEGV (Segmentation fault) @ 0 (0) ---

14807 duplicates 5 file descriptor (but I can't find out what it is... :/) then he reads some data, again he reads and then he gets SIGSEGV.
Comment 13 Alon Bar-Lev (RETIRED) gentoo-dev 2007-09-21 14:31:23 UTC
amd64: it will be helpfull if anyone else can reproduce this.
Thanks!
Comment 14 Alon Bar-Lev (RETIRED) gentoo-dev 2007-09-22 17:00:07 UTC
vytautas: Can you please paste emerge --info?
Comment 15 Alon Bar-Lev (RETIRED) gentoo-dev 2007-09-22 21:13:53 UTC
Can you please put the followings in tests/gpgsm.conf:
log-file /tmp/gpgsm.log
debug-all

Can you please see if you can reproduce this with:
$ LANG="C" GNUPGHOME="." ../sm/gpgsm --verify text-1.osig.pem
$ LANG="C" GNUPGHOME="." ../sm/gpgsm --verify text-1.dsig.pem

If you can please attach /tmp/gpgsm.log

Anyway... The function failing should be:
sm/verify.c::gpgsm_verify

Adding some printf()s will allow you to pinpoint the location.

Thanks!
Comment 16 Alon Bar-Lev (RETIRED) gentoo-dev 2007-09-22 21:14:30 UTC
Created attachment 131640 [details, diff]
gnupg-2.0.7-asschk.patch

This will enable you to run the tests with debug enabled.
Comment 17 Vytautas Jakutis 2007-09-23 09:38:17 UTC
Created attachment 131670 [details]
emerge info
Comment 18 Vytautas Jakutis 2007-09-23 10:00:19 UTC
Created attachment 131671 [details]
gpgsm.log
Comment 19 Vytautas Jakutis 2007-09-23 10:00:56 UTC
Created attachment 131673 [details]
gpgsm.text-1.osig.pem.log
Comment 20 Vytautas Jakutis 2007-09-23 10:01:10 UTC
Created attachment 131675 [details]
gpgsm.text-1.dsig.pem.log
Comment 21 Vytautas Jakutis 2007-09-23 10:03:09 UTC
Created attachment 131677 [details]
gpgsm-debug.log
Comment 22 Alon Bar-Lev (RETIRED) gentoo-dev 2007-09-23 21:01:31 UTC
Just to make sure... gnupg-2.0.6 worked, right?
Comment 23 Michał Kiedrowicz 2007-09-23 21:38:13 UTC
(In reply to comment #22)
> Just to make sure... gnupg-2.0.6 worked, right?
> 

Trying just versions from portage, only 1.4.7-r1 emerged with FEATURES="test" (but afaik this version doesn't have tests that fails in other ones). I will try 2.0.6.
Comment 24 Michał Kiedrowicz 2007-09-23 21:58:46 UTC
2.0.6 didn't work either.

(In reply to comment #15)
> Can you please put the followings in tests/gpgsm.conf:
> log-file /tmp/gpgsm.log
> debug-all
> 
> Can you please see if you can reproduce this with:
> $ LANG="C" GNUPGHOME="." ../sm/gpgsm --verify text-1.osig.pem
> $ LANG="C" GNUPGHOME="." ../sm/gpgsm --verify text-1.dsig.pem
> 
> If you can please attach /tmp/gpgsm.log
> 
> Anyway... The function failing should be:
> sm/verify.c::gpgsm_verify
> 
> Adding some printf()s will allow you to pinpoint the location.
> 
> Thanks!
> 
$ LANG="C" GNUPGHOME="." ../sm/gpgsm --verify text-1.osig.pem
gpgsm: WARNING: program may create a core file!
gpgsm: WARNING: running with faked system time: 2002-12-02 13:29:59
gpgsm: DBG: signer 0 - issuer: `CN=test cert 1,OU=Aegypten Project,O=g10 Code GmbH,L=Düsseldorf,C=DE'
gpgsm: DBG: signer 0 - serial: 00
gpgsm: DBG: signer 0 - digest algo: 2
gpgsm: DBG: signer 0 - signature available
gpgsm: Signature made 2002-08-08 12:22:46 using certificate ID 0x33BDB76E
gpgsm: DBG: public key:  28 31 30 3A 70 75 62 6C 69 63 2D 6B 65 79 28 33 3A 72 73 61 28 31 3A 6E 31 32 39 3A 00 E0 CE 96 F9 0B 6C 9E 02 F3 92 2B EA DA 93 FE 50 A8 75 EA C6 BC C1 8B B9 A9 CF 2E 84 96 5C AA 2D 1F F9 5A 7F 54 24 65 C6 C0 C1 9D 27 6E 45 26 CE 04 88 68 A7 A9 14 FD 34 3C C3 A8 7D D7 42 91 FF C5 65 50 6D 5B BB 25 CB AC 6A 0E 2D D1 F8 BC AA B0 D4 A2 9C 2F 37 C9 50 F3 63 48 4B F2 69 F7 89 14 40 46 4B AF 79 82 7E 03 A3 6E 70 B8 14 93 8E EB DC 63 E9 64 24 7B E7 5D C5 8B 01 4B 7E A2 51 29 28 31 3A 65 33 3A 01 00 01 29 29 29
gpgsm: DBG: encoded hash: 00 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 30 21 30 09 06 05 2B 0E 03 02 1A 05 00 04 14 9D B7 DB 7C 6D 5A 95 E1 04 4B A5 88 71 6A FA E2 7E 4C A5 FD
DBG: pubkey_verify: algo=1
  pkey:: E0CE96F90B6C9E02F3922BEADA93FE50A875EAC6BCC18BB9A9CF2E84965CAA2D1FF95A7F542465C6C0C19D276E4526CE048868A7A914FD343CC3A87DD74291FFC565506D5BBB25CBAC6A0E2DD1F8BCAAB0D4A29C2F37C950F363484BF269F7891440464BAF79827E03A36E70B814938EEBDC63E964247BE75DC58B014B7EA251
  pkey:: 10001
   sig:: BEEEB16D7A03FCBFE679C88E021FFD18E112B8F03335A05312CF8C724A911115393DA7944F04384EA9A680095294766356EB1609005A39DED4316C14D9D76C2872D14B6CB9BDAECFC5E93CF624803D1B1A5722790A61DBE46951DBA6F11081EA1ECC57387DDE3207CEE482AE3365356215C089DCEBE36E80AEF65B487889FBDC
  hash:: 1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF003021300906052B0E03021A050004149DB7DB7C6D5A95E1044BA588716AFAE27E4CA5FD
gpgsm: DBG: gcry_pk_verify: Sukces
gpgsm: DBG: signature okay - checking certs
gpgsm: DBG: BEGIN Certificate `target':
gpgsm: DBG:      serial: 00
gpgsm: DBG:   notBefore: 2001-12-03 09:36:38
gpgsm: DBG:    notAfter: 2002-12-03 09:36:38
gpgsm: DBG:      issuer: CN=test cert 1,OU=Aegypten Project,O=g10 Code GmbH,L=Düsseldorf,C=DE
gpgsm: DBG:     subject: CN=test cert 1,OU=Aegypten Project,O=g10 Code GmbH,L=Düsseldorf,C=DE
gpgsm: DBG:   hash algo: 1.2.840.113549.1.1.4
gpgsm: DBG:   SHA1 Fingerprint: 3C:F4:05:46:4F:66:ED:4A:7D:F4:5B:BD:D1:E4:28:2E:33:BD:B7:6E
gpgsm: DBG: END Certificate
gpgsm: no running gpg-agent - starting one
gpgsm: DBG: connection to agent established
gpgsm: CRLs not checked due to --disable-crl-checks option
gpgsm: validation model used: shell
gpgsm: Good signature from "/CN=test cert 1/OU=Aegypten Project/O=g10 Code GmbH/L=Düsseldorf/C=DE"
random usage: poolsize=600 mixed=0 polls=0/0 added=0/0
              outmix=0 getlvl1=0/0 getlvl2=0/0
secmem usage: 0/16384 bytes in 0 blocks

$ LANG="C" GNUPGHOME="." ../sm/gpgsm --verify text-1.dsig.pem
gpgsm: WARNING: program may create a core file!
gpgsm: WARNING: running with faked system time: 2002-12-02 13:29:59
gpgsm: detached signature
gpgsm: detached signature w/o data - assuming certs-only
gpgsm: DBG: signer 0 - issuer: `CN=test cert 1,OU=Aegypten Project,O=g10 Code GmbH,L=Düsseldorf,C=DE'
gpgsm: DBG: signer 0 - serial: 00
gpgsm: DBG: signer 0 - digest algo: 2
gpgsm: DBG: signer 0 - signature available
gpgsm: Signature made 2002-08-08 12:22:54 using certificate ID 0x33BDB76E
gpgsm: invalid signature: message digest attribute does not match calculated one
random usage: poolsize=600 mixed=0 polls=0/0 added=0/0
              outmix=0 getlvl1=0/0 getlvl2=0/0
secmem usage: 0/16384 bytes in 0 blocks
Comment 25 Michał Kiedrowicz 2007-09-23 22:49:40 UTC
(In reply to comment #15)
> 
> Anyway... The function failing should be:
> sm/verify.c::gpgsm_verify
> 
> Adding some printf()s will allow you to pinpoint the location.
> 
> Thanks!
> 

I've put 'printf("#DEBUG: start\n");' at the beginning of 'gpgsm_verify', but I did't see it before SIGSEG:

sending `OUTPUT FD=6'
expecting OK
read_assuan: read "OK
"
sending `VERIFY'
expecting OK

gpgsm: signal Segmentation fault caught ... exiting
read_assuan: read ""
asschk: read_assuan: received incomplete line on fd 7
FAIL: sm-sign+verify
gpgsm: WARNING: running with faked system time: 2002-12-02 13:29:59
read_assuan: read "OK GNU Privacy Guard's S/M server 2.0.7 ready
"
sending `INPUT FD=3'
expecting OK
read_assuan: read "OK
"
sending `OUTPUT FD=4'
expecting OK
read_assuan: read "OK
"
sending `VERIFY'
expecting OK
read_assuan: read "S NEWSIG
"
gpgsm: Signature made 2002-08-08 12:22:46 using certificate ID 0x33BDB76E
gpgsm[20469]: can't connect to `/home/esqualante/src/gnupg-2.0.7/tests/S.gpg-agent': No such file or directory
read_assuan: read "S PROGRESS starting_agent ? 0 0
"
read_assuan: read "#DEBUG: start

As you can see I got my printf after "S NEWSIG". So this SIGSEGV is before calling gpgsm_verify or "printf" won't be useful here...
Comment 26 Alon Bar-Lev (RETIRED) gentoo-dev 2007-09-24 11:25:46 UTC
(In reply to comment #25)
> As you can see I got my printf after "S NEWSIG". So this SIGSEGV is before
> calling gpgsm_verify or "printf" won't be useful here...

Can you please do the same for several places at:
sm/server.c::cmd_verify

Thanks!
Comment 27 Michał Kiedrowicz 2007-09-24 15:18:08 UTC
I looked for the place where gpg causes SIGSEGV and I found it is in

sm/verify.c:160
      rc = ksba_cms_parse (cms, &stopreason);

So I checked other versions of libksba, reemerged libksba-1.0.2... and SIGSEGV is gone! Every version of gnupg passes sm-sign+verify test and now I can't reproduce this issue.

vytautas: Can you reemerge libksba (and maybe libassuan) and check it out?
Comment 28 Alon Bar-Lev (RETIRED) gentoo-dev 2007-09-24 15:49:34 UTC
> So I checked other versions of libksba, reemerged libksba-1.0.2... and SIGSEGV
> is gone! Every version of gnupg passes sm-sign+verify test and now I can't
> reproduce this issue.

These are great news!!!
I wounder why you did not have the latest as you accept ~amd64...

We will wait for vytautas results.
Comment 29 Vytautas Jakutis 2007-09-24 16:54:31 UTC
reemerged libksba => no tests failed :]
Comment 30 Michał Kiedrowicz 2007-09-24 17:44:42 UTC
(In reply to comment #28)
> These are great news!!!
> I wounder why you did not have the latest as you accept ~amd64...
> 
> We will wait for vytautas results.
> 

Well, I had latest libksba. During testing I downgraded it, noticed tests pass and upgraded to later versions. Then I found it works with latest version too. 

Maybe I just needed revdep-rebuild?
Comment 31 Vytautas Jakutis 2007-09-24 17:58:15 UTC
i have tried revdep-rebuild before. did not detect anything wrong
Comment 32 Alon Bar-Lev (RETIRED) gentoo-dev 2007-09-24 21:02:51 UTC
This is strange... something was changed since you last merge this package... Maybe some profile updates caused this...
Strange...
I am closing this for now, please feel free to re-open if you guess what happened.