You are correct, we are getting a SIGBUS. Solaris SPARC does not allow
unaligned data access:
(dbx) run
Running: asn1_encode_test
(process id 11159)
Reading libc_psr.so.1
Reading libscf.so.1
Reading libdoor.so.1
Reading libuutil.so.1
Reading libgen.so.1
Reading libmd.so.1
Reading libmp.so.2
1..6
ok 1 - test_long_32bit
# ASN1_LONG_DATA:
# success: TRUE
t@1 (l@1) signal BUS (invalid address alignment) in asn1_item_print_ctx
at line 155 in file "tasn_prn.c"
155 || (it->utype != V_ASN1_BOOLEAN)) && *fld == NULL) {
(dbx) where
current thread: t@1
=>[1] asn1_item_print_ctx(out = 0x1001453c0, fld = 0xffffffff7fffd6dc,
indent = 2, it = 0xffffffff7f3a29f0, fname = 0x100033ad8 "test_long",
sname = (nil), nohdr = 0, pctx = 0xffffffff7f39e8f8), line 155 in
"tasn_prn.c"
[2] asn1_template_print_ctx(out = 0x1001453c0, fld =
0xffffffff7fffd6dc, indent = 2, tt = 0x100137808, pctx =
0xffffffff7f39e8f8), line 328 in "tasn_prn.c"
[3] asn1_item_print_ctx(out = 0x1001453c0, fld = 0xffffffff7fffd5e0,
indent = 0, it = 0x1001376c8, fname = (nil), sname = 0x100033af8
"ASN1_LONG_DATA", nohdr = 0, pctx = 0xffffffff7f39e8f8), line 241 in
"tasn_prn.c"
[4] ASN1_item_print(out = 0x1001453c0, ifld = 0xffffffff7fffd6d4,
indent = 0, it = 0x1001376c8, pctx = 0xffffffff7f39e8f8), line 131 in
"tasn_prn.c"
[5] do_print_item(package = 0x100135e68), line 720 in
"asn1_encode_test.c"
[6] test_intern(package = 0x100135e68), line 815 in "asn1_encode_test.c"
[7] test_long_64bit(), line 832 in "asn1_encode_test.c"
[8] run_tests(test_prog_name = 0xffffffff7fffef88
"/hamburg4/users/normg/gs64trunk/slow10/openssl_1.1/test/asn1_encode_test"),
line 205 in "driver.c"
[9] main(argc = 1, argv = 0xffffffff7fffec08), line 51 in "main.c"
(dbx)
On 2/19/2018 1:30 PM, Viktor Dukhovni wrote:
On Feb 19, 2018, at 4:20 PM, Norm Green <norm.green@xxxxxxxxxxxxxxxxxx> wrote:
/export/localnew/sparc.Solaris/bin/gmake depend && /export/localnew/sparc.Solaris/bin/gmake _tests
gmake[1]: Entering directory '/hamburg4/users/normg/gs64trunk/slow10/openssl_1.1'
gmake[1]: Leaving directory '/hamburg4/users/normg/gs64trunk/slow10/openssl_1.1'
gmake[1]: Entering directory '/hamburg4/users/normg/gs64trunk/slow10/openssl_1.1'
( cd test; \
mkdir -p test-runs; \
SRCTOP=../. \
BLDTOP=../. \
RESULT_D=test-runs \
PERL="/opt/perl-5.24.0/bin/perl" \
EXE_EXT= \
OPENSSL_ENGINES=`cd .././engines; pwd` \
OPENSSL_DEBUG_MEMORY=on \
/opt/perl-5.24.0/bin/perl .././test/run_tests.pl test_asn1_encode test_secmem )
../test/recipes/04-test_asn1_encode.t ..
1..1
# Subtest: ../../test/asn1_encode_test
1..6
ok 1 - test_long_32bit
# ASN1_LONG_DATA:
# success: TRUE
../../util/shlib_wrap.sh ../../test/asn1_encode_test => 138
On FreeBSD signal 10 (128 + 10 == 138) is SIGBUS, which could be a result of unaligned
data access (please report "kill -l" output to confirm the signal numbers).
Could you run this test under gdb, or enable core dumps, and report the stack trace?
You may need a build with debugging symbols.
--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users