Package: dvd+rw-tools
Version: 7.0-2
Tags: patch
On Mon, Oct 30, 2006 at 06:12:23PM -0500, Doug Chapman wrote:
> On Mon, 2006-10-30 at 16:04 -0700, dann frazier wrote:
> > On Mon, Oct 30, 2006 at 05:39:49PM -0500, Doug Chapman wrote:
> > > FYI, on RHEL5 growisofs (which is used for DVD writing) is broken for
> > > ia64. Not sure how many of you do DVD writing on your ia64 systems but
> > > if you do need it I have a fixed version of dvd+rw-tools available.
[snip]
> > I'd like to see if this affects Debian - got a pointer to the patch and a
> > description of the issue?
> >
>
> Dan,
>
> I was able to reproduce at least part of this even on the standard
> upstream dvd+rw-tools so I imagine debian will have the problem as well.
> The initial problem is it cannot allocate enough space when it tries to
> mmap a buffer:
>
> # growisofs -Z /dev/dvdrw=RHEL5-Server-20060830.1-ia64-DVD.iso
> :-( unable to anonymously mmap 16777216: Resource temporarily
> unavailable
Debian has 7.0, and I've verified that this portion of the patch is
included.
> Then I hit the next problem, it fails when it tries to create threads
> since it is trying to set a very small stack size for each thread
> (likely related to the previous issue) so I write a quick ugly patch for
> that one myself. I don't really like the patch but it is the best I can
> do with the current code base
This patch is missing from Debian, so I am filing a bug for it.
> I am attaching the patch, it includes both fixes above.
Below is the portion of the patch that is not yet included in
Debian. I have not reproduced this issue on Debian because I don't
have a DVD burner.
Thanks Doug (bcc'd)
--- dvd+rw-tools-6.1/mp.h.old 2006-10-30 16:41:41.000000000 -0500
+++ dvd+rw-tools-6.1/mp.h 2006-10-30 17:18:45.000000000 -0500
@@ -31,15 +31,19 @@
#include <sched.h>
#include <semaphore.h>
#include <stdlib.h>
+#include <limits.h>
#define THR_TYPE int
static void *__thread_create(int (*func)(void *),void *arg)
{ pthread_t h;
pthread_attr_t attr;
+ size_t stack_sz;
+
+ stack_sz = (PTHREAD_STACK_MIN > 64*1024) ? PTHREAD_STACK_MIN : 64*1024;
if (pthread_attr_init(&attr)==0 &&
- pthread_attr_setstacksize(&attr,64*1024)==0 &&
+ pthread_attr_setstacksize(&attr,stack_sz)==0 &&
pthread_attr_setscope(&attr,PTHREAD_SCOPE_SYSTEM)==0 &&
pthread_create(&h,&attr,(void *(*)(void *))func,arg)==0 )
return (void *)h;
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]