This is the mail archive of the cygwin 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: Failure with fork()


On 2013-06-27 23:42-0700 Alan W. Irwin wrote:

I am getting absolutely nowhere.

A script run by setup.exe in the latter part of the install steps
appears to hang now with or without updating cygwin1.dll to the
fork-fixed version.  I got this result for two versions of
wine which I have heavily tested in other ways, wine-1.5.19, and
a wine-git version near wine-1.6.0-rc1.

Here are the last few messages before the hang:

Installing file cygfile:///usr/share/man/man1/xzfgrep.1.gz
AddAccessAllowedAce(, group) failed: 1337
Installing file cygfile:///usr/share/man/man1/xzgrep.1.gz
AddAccessAllowedAce(, group) failed: 1337
Installing file cygfile:///usr/share/man/man1/xzless.1.gz
AddAccessAllowedAce(, group) failed: 1337
Installing file cygfile:///usr/share/man/man1/xzmore.1.gz
AddAccessAllowedAce(, group) failed: 1337
AddAccessAllowedAce(, group) failed: 1337
Extracting from
file://Z:\home\wine\newstart\cygwin\packages/http%3a%2f%2fmirrors.kernel.org%2fsourceware%2fcygwin%2f/release/zlib/zlib0/zlib0-1.2.8-1.tar.bz2
Installing file cygfile:///usr/bin/cygz.dll
AddAccessAllowedAce(, group) failed: 1337
AddAccessAllowedAce(, group) failed: 1337
Visited: 51 nodes out of 2986 while creating dependency order.
Dependency order of packages: base-cygwin sed gzip libpcre0 gettext
grep libmpfr4 gawk tzcode libgmp3 libattr1 libncurses10 texinfo _update-info-dir
libreadline7 terminfo libstdc++6 libncursesw10 libiconv2
libintl8 bash coreutils cygwin libgcc1 dash rebase _autorebase
alternatives findutils base-files libbz2_1 bzip2 libpopt0 cygutils diffutils
dos2unix editrights zlib0 file groff ipc-utils less liblzma5 login xz man
mintty run tar vim-minimal which
running: Z:\home\wine\newstart\cygwin\bin\bash.exe --norc --noprofile
"/etc/postinstall/000-cygwin-post-install.sh"

There is no obvious chance that I can see before that hang where I can
overwrite cygwin1.dll with the corrected version.  However, if I exit
the hang, overwrite cygwin1.dll, and run the above script
by hand it still hung (no cpu activity and no change in the
cygwin tree that changes its total size as measured to
the nearest byte with "du -s --bytes cygwin") for ~20 minutes
before I gave up.

By the way, after exiting after the first hang, if I simply
overwrite cygwin1.dll with the corrected version, then
run setup.exe the install stage errors out immediately with
the message "Can't open package database for writing.  File exists."
It's for that reason that I tried to run the hanging script by hand
to see if I could get any further.

I didn't get these hangs a month ago when I tried all this
before with wine-1.5.19.  Instead, at that time I got the exact error
message when running the above script concerning an unhandled page
fault that others have described at
http://bugs.winehq.org/show_bug.cgi?id=24018 and which the fork-fixed
cygwin1.dll is supposed to fix.  So presumably Cygwin's
bash.exe or some application executed by the above script has
changed in the last month to cause the different wine symptoms.
Or I am inadvertently doing something different than I did a month
ago.

So unless someone can suggest a method to get around the "Can't open
package database for writing.  File exists." message, and assuming
that method doesn't subsequently run into the script hang (which is a
big if), then I think it is time for someone with a lot more wine and
cygwin expertise than me to take over here to attempt to try and
figure out a way to run setup.exe on Wine with fork-fixed cygwin1.dll
overwriting the buggy version.

I did a few more experiments.  If cygwin/bin is on the PATH, the
explicit MSYS bash version runs the script with no issues.  So it is
likely the hang is caused by the Cygwin version of bash rather than
something run in the script.

I also was able to get around the "Can't open package database for
writing.  File exists." issue.  I searched for anything associated
with databases by using

find cygwin -iname "*db*"

which found

cygwin/etc/setup/installed.db.new
cygwin/etc/setup/installed.db

which were identical.  If I removed cygwin/etc/setup/installed.db,
then I could rerun setup.exe without the error message showing up. However, as some of the applications were installed on top of the same
applications that had been installed for the previous setup.exe run, I
got occasional messages about overwriting files in use.  I just
answered all those error boxes as "continue" and that allowed the
second try for setup.exe to get as far as the first try.  However, it
got absolutely no further because the same script hung again!
Also, all these installs on top of the old installs presumably overwrote
cygwin1.dll with the fork-buggy version again.  So it is very likely
that
cygwin/etc/setup/installed.db is probably not the right workaround.
Instead, presumably something changed by the hanging script or
some script that setup.exe would normally run afterwards sets up
setup.exe so it can be rerun without overwriting the executables.

So I am willing to try a few more experiments that one of you may
suggest, but my Cygwin expertise is minimal/nonexistent, and it is
probably time for someone else with both Cygwin and Wine expertise to
step in to investigate the hanging script I described above.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


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