DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 53NJmDFY2381617 Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 53NJmDFY2381617 Authentication-Results: delorie.com; dkim=fail reason="signature verification failed" (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=AmgnSSRG X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E79B43857B9E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1745437692; bh=bKhw1mL0+Pm8LsD7PFsVEA9B6pkpisitwAQiZnghhF8=; h=To:Cc:Subject:References:Date:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=AmgnSSRGJuogz5Xz0WqeC0nt6WT4vFJIc/mpzqiOo6ftLRqwekMpt+wRlZWPbUyG3 S7YJDZJtazLIjWh5Trv76TPQ/2BXAgijKwIl1mEQ+zmKpeub+JpAqWyDxkci3f19zw YUH2fMiRVM/ISVWVDcBtgWlMvrMZz7l3xEY32UUc= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 476BD3858D26 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 476BD3858D26 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1745437583; cv=none; b=WaL5snxZNpE/ZQsm+merUWBPS2q2H+4uoJ1Qz94yRimvTGZLPS8/CxcKK5HYFvua3+JqvssJyby2QLvqRGtBzdgstI4GtHWoDdC876H/q2L2MPBu9hSdL882SVhJDutD3jd1RZ1R6HgnBJPmmjs44E1lIupRVas7BjqRcuQHmq8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1745437583; c=relaxed/simple; bh=7wpEPmPRcsJQrVFrWFGdpr8Q8fSFfiTcdYX30k+arbk=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=AGEgEb8u4CIJJ7u1n4BDMQAipJbTLNcKb2S6xDRhODng1KzlC7ltd5NEADvuZaxDnHsdwjB5jAXjkUCMfBJDxuE/v1H/9tzlgzdGawbUrqdS+OnIY79GU/RlcLzMbzKdev2d68rDAeEp4GaRtf94hcQ/2g/2EUFKajwVsUdcScM= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 476BD3858D26 To: Mark Geisert via Cygwin-apps , camm AT maguirefamily DOT org Cc: Mark Geisert , The Cygwin Mailing List Subject: Re: posix_spawn References: <87plh7x4qp DOT fsf AT maguirefamily DOT org> <87o6wogfi8 DOT fsf AT maguirefamily DOT org> Date: Wed, 23 Apr 2025 15:46:19 -0400 In-Reply-To: <87o6wogfi8.fsf@maguirefamily.org> (Camm Maguire's message of "Tue, 22 Apr 2025 15:31:11 -0400") Message-ID: <87selyhd9w.fsf@maguirefamily.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Camm Maguire via Cygwin Reply-To: Camm Maguire Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" Greetings! Trying to isolate this as you suggest. On first attempt, copying the exact same strings and calls into a main() function succeeds. I am near stumped, and can only guess that the addresses returned by malloc on _init of the file_actions and attr structures is triggering something. Suggestions welcome. Take care, Camm Maguire writes: > Greetings! posix_spawnp is returning 10, or ECHILD, on the following > call. At least on my first reading (:-)), ECHILD is not one of the > documented errors for fork, vfork, or clone referenced by the Linux > manpage for posix_spawnp. Suggestions? > > Take care, > > ============================================================================= > > massert(!posix_spawn_file_actions_init(&file_actions)); > massert(!posix_spawnattr_init(&attr)); > > printf("spawn 2 %s\n",*p1); > for (pp=p1;pp printf("spawn 2a %s\n",*pp); > for (pp=(void *)environ;*pp;pp++) > printf("spawn 2e %s\n",*pp); > > s=posix_spawnp(&pid, *p1, &file_actions, &attr, (void *)p1, environ); > printf("spawn %d\n",s);fflush(stdout); > > ============================================================================= > spawn 2 C:\cygwin64\bin\gcc.exe > spawn 2a C:\cygwin64\bin\gcc.exe > spawn 2a -c > spawn 2a -g > spawn 2a -fsigned-char > spawn 2a -pipe > spawn 2a -fcommon > spawn 2a -fno-builtin-malloc > spawn 2a -fno-builtin-free > spawn 2a -fno-PIE > spawn 2a -fno-pie > spawn 2a -fno-PIC > spawn 2a -fno-pic > spawn 2a -std=gnu17 > spawn 2a -Wall > spawn 2a -Wno-empty-body > spawn 2a -Wno-unused-but-set-variable > spawn 2a -D_FILE_OFFSET_BITS=64 > spawn 2a -D_TIME_BITS=64 > spawn 2a -fno-zero-initialized-in-bss > spawn 2a -mms-bitfields > spawn 2a -I/usr/include/tirpc > spawn 2a -I/cygdrive/c/Users/cammm/32/gclm/gcl/gcl/unixport/../h > spawn 2a -O2 > spawn 2a -c > spawn 2a /cygdrive/c/Users/cammm/AppData/Local/Temp/gazonk_942_0.c > spawn 2a -o > spawn 2a /cygdrive/c/Users/cammm/AppData/Local/Temp/gazonk_942_0.o > spawn 2e ProgramFiles(x86)=C:\Program Files (x86) > spawn 2e CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files > spawn 2e !C:=c:\cygwin64\bin > spawn 2e SHELL=C:/Users/Camm Maguire/Downloads/emacs-25.2-x86_64/libexec/emacs/25.2/x86_64-w64-mingw32/cmdproxy.exe > spawn 2e NUMBER_OF_PROCESSORS=2 > spawn 2e FPS_BROWSER_USER_PROFILE_STRING=Default > spawn 2e PROCESSOR_LEVEL=6 > spawn 2e USERDOMAIN_ROAMINGPROFILE=DESKTOP-6UF6CJJ > spawn 2e HOSTNAME=DESKTOP-6UF6CJJ > spawn 2e PROGRAMFILES=C:\Program Files > spawn 2e TERMCAP=emacs:co#123:tc=unknown: > spawn 2e PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC > spawn 2e INSIDE_EMACS=25.2.1,comint > spawn 2e OS=Windows_NT > spawn 2e HOMEDRIVE=C: > spawn 2e USERDOMAIN=DESKTOP-6UF6CJJ > spawn 2e PWD=/cygdrive/c/Users/cammm/32/gclm/gcl/gcl/unixport > spawn 2e USERPROFILE=C:\Users\cammm > spawn 2e PRINTER=Microsoft Print to PDF > spawn 2e TZ=America/Los_Angeles > spawn 2e ALLUSERSPROFILE=C:\ProgramData > spawn 2e ORIGINAL_PATH=/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Windows/System32/OpenSSH:/cygdrive/c/Program Files/Git/cmd:/cygdrive/c/Users/cammm/AppData/Local/Microsoft/WindowsApps > spawn 2e CommonProgramW6432=C:\Program Files\Common Files > spawn 2e HOME=/cygdrive/c/Users/cammm/AppData/Roaming > spawn 2e USERNAME=cammm > spawn 2e LANG=ENU > spawn 2e OneDrive=C:\Users\cammm\OneDrive > spawn 2e COMSPEC=C:\Windows\system32\cmd.exe > spawn 2e TMPDIR=/cygdrive/c/Users/cammm/AppData/Local/Temp > spawn 2e APPDATA=C:\Users\cammm\AppData\Roaming > spawn 2e SYSTEMROOT=C:\Windows > spawn 2e LOCALAPPDATA=C:\Users\cammm\AppData\Local > spawn 2e PROMPT=$P$G > spawn 2e COMPUTERNAME=DESKTOP-6UF6CJJ > spawn 2e INFOPATH=/usr/local/info:/usr/share/info:/usr/info > spawn 2e TERM=xterm-256color > spawn 2e LOGONSERVER=\\DESKTOP-6UF6CJJ > spawn 2e USER=cammm > spawn 2e PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules > spawn 2e TEMP=/tmp > spawn 2e DISPLAY=w32 > spawn 2e SHLVL=1 > spawn 2e PROCESSOR_REVISION=7e05 > spawn 2e DriverData=C:\Windows\System32\Drivers\DriverData > spawn 2e COMMONPROGRAMFILES=C:\Program Files\Common Files > spawn 2e PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 126 Stepping 5, GenuineIntel > spawn 2e SESSIONNAME=Console > spawn 2e PS1=\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$ > spawn 2e HOMEPATH=\Users\cammm > spawn 2e EM_PARENT_PROCESS_ID=4432 > spawn 2e TMP=/tmp > spawn 2e PATH=/usr/local/bin:/usr/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Windows/System32/OpenSSH:/cygdrive/c/Program Files/Git/cmd:/cygdrive/c/Users/cammm/AppData/Local/Microsoft/WindowsApps > spawn 2e ProgramW6432=C:\Program Files > spawn 2e PROFILEREAD=true > spawn 2e WINDIR=C:\Windows > spawn 2e FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer > spawn 2e PROCESSOR_ARCHITECTURE=AMD64 > spawn 2e PUBLIC=C:\Users\Public > spawn 2e SYSTEMDRIVE=C: > spawn 2e EXECIGNORE=*.dll > spawn 2e OLDPWD=/cygdrive/c/Users/cammm/32/gclm/gcl/gcl > spawn 2e ProgramData=C:\ProgramData > spawn 2e emacs_dir=C:/Users/Camm Maguire/Downloads/emacs-25.2-x86_64 > spawn 2e _=./saved_pre_gcl > spawn 10 > ============================================================================= > > Mark Geisert via Cygwin-apps writes: > >> On 4/19/2025 1:42 PM, Camm Maguire via Cygwin-apps wrote: >>> Greetings! >>> posix_spawn is returning non-zero without setting errno: >>> massert(!posix_spawnp(&pid, *p1, &file_actions, &attr, (void >>> *)p1, environ)); >>> Is this intended to be supported? Is it known to be working or not >>> working elsewhere? >> >> This kind of question should be sent to the main Cygwin mailing list >> cygwin AT cygwin DOT com, now CC'd. Please follow up there if necessary. >> >> On failure, posix_spawnp() returns the error number rather than >> setting errno. This is a convention followed by some number of the >> posix_*() functions; which ones is a question for readers of the POSIX >> standard ;-). >> >> ..mark >> >> >> -- Camm Maguire camm AT maguirefamily DOT org ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple