Kamil Rytarowski <n...@gmx.com> writes: > On 01.02.2020 17:01, Ryo ONODERA wrote: >> Hi, >> >> pthread__error()s in pthread_equal() cause segfault >> during start of pkgsrc/www/firefox-72.0.2. >> >> Without pthread__error()s, www/firefox works fine >> like as follows. >> However I have no idea why I get segfaults. >> >> Could you take a look at this problem? >> >> Index: lib/libpthread/pthread.c >> =================================================================== >> RCS file: /cvsroot/src/lib/libpthread/pthread.c,v >> retrieving revision 1.162 >> diff -u -r1.162 pthread.c >> --- lib/libpthread/pthread.c 29 Jan 2020 17:11:57 -0000 1.162 >> +++ lib/libpthread/pthread.c 1 Feb 2020 15:58:03 -0000 >> @@ -770,11 +770,13 @@ >> if (__predict_false(__uselibcstub)) >> return __libc_thr_equal_stub(t1, t2); >> >> +#if 0 >> pthread__error(EINVAL, "Invalid thread", >> t1->pt_magic == PT_MAGIC); >> >> pthread__error(EINVAL, "Invalid thread", >> t2->pt_magic == PT_MAGIC); >> +#endif >> >> /* Nothing special here. */ >> return (t1 == t2); >> @@ -1108,7 +1110,7 @@ >> { >> char buf[1024]; >> size_t len; >> - >> + >> if (pthread__diagassert == 0) >> return; >> >> >> >> "Kamil Rytarowski" <ka...@netbsd.org> writes: >> >>> Module Name: src >>> Committed By: kamil >>> Date: Wed Jan 29 16:03:44 UTC 2020 >>> >>> Modified Files: >>> src/lib/libpthread: pthread.c pthread_getcpuclockid.c >>> >>> Log Message: >>> Chack thread->pt_magic with PT_MAGIC promptly >>> >>> Rearrange some checks to avoid verifying pthread_t after using it. >>> >>> >>> To generate a diff of this commit: >>> cvs rdiff -u -r1.160 -r1.161 src/lib/libpthread/pthread.c >>> cvs rdiff -u -r1.2 -r1.3 src/lib/libpthread/pthread_getcpuclockid.c >>> >>> Please note that diffs are not public domain; they are subject to the >>> copyright notices on the relevant files. >>> >> > > I will have a look, but it will take a while to build firefox for me.
Thank you. Of course I can wait. -- Ryo ONODERA // r...@tetera.org PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB FD1B F404 27FA C7D1 15F3