Date: Mon, 9 Mar 2009 12:02:03 -0700 From: Justin Teller <justin.teller@gmail.com> To: "freebsd-current@freebsd.org" <freebsd-current@freebsd.org> Subject: Using PTHREAD_PRIO_INHERIT causes panic in kern_umtx.c Message-ID: <3561C827-66BD-4B3F-A3D4-97C4C06884B4@gmail.com>
next in thread | raw e-mail | index | archive | help
--Apple-Mail-1-620089454 Content-Type: text/plain; charset=us-ascii; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit When I compile and run the attached program, it panics my system, (FreeBSD CURRENT as of 2-20-09) with the following message: panic: Assertion pi != NULL failed at /usr/src/sys/kern/kern_umtx: 1464 With the backtrace being: Tracing pid 1079 tid 100045 td 0xffffff00037c8000 kdb_enter() at kdb_enter+0x40 panic() at panic+0x1ec umtx_pi_adjust() at umtx_pi_adjust+0xfc8 umtx_pi_adjust() at umtx_pi_adjust+0x19bd _umtx_unlock() at _umtx_unlock+0x2c41 _umtx_op() at _umtx_op+0x22 syscall() at syscall+0x1f4 Xfast_syscall() at Xfast_syscall+0xaa --- syscall (454, FreeBSD ELF64, _umtx_op), rip = 0x4056ac, rsp = 0x7fffffbfef38, rbp = 0x80060b150 --- This problem only shows up when I use PTHREAD_PRIO_INHERIT -- if I change the line for pthread_mutexattr_setprotocol to PTHREAD_PRIO_NONE, then it works fine. I've been trying to trace thru the code to figure out where uq_pi_blocked should be setup, but I'm not too familiar with the code so I haven't found where the problem originates. How can I get PTHREAD_PRIO_INHERIT to work? And even if the change is in user-space, it probably shouldn't be this easy to panic the kernel :-) -Justin PS I'm reasonably certain that the most recent checkins (between now and Feb 20th) wouldn't fix this, but if I'm wrong, just let me know! --Apple-Mail-1-620089454 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit --Apple-Mail-1-620089454--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3561C827-66BD-4B3F-A3D4-97C4C06884B4>