Opened 12 years ago

Last modified 9 years ago

#999 closed defect (wontfix)

can't play from dvd drive when compiled with gcc 4.2

Reported by: aflist2@… Owned by: reimar
Priority: normal Component: demuxer
Version: HEAD Severity: normal
Keywords: Cc: compn
Blocked By: Blocking:
Reproduced by developer: Analyzed by developer:

Description

hello,

mplayer crashes playing a dvd when compiled with 4.2.3 20080116, emitting the following messages in the system log:

ata0: FAILURE - non aligned DMA transfer attempted
acd0: setting up DMA failed
acd0: FAILURE - REPORT_KEY ILLEGAL REQUEST asc=0x6f ascq=0x04
ata0: FAILURE - non aligned DMA transfer attempted
acd0: setting up DMA failed
ata0: FAILURE - non aligned DMA transfer attempted
acd0: setting up DMA failed

any of disabling dma on the drive, copying the files to the harddisk and using -dvd-device <dir>, or compiling with gcc 3.4.6 will play the same disc.

the files created with -dumpstream under gcc42 and gcc34 differ and the gcc42-dumped file will crash the gcc34-compiled player. playing the gcc34-dumped file with mplayer-gcc42 works fine.

MD5 (gcc34.dump) = a828591cebd08f7001b3826256e6eba5
MD5 (gcc42.dump) = a161d6be6e9c262bd92f3a8aa6a9270c

the crash is in libmpeg2, but that's because the stream being fed into it is trashed. playing with -demuxer lavf -vfm ffmpeg doesn't crash and shows the gcc42-dumped stream to be highly corrupt.

mplayer cvs r25826

gcc42 -v

Using built-in specs.
Target: i386-portbld-freebsd6.3
Configured with: ./..gcc-4.2-20080116/configure --disable-nls --with-system-zlib --with-libiconv-prefix=/usr/local --with-gmp=/usr/local --program-suffix=42 --libdir=/usr/local/lib/gcc-4.2.3 --with-gxx-include-dir=/usr/local/lib/gcc-4.2.3/include/c++/ --disable-rpath --prefix=/usr/local --mandir=/usr/local/man --infodir=/usr/local/info/gcc42 i386-portbld-freebsd6.3
Thread model: posix
gcc version 4.2.3 20080116 (prerelease)

Attachments (1)

dvd-strace.txt (100.6 KB) - added by aflist2@… 12 years ago.
strace output

Download all attachments as: .zip

Change History (9)

Changed 12 years ago by aflist2@…

strace output

comment:1 Changed 12 years ago by aflist2@…

as requested by uau, this is the strace output of mplayer dvd://

comment:2 Changed 12 years ago by nsabbi@…

did you set particular DVDREAD_ env variables?

comment:3 Changed 12 years ago by aflist2@…

i haven't set any environment variables. my system has no dvd read/css/nav package installed, and uses the mplayer builtins. my mplayer config also contains nothing that refers to dvd.

it's still present with r25914.

comment:4 Changed 12 years ago by nsabbi@…

I tried some dvds, and I obtained the same results with with gcc 4.1.3 and 4.2.1, even though I didn't compare the md5 because I didn't see
artefact of any kind

comment:5 Changed 12 years ago by aflist2@…

i can still reproduce this with r25971, 4.2.3 20080130.

Using built-in specs.
Target: i386-portbld-freebsd6.3
Configured with: ./..gcc-4.2-20080130/configure --disable-nls --with-system-zlib --with-libiconv-prefix=/usr/local --with-gmp=/usr/local --program-suffix=42 --libdir=/usr/local/lib/gcc-4.2.3 --with-gxx-include-dir=/usr/local/lib/gcc-4.2.3/include/c++/ --disable-rpath --prefix=/usr/local --mandir=/usr/local/man --infodir=/usr/local/info/gcc42 i386-portbld-freebsd6.3
Thread model: posix
gcc version 4.2.3 20080130 (prerelease)

comment:6 Changed 9 years ago by compn

  • Owner changed from r_togni@… to reimar

comment:7 Changed 9 years ago by compn

  • Resolution set to wontfix
  • Status changed from new to closed, patriotact@gmail.com

ffmpeg is now preferred over libmpeg2 so mark this closed.

comment:8 Changed 9 years ago by reimar

Uh, the bug report was about reading wrong data from the DVD, not so much the libmpeg2 crash.
Anyway I imagine remembering a kernel bug, where it tried to DMA directly into user buffers even if they were not sufficiently aligned.
Either way I don't think this issue exists any longer, reopen if it does.

Note: See TracTickets for help on using tickets.