> On August 4, 2016 at 7:38 PM aki.tu...@dovecot.fi wrote:
> 
> 
> 
> > On August 4, 2016 at 4:53 PM "Michael A. Peters" <mpet...@domblogger.net> 
> > wrote:
> > 
> > 
> > On 08/04/2016 06:50 AM, aki.tu...@dovecot.fi wrote:
> > >
> > >> On August 4, 2016 at 4:19 PM "Michael A. Peters" 
> > >> <mpet...@domblogger.net> wrote:
> > >>
> > >>
> > >> On 08/04/2016 06:13 AM, Aki Tuomi wrote:
> > >>>
> > >>>
> > >>> On 04.08.2016 16:11, Michael A. Peters wrote:
> > >>>> Operating system - 64 bit CentOS 7
> > >>>> gcc-4.8.5-4.el7.x86_64
> > >>>>
> > >>>> Building against LibreSSL which has been fine for other releases, but
> > >>>> it is a crypto test that is fails.
> > >>>>
> > >>>> Tried with LibreSSL 2.4.2 and 2.3.6 - both the build completes but
> > >>>> fails the make check
> > >>>>
> > >>>> Dovecot 2.2.24 passes make check on both.
> > >>>>
> > >>>> This is where it fails:
> > >>>>
> > >>>> Making check in lib-dcrypt
> > >>>> make[2]: Entering directory
> > >>>> `/home/alice/rpmbuild/BUILD/dovecot-2.2.25/src/lib-dcrypt'
> > >>>> for bin in test-crypto test-stream; do \
> > >>>>   if ! /bin/sh ../../run-test.sh ../.. ./$bin; then exit 1; fi; \
> > >>>> done
> > >>>> ../../run-test.sh: line 21: 22369 Segmentation fault      (core
> > >>>> dumped) valgrind -q --trace-children=yes --leak-check=full
> > >>>> --suppressions="$supp_path" --log-file=test.out.$$ $*
> > >>>> ==22369== Invalid read of size 8
> > >>>> ==22369==    at 0x113A47: dcrypt_ctx_sym_create (dcrypt.c:61)
> > >>>> ==22369==    by 0x119194: test_cipher_test_vectors (test-crypto.c:60)
> > >>>> ==22369==    by 0x1196F0: test_run_funcs (test-common.c:354)
> > >>>> ==22369==    by 0x119FC0: test_run (test-common.c:404)
> > >>>> ==22369==    by 0x113461: main (test-crypto.c:554)
> > >>>> ==22369==  Address 0x8 is not stack'd, malloc'd or (recently) free'd
> > >>>> ==22369==
> > >>>> ==22369==
> > >>>> ==22369== Process terminating with default action of signal 11 
> > >>>> (SIGSEGV)
> > >>>> ==22369==  Access not within mapped region at address 0x8
> > >>>> ==22369==    at 0x113A47: dcrypt_ctx_sym_create (dcrypt.c:61)
> > >>>> ==22369==    by 0x119194: test_cipher_test_vectors (test-crypto.c:60)
> > >>>> ==22369==    by 0x1196F0: test_run_funcs (test-common.c:354)
> > >>>> ==22369==    by 0x119FC0: test_run (test-common.c:404)
> > >>>> ==22369==    by 0x113461: main (test-crypto.c:554)
> > >>>> ==22369==  If you believe this happened as a result of a stack
> > >>>> ==22369==  overflow in your program's main thread (unlikely but
> > >>>> ==22369==  possible), you can try to increase the size of the
> > >>>> ==22369==  main thread stack using the --main-stacksize= flag.
> > >>>> ==22369==  The main thread stack size used in this run was 8388608.
> > >>>> Failed to run: ./test-crypto
> > >>>> make[2]: *** [check-test] Error 1
> > >>>> make[2]: Leaving directory
> > >>>> `/home/alice/rpmbuild/BUILD/dovecot-2.2.25/src/lib-dcrypt'
> > >>>> make[1]: *** [check-recursive] Error 1
> > >>>> make[1]: Leaving directory
> > >>>> `/home/alice/rpmbuild/BUILD/dovecot-2.2.25/src'
> > >>>> make: *** [check-recursive] Error 1
> > >>>> error: Bad exit status from /var/tmp/rpm-tmp.Il5fdU (%check)
> > >>>>
> > >>>> Thanks for suggestions.
> > >>>
> > >>> Hi!
> > >>>
> > >>> can you please provide stack trace with gdb?
> > >>>
> > >>> gdb ./test-crypto
> > >>> r
> > >>> bt full
> > >>>
> > >>> Aki
> > >>>
> > >>
> > >> [alice@pern lib-dcrypt]$ gdb ./test-crypto
> > >> GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-80.el7
> > >> Copyright (C) 2013 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.  Type "show 
> > >> copying"
> > >> and "show warranty" for details.
> > >> This GDB was configured as "x86_64-redhat-linux-gnu".
> > >> For bug reporting instructions, please see:
> > >> <http://www.gnu.org/software/gdb/bugs/>...
> > >> Reading symbols from
> > >> /home/alice/rpmbuild/BUILD/dovecot-2.2.25/src/lib-dcrypt/test-crypto...done.
> > >> (gdb) r
> > >> Starting program:
> > >> /home/alice/rpmbuild/BUILD/dovecot-2.2.25/src/lib-dcrypt/./test-crypto
> > >>
> > >> Program received signal SIGSEGV, Segmentation fault.
> > >> 0x000055555555fa47 in dcrypt_ctx_sym_create (algorithm=0x55555557c12e
> > >> "AES-128-CBC", mode=DCRYPT_MODE_ENCRYPT, ctx_r=0x7fffffffdf30,
> > >> error_r=0x0) at dcrypt.c:61
> > >> 61               return dcrypt_vfs->ctx_sym_create(algorithm, mode, 
> > >> ctx_r, error_r);
> > >> Missing separate debuginfos, use: debuginfo-install
> > >> glibc-2.17-106.el7_2.6.x86_64
> > >> (gdb) bt full
> > >> #0  0x000055555555fa47 in dcrypt_ctx_sym_create
> > >> (algorithm=0x55555557c12e "AES-128-CBC", mode=DCRYPT_MODE_ENCRYPT,
> > >> ctx_r=0x7fffffffdf30, error_r=0x0) at dcrypt.c:61
> > >> No locals.
> > >
> > > Can you p dcrypt_vfs?
> > >
> > > Aki
> > >
> > 
> > (gdb) p dcrypt_vfs
> > $1 = (struct dcrypt_vfs *) 0x0
> > (gdb)
> 
> Af. This problem is because there is no openssl backend built with dcrypt, as 
> we don't have libressl support officially. I'll add code that checks that if 
> dcrypt initialization fails, the tests are skipped.
> 
> Aki

Fixed in 
https://github.com/dovecot/core/commit/b91d91633bf40f5fc8f962cc72faea8b867a181a

Aki

Reply via email to