[DVDnav-discuss] Crash in libdvdread-4.1.4-1219/src/dvd_reader.c:458

Frederik Himpe fhimpe at telenet.be
Tue Sep 27 09:48:57 CEST 2011


On Mon, 26 Sep 2011 11:51:24 -0700, John Stebbins wrote:

> On 09/26/2011 10:37 AM, Erik Hovland wrote:
>> On Mon, Sep 26, 2011 at 12:29 AM, Frederik Himpe
>> <fhimpe at telenet.be> wrote:
>>> I'm using Debian Wheezy AMD64 with libdvdread-4.1.4-1219. While
>>> playing a certain dvd movie in Totem, it crashes always at exactly the
>>> same point in the movie, and it seems to point to libdvdread:
>>>
>>> Program terminated with signal 11, Segmentation fault. #0 
>>> 0x00007f1ac2f8ecb4 in DVDOpen (ppath=0x1fae6c0 "/media/cdrom0") at
>>> /build/buildd-libdvdread_4.1.4-1219-2-amd64-jyFPHO/libdvdread-4.1.4-1219/src/dvd_reader.c:458
>>> 458    
>>> /build/buildd-libdvdread_4.1.4-1219-2-amd64-jyFPHO/libdvdread-4.1.4-1219/src/dvd_reader.c:
>>> No such file or directory.
>>>        in
>>>        /build/buildd-libdvdread_4.1.4-1219-2-amd64-jyFPHO/libdvdread-4.1.4-1219/src/dvd_reader.c
>>>
>>> Full backtrace can be found in this Debian bug report:
>>>
>>> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=642739
>>>
>>> Does this indeed look like to be a bug in libdvdread, and do you need
>>> any more information to debug this further?
>> 
>> That is a pretty good bug report. It even has a backtrace. But if I go
>> to version
>> 1219 in subversion and look at dvd_reader.c I see code that is for
>> Windows or OS/2:
>> 457 #if defined(_WIN32) || defined(__OS2__) 458    
>> if(strlen(path_copy) > TITLES_MAX) {
>> 
>> Is it possible that all of the macros in this area are causing the
>> backtrace to have bogus line number info?
>> 
>> What do newer versions of libdvdread do when asked to play this DVD?
>> Does VLC exhibit the same symptom? mplayer?
>> 
>> 
> More likely, ubuntu

I'm using Debian Wheezy.

> applies patches to libdvdread which makes the line
> numbers useless.  The OP needs to install libdvdread-dbg package and
> reproduce the backtrace again.  Then it will include context that will
> show us the position of the failure better.

That package is installed:
ii  libdvdread-dbg                                  4.1.4-1219-2                      library for reading DVDs (debug)

I installed the Debian source package, and looked in the source code what's on line 458:

    /**
     * If we're being asked to open a directory, check if that directory
     * is the mount point for a DVD-ROM which we can use instead.
     */

    if( strlen( path_copy ) > 1 ) {
      if( path_copy[ strlen( path_copy ) - 1 ] == '/' ) {
        path_copy[ strlen( path_copy ) - 1 ] = '\0';
      }
    }

458 is the line:
    if( strlen( path_copy ) > 1 ) {


The Debian patch affecting dvd_reader.c is this one:
http://patch-tracker.debian.org/patch/series/view/libdvdread/4.1.4-1219-2/06-hurd.patch

-- 
Frederik Himpe
  




More information about the DVDnav-discuss mailing list