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: -11: Problem at 1st start when "cygwin.bat" is run by Nullsoft-Installer

Hello List,

Corinna, thank you for your answer so far. Regarding your hints:
- The cygwin installer runs normally and creates registry entries as well
runs the postinstall scripts
- As you can see in the subject line, we currently use version -11 aka
- I will try to workaround our problem by deleting the listed env.
variables and report back
- "Debugging" won't be possible for me; my software development knowledge
ends with shellscript. But if you exactly tell me what to do, I'll give it
a try and supply you with the resulting information.



             Corinna Vinschen                                              
   >                                                 To 
             Sent by:                           
             cygwin-owner@cygw                                          cc 
                                       Re: -11: Problem at 1st start when  
             10.04.2008 10:59          "cygwin.bat" is run by              
             Please respond to                                             

On Apr 10 09:48, Christoph Herdeg wrote:
> Hello List,
> We have made up an unattended installer package for cygwin using Nullsoft
> Installer. This package works on all x32 and x64 versions of Windows
> XP and Server 2003. Testing with Windows Server 2008 we discovered a
> problem: At the end of the installation, cygwin.bat is executed by the
> Nullsoft Installer. Normally bash should open and all shellscripts
> in /etc/profile.d should be run automagically (the script /etc/profile
> collects and runs them). In our case it doesn't - at least on 1st start -
> instead the following error message is displayed:
> "bash: cannot create temp file for here document: Bad address"
> Then bash jumps to the standard prompt. If we now start cygwin a 2nd time
> by executing cygwin.bat (directly or via the desktop icon), the scripts
> /etc/profile.d are run as they are proposed to. Also they are run
> if the Nullsoft Installer exits before starting cygwin.bat and we start
> batch manually (directly or via the desktop icon).
> Upgrading the package "base-files-3.7-1.tar.bz2" to unpack a modified
> /etc/profile resulted that the $TMP and $TEMP variables seem to be
> correctly set to "/cygdrive/c/Users/ADMINI~1/AppData/Local/Temp". Setting
> an FullAccess-ACL for the Windows user "everyone" on this directory
> change the behaviour. Using "set -x" in the modified /etc/profile did not
> produce any other errors.
> - Is it possible that Cygwin's mapping of
> "c:\Users\ADMINI~1/AppData/Local/Temp" to
> "/cygdrive/c/Users/ADMINI~1/AppData/Local/Temp" doesn't yet exist at the
> time the error occurs?

No.  The environment is converted before the shell is doing something
on its own accord.

Is it possible that the cygdrive prefix doesn't exist when cygwin.bat is
called the first time?  So far the installer is responsible for creating
the mount points and the cygdrive prefix in the registry.  And after that,
before calling cygwin.bat, the installer should run the postinstall scripts
in /etc/postinstall.

> - Are there any known changes between the previous Windows versions and
> Windows Server 2008 being able to cause a different behaviour when "a
> program is started manually" vs. "a program is started by another
> eg. different User / security / environmental context?

Not that I'm aware of.  What Cygwin version are you using?  Anything
before 1.5.25-11 is a bad idea to use on Windows 2008.

> - Would it be possible for the Cygwin developers to implement the usage
> a /tmp independet from it's windows pendant to cure this?

The usage of $TEMP/$TMP/$TMPDIR has nothing to do with Cygwin.  The
Cygwin DLL itself has no need for a tmp dir.  The reason it's used is
that bash honors (at least) $TMPDIR.  One workaround would be to delete
these environment variables before bash is called.  But, of course, this
doesn't help to track down the actual cause of the problem.

> - Are there any other steps I could try or does anyone of you perhaps
> a solution?

I have no idea what's causing your problem.  I assume you will have to
debug it, using GDB, strace or sysinternal's tools.  The above error
message does not tell us anything useful, except that an invalid address
has been used *somewhere*.  Some debugging effort would be required
here, sorry.


Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

Unsubscribe info:
Problem reports:

Unsubscribe info:
Problem reports:

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