Bug 116416 - glibc-2.3.3-3 possibly broke cdrecord-prodvd: hangs in nanosleep()
Summary: glibc-2.3.3-3 possibly broke cdrecord-prodvd: hangs in nanosleep()
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: glibc
Version: rawhide
Hardware: i686
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2004-02-20 21:31 UTC by Ville Herva
Modified: 2007-11-30 22:10 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2004-02-21 19:01:04 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
The strace (26.07 KB, text/plain)
2004-02-20 21:38 UTC, Ville Herva
no flags Details

Description Ville Herva 2004-02-20 21:31:11 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6)
Gecko/20040115 Galeon/1.3.12

Description of problem:
I'm running pretty much uptodate fedora devel. The only thing I've not
upgraded is the kernel, I'm still tunning 2.4.21-jam1+sec patches.

I while a go I noticed Cdrecord-ProDVD-Clone 2.01a24 (precompiled
binary from Schilling's site) does not work anymore. It hangs in
nanosleep() call before beginning to burn ("last change to quit: 7").
Please see the attached strace. The first nanosleep(1 sec) call
succeeds, the second hangs. 

The command is

  mkisofs -r -l -J -R -f -graft-points ${=FILES} | cdrecord-dvd
dev=0,1,0 -dummy -dao gracetime=0 -tsize=${TSIZE}s -

If I do 

  cat /dev/zero |cdrecord-dvd dev=0,1,0 -dummy -dao gracetime=0
-tsize=${TSIZE}s - 

It dies of SIGALRM after first nanosleep:

  zsh: alarm        cdrecord-dvd dev=0,1,0 -dummy -dao -tsize=1s -
tools

cdrecord binary is only dependant on glibc:

  ldd /usr/local/bin/cdrecord-prodvd
        libc.so.6 => /lib/i686/libc.so.6 (0x4e248000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x4dd48000)

And I have not upgraded kernel (apart from the trivial security fixes
(mremap)) since December 20th when I know it worked. The problem is
the same with cdrecord-prodvd-2.01a24 (newest) and
cdrecord-prodvd-2.01a12 (the one I ran on Dec 20th). So the only thing
I can think of that might have broken it is glibc (but perhaps I'm
missing something?). Back on Dec 20th, I was running the current
fedora devel glibc; I'm not sure about the exact version.

I know cdrecord-prodvd is binary-only and 2.4 kernel+newest glibc
_might_ not be supported, but I thought to report this just in case
you are interested.

Version-Release number of selected component (if applicable):
glibc-2.3.3-3

How reproducible:
Always

Steps to Reproduce:
1.mkisofs -r -l -J -R -f -graft-points ${=FILES} | cdrecord-dvd
dev=0,1,0 -dummy -dao gracetime=0 -tsize=${TSIZE}s -
2.
3.
    

Actual Results:  Hangs in nanosleep() call after first elapsed second
in "Last chance to quit" phase.

Additional info:

Comment 1 Ville Herva 2004-02-20 21:38:43 UTC
Created attachment 97888 [details]
The strace

Strace of command

mkisofs -r -l -J -R -f -graft-points ${=FILES} | strace -o /tmp/logi
cdrecord-prodvd dev=0,1,0 -dummy -dao gracetime=0 -tsize=${TSIZE}s -

Comment 2 Ville Herva 2004-02-21 06:55:28 UTC
For the record, this is the binary I'm using:

ftp://ftp.berlios.de/pub/cdrecord/ProDVD/cdrecord-prodvd-2.01a24-i686-pc-linux-gnu

(cdrecord-dvd is a script that just sets the license environment
variable and calls the above binary with "$*" args.)

Comment 4 Ville Herva 2004-02-21 15:59:14 UTC
I upgraded the kernel to 2.6.3, and the behaviour remains the same.

(Not sure if then ide-scsi stuff in 2.6 will support dvd writing,
anyway... Other than that 2.6.3 appears *very* smooth (other than
dying ("attempt to kill init" after mounting rootfs) if I boot without
"selinux=0")).

Comment 5 Ville Herva 2004-02-21 18:05:50 UTC
Ok. It indeed seems to be glibc that broke it.

I took ld-linux.so.2 and libc.so.6 from Fedora Core 1
glibc-2.3.2-101.4 and did: 

   mkisofs -r -l -J -R -f -graft-points ${=FILES} |
LD_PRELOAD="/tmp/lib/libc.so.6" /tmp/lib/ld-linux.so.2
=cdrecord-prodvd dev=1,0,0 -dummy -dao -tsize=${TSIZE}s -

with the same cdrecord-prodvd binary, and it works (as in, does not
hang in "Last chance to quit, starting dummy write    6 seconds." -
did not try recording yet :).

Unfortunately, I don't have much older Fedora Devel glibc packages in
my backups; the earliest I can find, glibc-2.3.3-3, fails too. But
supposedly it broke between ~ Dec 20th and glibc-2.3.3-3, since on Dec
20th, I succesfully wrote a dvd.

Comment 6 Ville Herva 2004-02-21 18:19:54 UTC
Uhh, I spoke too soon.

Even with the older glibc, if I set "export CDR_SECURITY" for the
license, it still fails. (Without the license environment variable, it
is limited to -dummy mode.) If I unset CDR_SECURITY again, it doesn't
hang. Unbelievable.



Comment 7 Ville Herva 2004-02-21 19:01:04 UTC
Ok, so I'm a complete idiot.

Reading ftp://ftp.berlios.de/pub/cdrecord/ProDVD/README, the license
key has changed on Jan 27th. With the new one, it won't hang anymore.
(And it even seems to write quite fine on 2.6.3 ide-scsi.)

It was just that the error was so esoteric - why on Earth doesn't it
give an error message about the expired license? Oh well.

In any case, I'm terribly sorry for the noise. 




Note You need to log in before you can comment on or make changes to this bug.