svn commit: r319971 - in head: contrib/jemalloc contrib/jemalloc/doc contrib/jemalloc/include/jemalloc contrib/jemalloc/include/jemalloc/internal contrib/jemalloc/src include lib/libc/stdlib/jemalloc

John Baldwin jhb at freebsd.org
Mon Jan 22 18:57:38 UTC 2018


On Monday, January 22, 2018 06:32:10 AM Alexey Dokuchaev wrote:
> On Thu, Jan 18, 2018 at 10:10:31AM +0000, Alexey Dokuchaev wrote:
> > On Sat, Jan 13, 2018 at 05:04:30PM +0000, Alexey Dokuchaev wrote:
> > > On Thu, Jun 15, 2017 at 07:15:06AM +0000, Jason Evans wrote:
> > > > New Revision: 319971
> > > > URL: https://svnweb.freebsd.org/changeset/base/319971
> > > > 
> > > > Log:
> > > >   Update jemalloc to 5.0.0.
> > > 
> > > I've finally bisected the problem of `games/quake2lnx' failing to start
> > > (hanging) in GLX mode down to this commit.  Reverting it and making "all
> > > install" under `/usr/src/lib/libc' restores correct operation.
> > > 
> > > If I run it as ``env LD_PRELOAD=/lib/libthr.so.3 quake2 ...'' it starts
> > > normally.  Do you have any ideas what might have broken it?  Is this a
> > > problem with how the Quake2 binary is linked, or with jemalloc?
> > > 
> > > To reproduce:
> > > 
> > >   $ cd /usr/ports/games/quake2lnx && make all install
> > >   $ quake2 +set vid_ref glx
> > 
> > Last two comments in https://github.com/jemalloc/jemalloc/issues/907
> > (October 10th-ish) could be related...
> 
> I've just found out that similar bug was already reported back in July:
> 
>     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=220767
> 
> ./danfe

I wonder if it is tripping over pthread_once not working in libc.  The stub
for pthread_once in libc is a nop and has been for a long time.  I added
a functioning stub (called _libc_once) to libc for it's internal use (there
is a _once() wrapper that will call _pthread_once when using libpthread and
_libc_once otherwise).  It might be interesting to build jemalloc with
'-Dpthread_once=_once' to see if that makes a difference?

-- 
John Baldwin


More information about the svn-src-all mailing list