This is the mail archive of the cygwin-developers mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: LoadLibrary error 487 (was Re: Please test latest developer snapshot)


On Sun, Feb 27, 2011 at 10:37:03PM +0100, Corinna Vinschen wrote:
>On Feb 27 12:05, Christopher Faylor wrote:
>> On Sun, Feb 27, 2011 at 10:46:27AM +0100, Corinna Vinschen wrote:
>> >Thanks, but your code only works on XP, not on Winodws 7.  In fact,
>> >on Windows 7 Cygwin is now entirly broken since every single fork
>> >segfaults.
>> 
>> It works for me.  I had tested it on Windows 7.  My simple test case was
>> just using ssh which always seemed to break when I got the code wrong.
>> It works fine on Windows 7.  The crash reported on the mailing list also
>> worked with my changes on Windows 7 and Windows XP.
>
>That's weird.  It doesn't work for me.  As soon as winmm is loaded with
>the DONT_RESOLVE_DLL_REFERENCES flag on Windows 7, my shell becomes
>unusable.  The shell itself runs, but every single try to start another
>application (including the stuff in startup scripts) fails with a SEGV,
>sometimes with, sometimes without creating a stackdump.
>
>Maybe that's because I'm running tcsh.  Probably tcsh does something at
>every fork which triggers loading the winmm multimedia timer functions,
>while bash doesn't.

Ok, this change is making me pretty nervous if it is that picky.  It
shows no problems at all when running bash.  And, I tried it on NT4,
Windows 7, Windows XP, and Windows 2008.

(Windows 2003 is giving me headaches right now.  It is apparently
pouting because I haven't run it in so long.)

Since it is so sensitive, wouldn't it be safer to just add libwinmm.a to
DLL_IMPORTS in Makefile.in and forget about trying to stand on our heads
to make this work right when loaded dynamically?

I just tried this and it seems to work fine.

I think what I'd like to do is back out most of what we did in the last
48 hours and just opt for the simple approach.  I have that change
sitting in my sandbox.  It keeps the dll_load() function and eliminates
the unused 'fn' (since, as you noted, it wouldn't have worked right
anyway).  All of the functions from libwinmm.a are now resolved at DLL
load time, directly.

cgf


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]