GNU bug report logs - #6281
Fwd: Possible bug in coreutils-8.5 or associated gnulib version

Previous Next

Package: coreutils;

Reported by: Chris Clayton <chris2553 <at> googlemail.com>

Date: Thu, 27 May 2010 15:58:01 UTC

Severity: normal

Done: Jim Meyering <jim <at> meyering.net>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Chris Clayton <chris2553 <at> googlemail.com>
To: bug-coreutils <at> gnu.org
Subject: Fwd: Possible bug in coreutils-8.5 or associated gnulib version
Date: Thu, 27 May 2010 15:40:09 +0100
Resend because the first try somehow ended up at the Debbugs-submit
mailing list!

Fingers crossed.


---------- Forwarded message ----------
From: Chris Clayton <chris2553 <at> googlemail.com>
Date: 27 May 2010 09:19
Subject: Possible bug in coreutils-8.5 or associated gnulib version
To: bug-coreutils <at> gnu.org


Hi,

I've just tried to build coreutils-8.5. The compilation finished OK,
but make check hangs when
gnulib-tests/test-lock is run. The log showed that the hang occurred
somewhere after the
message "Starting test_rwlock" was output, so I've added some
additional debugging output to the
test_rwlock function so that it now looks like:

static void
test_rwlock (void)
{
 int i;
 gl_thread_t checkerthreads[THREAD_COUNT];
 gl_thread_t threads[THREAD_COUNT];

 /* Initialization.  */
 for (i = 0; i < ACCOUNT_COUNT; i++)
   account[i] = 1000;
 rwlock_checker_done = 0;

 /* Spawn the threads.  */
 printf ("\nCreating %d rwlock_checker_threads:", THREAD_COUNT);
 for (i = 0; i < THREAD_COUNT; i++)
   checkerthreads[i] = gl_thread_create (rwlock_checker_thread, NULL);
 printf ("OK\n");
 printf ("Creating %d rwlock_mutator_threads:", THREAD_COUNT);
 for (i = 0; i < THREAD_COUNT; i++)
   threads[i] = gl_thread_create (rwlock_mutator_thread, NULL);
 printf ("OK\n");

 /* Wait for the threads to terminate.  */
 printf ("Waiting for rwlock_mutator_threads to terminate:\n");
 for (i = 0; i < THREAD_COUNT; i++) {
   printf ("\t%d\n", i);
   gl_thread_join (threads[i], NULL);
 }
 rwlock_checker_done = 1;
 printf ("Waiting for rwlock_checker_threads to terminate:\n");
 for (i = 0; i < THREAD_COUNT; i++) {
   printf ("\t%d\n", i);
   gl_thread_join (checkerthreads[i], NULL);
 }
 check_accounts ();
}

I compiled the amended test app and ran it a few times. The output I
got is as follows:

[root:/home/chris/rpm/build/coreutils-8.5/gnulib-tests]$ ./test-lock
Starting test_lock ... OK
Starting test_rwlock ...
Creating 10 rwlock_checker_threads:OK
Creating 10 rwlock_mutator_threads:OK
Waiting for rwlock_mutator_threads to terminate:
       0
       1
^C
[root:/home/chris/rpm/build/coreutils-8.5/gnulib-tests]$ ./test-lock
Starting test_lock ... OK
Starting test_rwlock ...
Creating 10 rwlock_checker_threads:OK
Creating 10 rwlock_mutator_threads:OK
Waiting for rwlock_mutator_threads to terminate:
       0
       1
^C
[root:/home/chris/rpm/build/coreutils-8.5/gnulib-tests]$ time ./test-lock
Starting test_lock ... OK
Starting test_rwlock ...
Creating 10 rwlock_checker_threads:OK
Creating 10 rwlock_mutator_threads:OK
Waiting for rwlock_mutator_threads to terminate:
       0
       1
^C

real    23m14.207s
user    0m3.039s
sys     0m4.329s

The final run shows that even if I leave the app to run for several
minutes, it still fails to
complete.

I am running kernel 2.6.34 and my gcc is gcc (GCC) 4.4.5 20100525
(prerelease) (this week's 4.4
snapshot), although I get the same hang if I build and test with gcc-3.4.6.

I'm not subscribed, so please cc me into any reply  More than happy to
provide any other information
you need to solve this.

Thanks,

Chris Clayton

--
The more I see, the more I know. The more I know, the less I
understand. Changing Man - Paul Weller



-- 
The more I see, the more I know. The more I know, the less I
understand. Changing Man - Paul Weller




This bug report was last modified 14 years and 40 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.