[Bug 223165] Crash with pthread_condattr_destroy(NULL) on freebsd-11

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Oct 25 15:34:16 UTC 2017


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=223165

Mark Johnston <markj at FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |markj at FreeBSD.org

--- Comment #3 from Mark Johnston <markj at FreeBSD.org> ---
clang will in some cases optimize away null checks of parameters qualified with
_Nonnull. It doesn't seem to have done that in a libthr built with clang 5.0:

0000000000008cf0 <_pthread_condattr_destroy>:
    8cf0:       55                      push   %rbp
    8cf1:       48 89 e5                mov    %rsp,%rbp
    8cf4:       53                      push   %rbx
    8cf5:       50                      push   %rax
    8cf6:       48 89 fb                mov    %rdi,%rbx
    8cf9:       b8 16 00 00 00          mov    $0x16,%eax
    8cfe:       48 85 db                test   %rbx,%rbx
    8d01:       74 16                   je     8d19
<_pthread_condattr_destroy+0x29>
    ...

... but I've seen it do that a number of times in Isilon OneFS. With 3.9.1 we
have:

0000000000008de0 <_pthread_condattr_destroy>:
    8de0:       55                      push   %rbp
    8de1:       48 89 e5                mov    %rsp,%rbp
    8de4:       53                      push   %rbx
    8de5:       50                      push   %rax
    8de6:       48 89 fb                mov    %rdi,%rbx
    8de9:       48 8b 3b                mov    (%rbx),%rdi
    8dec:       b8 16 00 00 00          mov    $0x16,%eax
    8df1:       48 85 ff                test   %rdi,%rdi
    ...

I don't think that there's a bug here in light of comment 2.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-threads mailing list