svn commit: r302194 - head/lib/libthr/thread

Ivan Klymenko fidaj at ukr.net
Sat Jun 25 16:03:51 UTC 2016


On Sat, 25 Jun 2016 18:20:06 +0300
Konstantin Belousov <kostikbel at gmail.com> wrote:

> On Sat, Jun 25, 2016 at 05:55:03PM +0300, Ivan Klymenko wrote:
> > On Sat, 25 Jun 2016 17:29:15 +0300
> > Konstantin Belousov <kostikbel at gmail.com> wrote:
> >   
> > > On Sat, Jun 25, 2016 at 05:18:00PM +0300, Ivan Klymenko wrote:  
> > > > On Sat, 25 Jun 2016 17:05:29 +0300
> > > > Konstantin Belousov <kostikbel at gmail.com> wrote:
> > > >     
> > > > > On Sat, Jun 25, 2016 at 05:04:06PM +0300, Ivan Klymenko
> > > > > wrote:    
> > > > > > On Sat, 25 Jun 2016 16:55:09 +0300
> > > > > > Konstantin Belousov <kostikbel at gmail.com> wrote:
> > > > > >       
> > > > > > > On Sat, Jun 25, 2016 at 04:44:03PM +0300, Ivan Klymenko
> > > > > > > wrote:      
> > > > > > > > On Sat, 25 Jun 2016 11:30:40 +0000 (UTC)
> > > > > > > > Konstantin Belousov <kib at FreeBSD.org> wrote:
> > > > > > > >         
> > > > > > > > > Author: kib
> > > > > > > > > Date: Sat Jun 25 11:30:40 2016
> > > > > > > > > New Revision: 302194
> > > > > > > > > URL: https://svnweb.freebsd.org/changeset/base/302194
> > > > > > > > > 
> > > > > > > > > Log:
> > > > > > > > >   For pthread_mutex_trylock() call on owned
> > > > > > > > > error-check or non-portable adaptive mutex, return
> > > > > > > > > EDEADLK as required by POSIX.  The
> > > > > > > > > pthread_mutex_lock() is already compliant. 
> > > > > > > > >   Tested by:	Guy Yur <guyyur at gmail.com>
> > > > > > > > >   Sponsored by:	The FreeBSD Foundation
> > > > > > > > >   MFC after:	2 weeks
> > > > > > > > >   Approved by:	re (gjb)
> > > > > > > > > 
> > > > > > > > > Modified:
> > > > > > > > >   head/lib/libthr/thread/thr_mutex.c
> > > > > > > > > 
> > > > > > > > > Modified: head/lib/libthr/thread/thr_mutex.c
> > > > > > > > > ==============================================================================
> > > > > > > > > --- head/lib/libthr/thread/thr_mutex.c	Sat Jun
> > > > > > > > > 25 10:08:04 2016	(r302193) +++
> > > > > > > > > head/lib/libthr/thread/thr_mutex.c Sat Jun 25 11:30:40
> > > > > > > > > 2016	(r302194) @@ -850,9 +850,12 @@
> > > > > > > > > mutex_self_trylock(struct pthread_mutex switch
> > > > > > > > > (PMUTEX_TYPE(m->m_flags)) { case
> > > > > > > > > PTHREAD_MUTEX_ERRORCHECK:
> > > > > > > > > -	case PTHREAD_MUTEX_NORMAL:
> > > > > > > > >  	case PTHREAD_MUTEX_ADAPTIVE_NP:
> > > > > > > > > -		ret = EBUSY; 
> > > > > > > > > +		ret = EDEADLK;
> > > > > > > > > +		break;
> > > > > > > > > +
> > > > > > > > > +	case PTHREAD_MUTEX_NORMAL:
> > > > > > > > > +		ret = EBUSY;
> > > > > > > > >  		break;
> > > > > > > > >  
> > > > > > > > >  	case PTHREAD_MUTEX_RECURSIVE:        
> > > > > > > > 
> > > > > > > > Update for r302191 to r302196 console-kit-daemon:
> > > > > > > > pid 1496 (console-kit-daemon), uid 0: exited on signal 6
> > > > > > > > pid 1581 (console-kit-daemon), uid 0: exited on signal 6
> > > > > > > > pid 5954 (console-kit-daemon), uid 0: exited on signal 6
> > > > > > > > pid 6010 (console-kit-daemon), uid 0: exited on signal 6
> > > > > > > > pid 6016 (console-kit-daemon), uid 0: exited on signal 6
> > > > > > > > 
> > > > > > > > Xorg session after authorization not started - black
> > > > > > > > screen.        
> > > > > > > 
> > > > > > > Why did you replied to r302194 with this information ?
> > > > > > > Does reverting r302194 (and only this revision) restores
> > > > > > > console-kit functionality ?      
> > > > > > 
> > > > > > I do not know which one commits it breaks r302194 or next
> > > > > > 302195. I returned to r302191 for restores console-kit
> > > > > > functionality.      
> > > > > Can you test, please ?  Use r302195 kernel and previous
> > > > > libthr.    
> > > > 
> > > > Kernel r302195, world r302191 - works fine - the problem can not
> > > > reproduce.    
> > > 
> > > Thank you.
> > > 
> > > Could you get backtrace from the console-kit-daemon ?  Only
> > > rebuild libthr: cd src/lib/libthr && make DEBUG_FLAGS=-g
> > > WITHOUT_TESTS=yes all install then gather coredump and load it in
> > > gdb.  Then you can revert the commit and rebuild working libthr.
> > >   
> > 
> > http://pastebin.com/wgmmicC3 If this information will be useful.  
> 
> Yes, it is useful, thank you.  Please try this instead of reverting.
> 
> diff --git a/lib/libthr/thread/thr_mutex.c
> b/lib/libthr/thread/thr_mutex.c index 2ad05ca..1ae75fb 100644
> --- a/lib/libthr/thread/thr_mutex.c
> +++ b/lib/libthr/thread/thr_mutex.c
> @@ -850,10 +871,10 @@ mutex_self_trylock(struct pthread_mutex *m)
>  
>  	switch (PMUTEX_TYPE(m->m_flags)) {
>  	case PTHREAD_MUTEX_ERRORCHECK:
> -	case PTHREAD_MUTEX_ADAPTIVE_NP:
>  		ret = EDEADLK;
>  		break;
>  
> +	case PTHREAD_MUTEX_ADAPTIVE_NP:
>  	case PTHREAD_MUTEX_NORMAL:
>  		ret = EBUSY;
>  		break;

Strange, it's not helped http://pastebin.com/jbzP0JW2


More information about the svn-src-head mailing list