delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2007/10/26/05:20:35

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
MIME-Version: 1.0
Subject: cygwin stable and cvs snapshot - fork() bug
Date: Fri, 26 Oct 2007 11:19:43 +0200
Message-ID: <C0ED6A2866953E4487135B5DFCFF89A501C04512@hmsx21.pnet.ch>
From: <michael DOT vogt AT post DOT ch>
To: <cygwin AT cygwin DOT com>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id l9Q9KOxC003163

I tried to compile mpd for Windows using Cygwin. After adding some
workarounds (add fake_getaddrinfo.h, check
http://musicpd.org/mantis/view.php?id=1566) I was able to compile mpd.
But when I tried to start it, mpd failed:


$ ./mpd.exe --stdout --verbose
binding to any address
flushing warning messages
done flushing warning messages
current locale is "C"
setting filesystem charset to ISO-8859-1
setFsCharset: fs charset is: ISO-8859-1
reading DB
opening pid file
  1 [main] mpd 1736 C:\cygwin\home\mpx\mpd-test\mpd.exe:
    *** fatal error - MapViewOfFileEx (0x19030000),
    Win3 2 error 6.  Terminating.
  68 [main] mpd 676 fork: child 1736 - died
    waiting for dll loading, errno 11 problems fork'ing for daemon! 

cygserver is running and i did a "$ export CYGWIN=server "

I traced down the error in the file player.c, source:

static int playerInit(void)
{
...
LOG(" debug playerInit: 10\n");
    pid = player_pid;
    if (pid > 0) {
        kill(pid, SIGCONT);
        pc->wait = 0;
        return 0;
    }

LOG(" debug playerInit: 20\n");
    player_pid = fork();    <<<<<<<<<<< CRASH
LOG(" debug playerInit: 30  (pid: %i/%i)\n", pid, player_pid);    
    blockSignals();
LOG(" debug playerInit: 31 \n");        
    if (player_pid==0)


any hints?

regards

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


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019