[MPlayer-dev-eng] wmv9dmod.dll load failure: bug report + patch

Alex Eskin alexeskin at yahoo.com
Fri Feb 6 01:37:47 CET 2004


Ok this is a fedora problem which also affects
wine. There is no workaround which is local to
mplayer alone, but the following works:

1) edit /etc/syconfig/prelink and change
change PRELINK_OPTS=-mR

to PRELINK_OPTS="-mR --no-exec-shield"

2) touch /var/lib/misc/prelink.force
3) /etc/cron.daily/prelink 
(this relinks all the applications, and it takes
quite a while). 

What is happening is the following (taken from the
wine mailing list):

The loading addresses for system libraries are changed
once per week (or 2 weeks, don't remember). System
libraries added after the last complete assignation
are assigned a random address at each load, so is you
try to execute 10 times in a row the same program,
it'll fail some of the time and succeed the remaining
times.

Disabling exec-shield (either via setarch i386 or with
the proc thing) works sometimes, depending on the
loading addresses assigned to libraries. If something
(libc, libm, libdl, etc.) uses that address, nothing
Win32 will be usable. When exec-shield is disabled,
new libraries will be assigned loading addresses
starting at the lower value possible, but already
assigned ones (via prelinking) will still keep theirs,
hence possibly blocking execution. 


Would you  accept a patch which detects this condition
and sends the user somewhere for a workaround?


Thanks, 

Alex Eskin


--- Vladimir Mosgalin <mosgalin at VM10124.spb.edu>
wrote:
> On Wed, 4 Feb 2004, Alex Eskin wrote:
> 
> AE>Could the problem have something to do with
> prelink?
> 
> It is possible. First, try turning off prelink -
> there was some way to
> do this for single application. Second, with some
> security patches
> allowing execution in stack area may be needed,
> since kernel disallows
> it unless it is explictly requested, and this is
> needed for some windows
> dlls in mplayer.
> 
> To do this, get a program called 'chstk'. It's in
> kernel-utils package
> in my distribution (asp9), but I guess it should
> present in fedora, or
> use rpmfind to locate it. Then, run /usr/sbin/chstk
> -e /usr/bin/mplayer
> and tell if the problem will go away.
> 
> -- 
> 
> Vladimir
> 
> _______________________________________________
> MPlayer-dev-eng mailing list
> MPlayer-dev-eng at mplayerhq.hu
> http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng


__________________________________
Do you Yahoo!?
Yahoo! Finance: Get your refund fast by filing online.
http://taxes.yahoo.com/filing.html




More information about the MPlayer-dev-eng mailing list