Re: Segfault in libthr.so on 9.0-BETA2 (with stunnel FWIW)

From: Jeremie Le Hen <jeremie_at_le-hen.org>
Date: Wed, 14 Sep 2011 17:42:21 +0200
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
Received on Wed Sep 14 2011 - 13:42:31 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:17 UTC