This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PING 3][PATCH v10] Add pretty printers for the NPTL lock types


Hi Stefan! Thanks a lot for the feedback (and patience).

On Wed, Aug 3, 2016 at 11:46 AM, Stefan Liebler <stli@linux.vnet.ibm.com> wrote:
> Hi Martin,
>
> please have a look at my comments to "[PATCH v10] Add pretty printers for
> the NPTL lock types":

Sorry, I missed that reply; in the future please CC me directly since
sometimes I miss the e-mails in the list digest.

On Tue, Jul 19, 2016 at 12:52 PM, Stefan Liebler
<stli@linux.vnet.ibm.com> wrote:
> I run the tests on a machine (fedora23 i686, s390x, s390) with pexpect version 4.0.1 => FAIL:
>
> The out-file is empty, but on terminal the tests dump:
> Traceback (most recent call last):
>   File "test-mutexattr-printers.py", line 22, in <module>
>     from test_printers_common import *
>
> File "/home/stli/glibcDir/glibc/scripts/test_printers_common.py", line 67, in <module>
>
>     gdb_version = (int(match.group(1)), int(match.group(2)))
> AttributeError: 'NoneType' object has no attribute 'group'
>
> re.search  does not find the gdb-version string and is returning None.
> On e.g. Fedora, gdb --version prints:
> GNU gdb (GDB) Fedora 7.10-23.fc23
> Copyright (C) 2015 Free Software Foundation, Inc.

Silly me, I thought the version string wouldn't change like that
between distros. Guess I'll have to find some other way to check for
it (hopefully not a more complicated regexp). Thanks for pointing it
out.

> If I remove the check for correct gdb-version as these machines (i686, s390x, s390 fedora 23) have correct gdb, pexpect version and glibc is built without debug-info:
>
> Response: Python Exception <class 'gdb.error'> No struct type named pthread_condattr.:

Yes, I believe this is happening because glibc doesn't have debug symbols.

> If glibc is built on i686 fedora 23 with debug-info:
> FAIL: nptl/test-condattr-printers; out-file:
> Error: Response does not match the expected pattern.
> Command: print *condvar
> Expected pattern: Shared = Yes
> Response: $6 = pthread_cond_t = {Threads waiting for this condvar = 0,
>
> Clock ID = CLOCK_REALTIME, Shared = No, Mutex = Cannot access memory at address 0xffffffff
>
> If glibc is built on s390 (31bit) fedora 23 with debug-info:
> FAIL: nptl/test-condattr-printers;
> The out-file contains the same error as on 32bit intel.

This is really weird. I'll look further into it, thanks for pointing it out.

> Is this the intention, that glibc has to be build with debug-information in order to get no test fails?

Yes, definitely. I was thinking of adding a check for it, but I
haven't come up with a portable enough way yet (just as with the gdb
version).


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]