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]

1.7.13/1.7.14: Issue with command prompt not returning when forking process


Hi,

I am having trouble with a not returning command prompt after termination of a process when this process forked another process. In such case the return of the command prompt is bound to life time of the forked process i.e. when the forked process terminates the command prompt returns.

The problem seems to have appeared in more recent versions of Cygwin and appearing both on Vista and Windows 7. I do have systems with and without this problem.
All systems without the problem have either kernel version 1.7.9(0.237/5/3) 2011-03-29 10:10 or 1.7.10(0.259/5/3) 2012-02-05 12:36
All systems showing the problem have either kernel version 1.7.13(0.260/5/3) 2012-04-05 12:43 or 1.7.14(0.260/5/3) 2012-04-24 17:22

The attached test application demonstrates the issue. By running "java Launcher" java process is started, which itself forks another java process. This second process runs for 2 minutes until it terminates. On systems without the problem the command prompt returns immediately, whereas on troubled systems it takes 2 minutes to return.
Running the same command from a dos prompt causes the command prompt to return immediately.

Running "ps" on a troubled system while waiting for the prompt to return still shows the java process running the Launcher, while the Windows task-manager and resource monitor do longer show this process (but only the Server).

A system originally not showing this issue, started showing the issue when new packages (openssh, rsync, libxslt and unzip) were installed. As part of this the kernel version was updated from 1.7.10 to 1.7.14. Removal of those packages had no effect on the problem; the kernel version remained at 1.7.14.

Test application
% javac *.java
% java Launcher
=======================
Lancher.java
-----------------------
public class Launcher {
  public static void main(String[] args) throws Exception {
    System.out.println("Launching Server");
    Runtime.getRuntime().exec(new String[] { "javaw", "Server" });
    System.out.println("Launched Server");
}}
=======================
Server.java
-----------------------
public class Server {
  public static void main(String[] args) throws Exception { 
    System.out.println("Started: " + Server.class.getName());
    Thread.sleep(120000);
}}
=======================

% uname -srv
CYGWIN_NT-6.0 1.7.14(0.260/5/3) 2012-04-25 09:41

% cygcheck -cd
Cygwin Package Information
Package              Version
_autorebase          000050-1
_update-info-dir     01046-1
alternatives         1.3.30c-10
base-cygwin          3.1-1
base-files           4.1-1
bash                 4.1.10-4
bzip2                1.0.6-2
coreutils            8.15-1
crypt                1.1-1
csih                 0.9.6-1
cygrunsrv            1.40-2
cygutils             1.4.10-2
cygwin               1.7.14-2
cygwin-doc           1.7-1
dash                 0.5.7-1
diffutils            3.2-1
dos2unix             5.3.3-1
editrights           1.01-2
file                 5.11-1
findutils            4.5.9-2
gawk                 4.0.1-1
gettext              0.18.1.1-2
grep                 2.6.3-1
groff                1.21-2
gzip                 1.4-1
ipc-utils            1.0-1
less                 444-1
libasn1_8            1.5.2-2
libattr1             2.4.43-1
libbz2_1             1.0.6-2
libcom_err2          1.41.14-1
libedit0             20090923-1
libgcc1              4.5.3-3
libgcrypt11          1.4.6-1
libgmp3              4.3.2-1
libgpg-error0        1.10-1
libgssapi3           1.5.2-2
libheimbase1         1.5.2-2
libheimntlm0         1.5.2-2
libhx509_5           1.5.2-2
libiconv2            1.14-2
libintl8             0.18.1.1-2
libkafs0             1.5.2-2
libkrb5_26           1.5.2-2
liblzma5             5.0.2_20110517-1
libncurses10         5.7-18
libncursesw10        5.7-18
libopenssl100        1.0.1b-2
libpcre0             8.21-2
libpopt0             1.6.4-4
libreadline7         6.1.2-2
libroken18           1.5.2-2
libsigsegv2          2.10-1
libsqlite3_0         3.7.3-1
libssp0              4.5.3-3
libstdc++6           4.5.3-3
libwind0             1.5.2-2
libwrap0             7.6-21
libxml2              2.7.8-3
libxslt              1.1.26-3
login                1.10-10
man                  1.6g-1
mintty               1.0.3-1
openssh              6.0p1-1
rebase               4.1.0-1
rsync                3.0.9-1
run                  1.1.13-1
sed                  4.2.1-1
tar                  1.25-1
terminfo             5.7_20091114-14
texinfo              4.13-4
tzcode               2012b-1
unzip                6.0-10
which                2.20-2
xz                   5.0.2_20110517-1
zlib0                1.2.5-1


Best regards,
Rob Burgers


--
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]