Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Sep 2011 17:42:21 +0200
From:      Jeremie Le Hen <jeremie@le-hen.org>
To:        Kostik Belousov <kostikbel@gmail.com>
Cc:        freebsd-current@freebsd.org, Jeremie Le Hen <jeremie@le-hen.org>, David Xu <davidxu@freebsd.org>, Peter Pentchev <roam@ringlet.net>
Subject:   Re: Segfault in libthr.so on 9.0-BETA2 (with stunnel FWIW)
Message-ID:  <20110914154221.GB7863@felucia.tataz.chchile.org>
In-Reply-To: <20110914125953.GX17489@deviant.kiev.zoral.com.ua>
References:  <20110914123607.GM65366@felucia.tataz.chchile.org> <20110914125953.GX17489@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Sep 14, 2011 at 03:59:53PM +0300, Kostik Belousov wrote:
> On Wed, Sep 14, 2011 at 02:36:07PM +0200, Jeremie Le Hen wrote:
> > Hi list,
> > 
> > I've recently migrated my services from a box running 8.1-STABLE to
> > another one running 9.0-BETA2.
> > 
> > I run stunnel 4.28 on 8.1-STABLE, and it has run flawlessly so far.  I
> > compiled manually this very version on 9.0-BETA2.  But I get the
> > following segfault:
> > 
> >     Program received signal SIGSEGV, Segmentation fault.
> >     [Switching to Thread 803008c00 (LWP 100496/stunnel)]
> >     0x000000080110d359 in gmtime_r () from /lib/libc.so.7
> >     (gdb) thread
> >     [Current thread is 3 (Thread 803008c00 (LWP 100496/stunnel))]
> >     (gdb) bt
> >     #0  0x000000080110d359 in gmtime_r () from /lib/libc.so.7
> >     #1  0x000000080110cdde in gmtime_r () from /lib/libc.so.7
> >     #2  0x000000080110dab4 in gmtime_r () from /lib/libc.so.7
> >     #3  0x000000080110dcc8 in gmtime_r () from /lib/libc.so.7
> >     #4  0x0000000800e1d9e8 in pthread_once () from /lib/libthr.so.3
> >     #5  0x000000080110ca9f in timegm () from /lib/libc.so.7
> >     #6  0x0000000805dff8d9 in OPENSSL_gmtime () from /usr/local/lib/libcrypto.so.7
> >     #7  0x0000000805e74631 in ASN1_UTCTIME_adj () from /usr/local/lib/libcrypto.so.7
> >     #8  0x0000000805e9462d in X509_time_adj_ex () from /usr/local/lib/libcrypto.so.7
> >     #9  0x0000000805e9478c in X509_cmp_time () from /usr/local/lib/libcrypto.so.7
> >     #10 0x0000000805e9496d in internal_verify () from /usr/local/lib/libcrypto.so.7
> >     #11 0x0000000805e95f46 in X509_verify_cert () from /usr/local/lib/libcrypto.so.7
> >     #12 0x0000000805b7f4c8 in ssl_verify_cert_chain () from /usr/local/lib/libssl.so.7
> >     #13 0x0000000805b5d6e3 in ssl3_get_client_certificate () from /usr/local/lib/libssl.so.7
> >     #14 0x0000000805b612bc in ssl3_accept () from /usr/local/lib/libssl.so.7
> >     #15 0x0000000000406f6e in init_ssl (c=0x803093000) at client.c:329
> >     #16 0x00000000004069a6 in do_client (c=0x803093000) at client.c:202
> >     #17 0x000000000040676b in run_client (c=0x803093000) at client.c:150
> >     #18 0x00000000004066cf in client (arg=0x803093000) at client.c:123
> >     #19 0x0000000800e18224 in pthread_getprio () from /lib/libthr.so.3
> >     #20 0x0000000000000000 in ?? ()
> > 
> > 
> > Note that I tried with the newest version of stunnel, it crashes at the
> > same place.  I also tried libssl.so both from the base system and from
> > the ports, same thing.
> 
> You need to compile both libc and libthr with debugging symbols and
> do a backtrace with such libraries.

Here it is:

#0  0x0000000807509359 in tzload (name=0x807536281 "posixrules", sp=0x7fffffbf8e80, doextend=0)
    at /usr/src/lib/libc/../../contrib/tzcode/stdtime/localtime.c:393
#1  0x0000000807508dde in tzparse (name=0x7fffffbeec95 "", sp=0x7fffffbf8e80, lastditch=Variable "lastditch" is not available.
)
    at /usr/src/lib/libc/../../contrib/tzcode/stdtime/localtime.c:1001
#2  0x0000000807509ab4 in tzload (name=Variable "name" is not available.
) at /usr/src/lib/libc/../../contrib/tzcode/stdtime/localtime.c:579
#3  0x0000000807509cc8 in gmtload (sp=0x80776f6c0) at /usr/src/lib/libc/../../contrib/tzcode/stdtime/localtime.c:1196
#4  0x000000080ce5d9e8 in _pthread_once (once_control=0x80776af00, init_routine=0x807509cf0 <gmt_init>)
    at /usr/src/lib/libthr/thread/thr_once.c:87
#5  0x0000000807508a9f in gmtsub (timep=0x7fffffbfdaf8, offset=0, tmp=0x7fffffbfdb00)
    at /usr/src/lib/libc/../../contrib/tzcode/stdtime/localtime.c:1485
#6  0x000000080e7e58d9 in OPENSSL_gmtime () from /usr/local/lib/libcrypto.so.7
#7  0x000000080e85a631 in ASN1_UTCTIME_adj () from /usr/local/lib/libcrypto.so.7
#8  0x000000080e87a62d in X509_time_adj_ex () from /usr/local/lib/libcrypto.so.7
#9  0x000000080e87a78c in X509_cmp_time () from /usr/local/lib/libcrypto.so.7
#10 0x000000080e87a96d in internal_verify () from /usr/local/lib/libcrypto.so.7
#11 0x000000080e87bf46 in X509_verify_cert () from /usr/local/lib/libcrypto.so.7
#12 0x0000000809ec94c8 in ssl_verify_cert_chain () from /usr/local/lib/libssl.so.7
#13 0x0000000809ea76e3 in ssl3_get_client_certificate () from /usr/local/lib/libssl.so.7
#14 0x0000000809eab2bc in ssl3_accept () from /usr/local/lib/libssl.so.7
#15 0x00000000004076f9 in ?? ()
#16 0x00000000004082cf in ?? ()
#17 0x0000000000408c50 in ?? ()
#18 0x0000000000408d17 in ?? ()
#19 0x000000080ce58224 in thread_start (curthread=0x80d408c00) at /usr/src/lib/libthr/thread/thr_create.c:284
#20 0x0000000000000000 in ?? ()
Error accessing memory address 0x7fffffbfe000: Bad address.


-- 
Jeremie Le Hen

Men are born free and equal.  Later on, they're on their own.
				Jean Yanne



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