ADSM-L

Re: [ADSM-L] dsmc dumps core on Ubuntu 13.10 amd64

2013-11-06 09:17:22
Subject: Re: [ADSM-L] dsmc dumps core on Ubuntu 13.10 amd64
From: Andreas Johansson <andjo AT NSC.LIU DOT SE>
To: ADSM-L AT VM.MARIST DOT EDU
Date: Wed, 6 Nov 2013 15:14:04 +0100
Hi Christian and list,

2013-11-05 18:31, Christian Schmidt skrev:
> we're trying to get dsmc running on a latest Ubuntu amd64 system.
> Converting the x86_64 rpm archives to deb packages and installing these
> worked fine. But whenever invoking dsmc we get the following messages:
> 
>  IBM Tivoli Storage Manager
> Command Line Backup-Archive Client Interface
>   Client Version 6, Release 4, Level 1.0
>   Client date/time: 05.11.2013 18:23:53
> (c) Copyright by IBM Corporation and other(s) 1990, 2013. All Rights
> Reserved.
> 
> Node Name: [correct node name here]
> Aborted (core dumped)

I've also been bitten by this one and did some investigation on the
root cause. This is the GNU libc change that made the problem visible

 
https://sourceware.org/git/?p=glibc.git;a=commit;f=crypt/crypt_util.c;h=4ba74a357376c8f8bf49487f96ae71cf2460c3f3

The TSM client is calling the library function crypt() win an invalid
salt argument. Newer glibc versions check the salt and return EINVAL
when they see invalid characters in the salt. Previously the invalid
characters were mapped onto the same values as valid characters gave.
This was of course undefined behaviour, but stable. The core dump is
most probably due to an assert() since crypt() returns NULL.

To work around this I wrote a small interposer that checks the crypt()
salt argument and does the same mapping as was done previously, calls
the real crypt(), and then maps it back to stay bug compatible. (If
anyone interested in getting a copy, send me an email off-list. It also
documents the issue since it was also an attachment for a PMR.)

Best regards,

-- 
Andreas Johansson                  andjo AT nsc.liu DOT se
System Expert                      +46-(0)13-285778
National Supercomputer Centre, Linköping University