>>> 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
Created attachment 131287 [details] emerge log
Created attachment 131288 [details] emerge info
Please set LANG="C" and paste results again.
(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:
Created attachment 131342 [details] English only emerge log
Please edit: tests/runtest Add --verbose after asschk and paste output of: cd tests LANG="C" make check-TESTS
Created attachment 131345 [details] output of `LANG="C" make check-TESTS`
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.
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.
Created attachment 131450 [details] output of `LANG="C" strace -o strace-result make check-TESTS`
Created attachment 131451 [details] output of `LANG="C" strace -f -F -o strace-result make check-TESTS `
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.
amd64: it will be helpfull if anyone else can reproduce this. Thanks!
vytautas: Can you please paste emerge --info?
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!
Created attachment 131640 [details, diff] gnupg-2.0.7-asschk.patch This will enable you to run the tests with debug enabled.
Created attachment 131670 [details] emerge info
Created attachment 131671 [details] gpgsm.log
Created attachment 131673 [details] gpgsm.text-1.osig.pem.log
Created attachment 131675 [details] gpgsm.text-1.dsig.pem.log
Created attachment 131677 [details] gpgsm-debug.log
Just to make sure... gnupg-2.0.6 worked, right?
(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.
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
(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...
(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!
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?
> 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.
reemerged libksba => no tests failed :]
(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?
i have tried revdep-rebuild before. did not detect anything wrong
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.