Package: libdvdread4
Version: 4.2.0-1

totem crashes frequently(*) because of a segfault in libdvdread,
[(*) frequently means about 3 out of 5 times]


Dec  9 21:19:29 cuda kernel: [  183.708008] totem[3564]: 
segfault at 240164a0 ip 00007f5d1aaedcb4 sp 00007fff73368de0 error 4 
in libdvdread.so.4.2.0[7f5d1aaea000+23000]

which I traced down to file dvd_reader.c, l.452. Apparently,
char *path_copy contains nonsense
at this point:  This seems to have been introduced by the 05-hurd.patch
introduced to fix bug 640803. As far as I can trace this down, 
new_path = get_current_dir_name() in the #ifdef __GLIBC__ block
at ca. line 440 results in char *new_path pointing to nonsense that
is passed on path_copy.

IF I remove the ##ifdef __GLIBC__ block (i.e., removing the gist 
of 05-hurd.patch), libdvdread and, hence, totem become stable again. 

I *cannot* reproduce the problem by writing simple test cases for
get_current_dir_name(), and I somewhat doubt that the bug is in
get_current_dir_name() (i.e. glibc), although this is the place where things
break for me (debugged the hard way with multiple printf()/fflush(stdout))
statements.

I see the problem on two debian testing machines, both x86_64 architecture,
one of them fully up to date as of Dec 13, 2011:

boresch@cuda:~/localdeb/orig/libdvdread-4.2.0/src$ uname -a
Linux cuda 3.1.0-1-amd64 #1 SMP Mon Nov 14 08:02:25 UTC 2011 x86_64 GNU/Linux

The second machine lags behind since I cannot afford gnome3 at the 
moment there (in fact, libdvdread there was on 4.1.4 before I installed 
my 'fixed' version). I only now had the time to track this down, but the 
problems showed up pretty much about the time bug 640803 was closed (dvd 
reading on these machines worked fine during the summer!) Again, note 
that the problem arises intermittently, but way too often for me to be 
tolerable.

May I also venture that the change introduced by 05-hurd.patch trades
a posix compatible system call with a glibc extension on all platforms for
which __GLIBC__ is defined, contrary to upstream. Could one simply modify
the patch so that it only applies to HURD?

Thanks for your consideration,

Stefan Boresch




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to