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-all
mailing list