CLANG 3.2 breaks security/pam_ssh_agent_auth on stable/9

Kimmo Paasiala kpaasial at gmail.com
Thu Jan 17 07:06:28 UTC 2013


On Wed, Jan 16, 2013 at 8:01 PM, Kimmo Paasiala <kpaasial at gmail.com> wrote:
> On Wed, Jan 16, 2013 at 6:15 PM, Dimitry Andric <dim at freebsd.org> wrote:
>> On 2013-01-16 13:05, Kimmo Paasiala wrote:
>>>
>>> I just updated my stable/9 system after clang3.2 was added. My system
>>> is amd64, both world and kernel are compiled with clang3.2 and the
>>> default compiler is clang. I'm tracking the sources with GIT and the
>>> version I have corresponds to SVN revision r245451.
>>>
>>> Everything else seems to work but the pam authentication module
>>> security/pam_ssh_agent_auth segfaults immediately.
>>
>> ...
>>
>>> #0  0x0000000800ef2070 in strsvis () from /lib/libc.so.7
>>> #1  0x0000000800ef2584 in strvis () from /lib/libc.so.7
>>> #2  0x0000000800ef25e5 in strnvis () from /lib/libc.so.7
>>> #3  0x0000000801c0e2e7 in do_log () from
>>> /usr/local/lib/pam_ssh_agent_auth.so
>>> #4  0x0000000801c0e4ff in logit () from
>>> /usr/local/lib/pam_ssh_agent_auth.so
>>
>> ...
>>
>>> The str*vis() calls suggest that it's something in the libc maybe?
>>
>>
>> Brooks merged the new strvis implementations in r245439, so you may have
>> run into a bug with them.  I don't think this is caused specifically by
>> clang, at least not without more proof. :-)
>>
>> Can you try reverting to the revision just before r245439, rebuilding
>> and reinstalling at least libc, and see if the pam_ssh_agent_auth crash
>> goes away?
>

Confirmed. Reverting world to one commit before r245439 and using the
version of the port I used before fixes the problem.

Trying to use the version I compiled with post r245439 world results
in "su: pam_start: system error" when used on pre r245439 world.

I have to repeat my question, isn't this the definition of ABI breakage?

-Kimmo


More information about the freebsd-stable mailing list