public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* Maxima can't write to /dev/stdout
@ 2012-07-26  7:05 Achim Gratz
  2012-07-26  8:18 ` Corinna Vinschen
  0 siblings, 1 reply; 12+ messages in thread
From: Achim Gratz @ 2012-07-26  7:05 UTC (permalink / raw)
  To: cygwin

The following maxima session encounters an EACCESS error that I can't
make sense of:

(%i1) m: genmatrix (lambda([i,j], i+j-1), 3, 3)$
(%i2) write_data(m, "/dev/stdout")$
Maxima encountered a Lisp error:


UNIX error 13 (EACCES): Permission denied

Automatically continuing.
To enable the Lisp debugger set *debugger-hook* to nil.
(%i3)

The strace corresponding to opening /dev/stdout looks normal to me up until the
write fails:

   72 28729956 [main] lisp 196 normalize_posix_path: src /dev/.
   25 28729981 [main] lisp 196 normalize_posix_path: /dev/ =
normalize_posix_path (/dev/.)
   24 28730005 [main] lisp 196 mount_info::conv_to_win32_path:
conv_to_win32_path (/dev)
   25 28730030 [main] lisp 196 set_flags: flags: binary (0x2)
   22 28730052 [main] lisp 196 mount_info::conv_to_win32_path: src_path /dev,
dst C:\Programs\Cygwin\dev, flags 0x3000A, rc 0
  112 28730164 [main] lisp 196 symlink_info::check: 0x0 = NtCreateFile
(\??\C:\Programs\Cygwin\dev)
   45 28730209 [main] lisp 196 symlink_info::check: not a symlink
   47 28730256 [main] lisp 196 symlink_info::check: 0 =
symlink.check(C:\Programs\Cygwin\dev, 0xDC15C0) (0x3000A)
   37 28730293 [main] lisp 196 lstat64: entering
   25 28730318 [main] lisp 196 normalize_posix_path: src /dev/stdout
   21 28730339 [main] lisp 196 normalize_posix_path: /dev/stdout =
normalize_posix_path (/dev/stdout)
   22 28730361 [main] lisp 196 mount_info::conv_to_win32_path:
conv_to_win32_path (/dev/stdout)
   38 28730399 [main] lisp 196 set_flags: flags: binary (0x2)
   23 28730422 [main] lisp 196 mount_info::conv_to_win32_path: src_path
/dev/stdout, dst C:\Programs\Cygwin\dev\stdout, flags 0x3000A, rc 0
   67 28730489 [main] lisp 196 symlink_info::check: 0x0 = NtCreateFile
(\??\C:\Programs\Cygwin\dev\stdout)
  149 28730638 [main] lisp 196 symlink_info::check: 15 =
symlink.check(C:\Programs\Cygwin\dev\stdout, 0xDC1700) (0x43000B)
   32 28730670 [main] lisp 196 path_conv::check:
this->path(C:\Programs\Cygwin\dev\stdout), has_acls(1)
   31 28730701 [main] lisp 196 build_fh_pc: fh 0x612883D0, dev 0xC3
   25 28730726 [main] lisp 196 stat_worker: (\??\C:\Programs\Cygwin\dev\stdout,
0xDC3B30, 0x612883D0), file_attributes 4
   73 28730799 [main] lisp 196 cygpsid::debug_print: get_sids_info: owner SID =
S-1-5-21-2052111302-842925246-682003330-75441
   26 28730825 [main] lisp 196 cygpsid::debug_print: get_sids_info: group SID =
S-1-5-21-2052111302-842925246-682003330-513
   24 28730849 [main] lisp 196 get_info_from_sd: uid 85441, gid 10513
   40 28730889 [main] lisp 196 fhandler_base::fstat_helper: 0 = fstat
(\??\C:\Programs\Cygwin\dev\stdout, 0xDC3B30) st_size=15, st_mode=0xA1FF,
st_ino=281474978421744st_atim=4FBF6387.DB7D74 st_ctim=4FBF6387.DB7D74
st_mtim=4FBF6387.DB7D74 st_birthtim=4FBF6387.DB7D74
   29 28730918 [main] lisp 196 stat_worker: 0 =
(\??\C:\Programs\Cygwin\dev\stdout,0xDC3B30)
   51 28730969 [main] lisp 196 normalize_posix_path: src /dev/stdout
   23 28730992 [main] lisp 196 normalize_posix_path: /dev/stdout =
normalize_posix_path (/dev/stdout)
   22 28731014 [main] lisp 196 mount_info::conv_to_win32_path:
conv_to_win32_path (/dev/stdout)
   22 28731036 [main] lisp 196 set_flags: flags: binary (0x2)
   22 28731058 [main] lisp 196 mount_info::conv_to_win32_path: src_path
/dev/stdout, dst C:\Programs\Cygwin\dev\stdout, flags 0x3000A, rc 0
   63 28731121 [main] lisp 196 symlink_info::check: 0x0 = NtCreateFile
(\??\C:\Programs\Cygwin\dev\stdout)
  133 28731254 [main] lisp 196 symlink_info::check: 15 =
symlink.check(C:\Programs\Cygwin\dev\stdout, 0xDC16B0) (0x3000B)
   28 28731282 [main] lisp 196 path_conv::check: this->path(/proc/self/fd/1),
has_acls(1)
   35 28731317 [main] lisp 196 normalize_posix_path: src /proc/self/fd/.
   23 28731340 [main] lisp 196 normalize_posix_path: /proc/self/fd/ =
normalize_posix_path (/proc/self/fd/.)
   22 28731362 [main] lisp 196 mount_info::conv_to_win32_path:
conv_to_win32_path (/proc/self/fd)
   24 28731386 [main] lisp 196 fhandler_proc::get_proc_fhandler:
get_proc_fhandler(/proc/self/fd)
   23 28731409 [main] lisp 196 set_flags: flags: binary (0x2)
   21 28731430 [main] lisp 196 mount_info::conv_to_win32_path: src_path
/proc/self/fd, dst /proc/self/fd, flags 0x2, rc 0
   28 28731458 [main] lisp 196 build_fh_pc: fh 0x612883D0, dev 0xFF
   24 28731482 [main] lisp 196 fhandler_proc::exists: exists (/proc/self/fd)
   24 28731506 [main] lisp 196 mount_info::conv_to_win32_path:
conv_to_win32_path (/proc/self)
   22 28731528 [main] lisp 196 fhandler_proc::get_proc_fhandler:
get_proc_fhandler(/proc/self)
   21 28731549 [main] lisp 196 set_flags: flags: binary (0x2)
   21 28731570 [main] lisp 196 mount_info::conv_to_win32_path: src_path
/proc/self, dst /proc/self, flags 0x2, rc 0
   25 28731595 [main] lisp 196 build_fh_pc: fh 0x612883D0, dev 0xFF
   22 28731617 [main] lisp 196 fhandler_proc::exists: exists (/proc/self)
   21 28731638 [main] lisp 196 getpid: 196 = getpid()
   25 28731663 [main] lisp 196 normalize_posix_path: src /proc/196/fd
   21 28731684 [main] lisp 196 normalize_posix_path: /proc/196/fd =
normalize_posix_path (/proc/196/fd)
   22 28731706 [main] lisp 196 mount_info::conv_to_win32_path:
conv_to_win32_path (/proc/196/fd)
   21 28731727 [main] lisp 196 fhandler_proc::get_proc_fhandler:
get_proc_fhandler(/proc/196/fd)
   22 28731749 [main] lisp 196 set_flags: flags: binary (0x2)
   24 28731773 [main] lisp 196 mount_info::conv_to_win32_path: src_path
/proc/196/fd, dst /proc/196/fd, flags 0x2, rc 0
   25 28731798 [main] lisp 196 build_fh_pc: fh 0x612883D0, dev 0xFE
   22 28731820 [main] lisp 196 fhandler_process::exists: exists (/proc/196/fd)
   31 28731851 [main] lisp 196 lstat64: entering
   22 28731873 [main] lisp 196 normalize_posix_path: src /proc/196/fd/1
   21 28731894 [main] lisp 196 normalize_posix_path: /proc/196/fd/1 =
normalize_posix_path (/proc/196/fd/1)
   21 28731915 [main] lisp 196 mount_info::conv_to_win32_path:
conv_to_win32_path (/proc/196/fd/1)
   23 28731938 [main] lisp 196 fhandler_proc::get_proc_fhandler:
get_proc_fhandler(/proc/196/fd/1)
   42 28731980 [main] lisp 196 set_flags: flags: binary (0x2)
   22 28732002 [main] lisp 196 mount_info::conv_to_win32_path: src_path
/proc/196/fd/1, dst /proc/196/fd/1, flags 0x2, rc 0
   24 28732026 [main] lisp 196 build_fh_pc: fh 0x612883D0, dev 0xFE
   24 28732050 [main] lisp 196 fhandler_process::exists: exists (/proc/196/fd/1)
   36 28732086 [main] lisp 196 build_fh_pc: fh 0x612883D0, dev 0xFE
   23 28732109 [main] lisp 196 stat_worker: (/proc/196/fd/1, 0xDC3B30,
0x612883D0), file_attributes 128
   23 28732132 [main] lisp 196 fhandler_process::exists: exists (/proc/196/fd/1)
   25 28732157 [main] lisp 196 time: 1343284878 = time(0)
   23 28732180 [main] lisp 196 stat_worker: 0 = (/proc/196/fd/1,0xDC3B30)
   23 28732203 [main] lisp 196 normalize_posix_path: src /proc/196/fd/1
   23 28732226 [main] lisp 196 normalize_posix_path: /proc/196/fd/1 =
normalize_posix_path (/proc/196/fd/1)
   21 28732247 [main] lisp 196 mount_info::conv_to_win32_path:
conv_to_win32_path (/proc/196/fd/1)
   22 28732269 [main] lisp 196 fhandler_proc::get_proc_fhandler:
get_proc_fhandler(/proc/196/fd/1)
   21 28732290 [main] lisp 196 set_flags: flags: binary (0x2)
   21 28732311 [main] lisp 196 mount_info::conv_to_win32_path: src_path
/proc/196/fd/1, dst /proc/196/fd/1, flags 0x2, rc 0
   26 28732337 [main] lisp 196 build_fh_pc: fh 0x612883D0, dev 0xFE
   22 28732359 [main] lisp 196 fhandler_process::exists: exists (/proc/196/fd/1)
   29 28732388 [main] lisp 196 normalize_posix_path: src /proc/196/fd/.
   22 28732410 [main] lisp 196 normalize_posix_path: /proc/196/fd/ =
normalize_posix_path (/proc/196/fd/.)
   21 28732431 [main] lisp 196 mount_info::conv_to_win32_path:
conv_to_win32_path (/proc/196/fd)
   21 28732452 [main] lisp 196 fhandler_proc::get_proc_fhandler:
get_proc_fhandler(/proc/196/fd)
   22 28732474 [main] lisp 196 set_flags: flags: binary (0x2)
   22 28732496 [main] lisp 196 mount_info::conv_to_win32_path: src_path
/proc/196/fd, dst /proc/196/fd, flags 0x2, rc 0
   25 28732521 [main] lisp 196 build_fh_pc: fh 0x612883D0, dev 0xFE
24761 28757282 [main] lisp 196 fhandler_process::exists: exists (/proc/196/fd)
   98 28757380 [main] lisp 196 stat64: entering
   45 28757425 [main] lisp 196 normalize_posix_path: src /proc/196/fd/
   26 28757451 [main] lisp 196 normalize_posix_path: /proc/196/fd/ =
normalize_posix_path (/proc/196/fd/)
   25 28757476 [main] lisp 196 mount_info::conv_to_win32_path:
conv_to_win32_path (/proc/196/fd)
   25 28757501 [main] lisp 196 fhandler_proc::get_proc_fhandler:
get_proc_fhandler(/proc/196/fd)
   61 28757562 [main] lisp 196 set_flags: flags: binary (0x2)
   24 28757586 [main] lisp 196 mount_info::conv_to_win32_path: src_path
/proc/196/fd, dst /proc/196/fd, flags 0x2, rc 0
   35 28757621 [main] lisp 196 build_fh_pc: fh 0x612883D0, dev 0xFE
   60 28757681 [main] lisp 196 fhandler_process::exists: exists (/proc/196/fd)
   29 28757710 [main] lisp 196 build_fh_pc: fh 0x612883D0, dev 0xFE
   26 28757736 [main] lisp 196 stat_worker: (/proc/196/fd, 0xDC39E0,
0x612883D0), file_attributes 16
  106 28757842 [main] lisp 196 fhandler_process::exists: exists (/proc/196/fd)
   27 28757869 [main] lisp 196 time: 1343284878 = time(0)
   26 28757895 [main] lisp 196 stat_worker: 0 = (/proc/196/fd,0xDC39E0)
   28 28757923 [main] lisp 196 stat64: entering
   43 28757966 [main] lisp 196 normalize_posix_path: src /proc/196/fd/
   23 28757989 [main] lisp 196 normalize_posix_path: /proc/196/fd/ =
normalize_posix_path (/proc/196/fd/)
   23 28758012 [main] lisp 196 mount_info::conv_to_win32_path:
conv_to_win32_path (/proc/196/fd)
   72 28758084 [main] lisp 196 fhandler_proc::get_proc_fhandler:
get_proc_fhandler(/proc/196/fd)
   24 28758108 [main] lisp 196 set_flags: flags: binary (0x2)
   22 28758130 [main] lisp 196 mount_info::conv_to_win32_path: src_path
/proc/196/fd, dst /proc/196/fd, flags 0x2, rc 0
   91 28758221 [main] lisp 196 build_fh_pc: fh 0x612883D0, dev 0xFE
   34 28758255 [main] lisp 196 fhandler_process::exists: exists (/proc/196/fd)
   27 28758282 [main] lisp 196 build_fh_pc: fh 0x612883D0, dev 0xFE
   54 28758336 [main] lisp 196 stat_worker: (/proc/196/fd, 0xDC3A50,
0x612883D0), file_attributes 16
   25 28758361 [main] lisp 196 fhandler_process::exists: exists (/proc/196/fd)
   23 28758384 [main] lisp 196 time: 1343284878 = time(0)
   72 28758456 [main] lisp 196 stat_worker: 0 = (/proc/196/fd,0xDC3A50)
   26 28758482 [main] lisp 196 open: open(/proc/196/fd/, 0x10601)
   26 28758508 [main] lisp 196 normalize_posix_path: src /proc/196/fd/
   22 28758530 [main] lisp 196 normalize_posix_path: /proc/196/fd/ =
normalize_posix_path (/proc/196/fd/)
   80 28758610 [main] lisp 196 mount_info::conv_to_win32_path:
conv_to_win32_path (/proc/196/fd)
   25 28758635 [main] lisp 196 fhandler_proc::get_proc_fhandler:
get_proc_fhandler(/proc/196/fd)
  101 28758736 [main] lisp 196 set_flags: flags: binary (0x2)
   23 28758759 [main] lisp 196 mount_info::conv_to_win32_path: src_path
/proc/196/fd, dst /proc/196/fd, flags 0x2, rc 0
   27 28758786 [main] lisp 196 build_fh_pc: fh 0x612883D0, dev 0xFE
   83 28758869 [main] lisp 196 fhandler_process::exists: exists (/proc/196/fd)
   27 28758896 [main] lisp 196 build_fh_pc: fh 0x612883D0, dev 0xFE
   25 28758921 [main] lisp 196 fhandler_base::set_flags: flags 0x18601,
supplied_bin 0x0
   77 28758998 [main] lisp 196 fhandler_base::set_flags: O_TEXT/O_BINARY set in
flags 0x10000
   28 28759026 [main] lisp 196 fhandler_base::set_flags: filemode set to binary
   25 28759051 [main] lisp 196 fhandler_base::set_flags: flags 0x118601,
supplied_bin 0x0
   80 28759131 [main] lisp 196 fhandler_base::set_flags: O_TEXT/O_BINARY set in
flags 0x10000
   24 28759155 [main] lisp 196 fhandler_base::set_flags: filemode set to binary
   36 28759191 [main] lisp 196 fhandler_process::open: 1 =
fhandler_proc::open(0x118601, 420)
   88 28759279 [main] lisp 196 open: 4 = open(/proc/196/fd/, 0x18601)
   27 28759306 [main] lisp 196 fhandler_process::exists: exists (/proc/196/fd)
   23 28759329 [main] lisp 196 time: 1343284878 = time(0)
   25 28759354 [main] lisp 196 fstat64: 0 = fstat(4, 0xDC39F8)
  550 28759904 [main] lisp 196 write: write(4, 0xDC2480, 1)
   38 28759942 [main] lisp 196 __set_errno: virtual ssize_t
fhandler_virtual::write(const void*, size_t):211 setting errno 13
   29 28759971 [main] lisp 196 write: -1 = write(4, 0xDC2480, 1), errno 13


Any clues from this why this should or shouldn't work?  If I replace /dev/stdout
with /dev/tty it works, but that is not an option for the real use-case (where
stdout is captured from another process).  Trying to write to /proc/self/fd/1
hangs up the maxima process (I can break with ^C).


Regards,
Achim.



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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Maxima can't write to /dev/stdout
  2012-07-26  7:05 Maxima can't write to /dev/stdout Achim Gratz
@ 2012-07-26  8:18 ` Corinna Vinschen
  2012-07-26  8:46   ` Corinna Vinschen
  2012-07-26  9:24   ` Achim Gratz
  0 siblings, 2 replies; 12+ messages in thread
From: Corinna Vinschen @ 2012-07-26  8:18 UTC (permalink / raw)
  To: cygwin

On Jul 26 07:04, Achim Gratz wrote:
> The following maxima session encounters an EACCESS error that I can't
> make sense of:
> 
> (%i1) m: genmatrix (lambda([i,j], i+j-1), 3, 3)$
> (%i2) write_data(m, "/dev/stdout")$
> Maxima encountered a Lisp error:
> 
> 
> UNIX error 13 (EACCES): Permission denied
> 
> Automatically continuing.
> To enable the Lisp debugger set *debugger-hook* to nil.
> (%i3)
> 
> The strace corresponding to opening /dev/stdout looks normal to me up until the
> write fails:
> [...]
>   133 28731254 [main] lisp 196 symlink_info::check: 15 =
> symlink.check(C:\Programs\Cygwin\dev\stdout, 0xDC16B0) (0x3000B)
>    28 28731282 [main] lisp 196 path_conv::check: this->path(/proc/self/fd/1),
> has_acls(1)

/dev/stdout is a symlink to /proc/self/fd/.

>    25 28731595 [main] lisp 196 build_fh_pc: fh 0x612883D0, dev 0xFF
>    22 28731617 [main] lisp 196 fhandler_proc::exists: exists (/proc/self)
>    21 28731638 [main] lisp 196 getpid: 196 = getpid()

/proc/self is a symlink to /proc/196.

>    25 28731663 [main] lisp 196 normalize_posix_path: src /proc/196/fd
>    21 28731684 [main] lisp 196 normalize_posix_path: /proc/196/fd =
> normalize_posix_path (/proc/196/fd)

And here something goes wrong.  If I call `echo foo > /dev/stdout' in
bash, the above normalize_posix_path calls already handle the path
/proc/196/fd/1, not just /proc/196/fd as lisp does.

>    22 28731706 [main] lisp 196 mount_info::conv_to_win32_path:
> conv_to_win32_path (/proc/196/fd)
>    21 28731727 [main] lisp 196 fhandler_proc::get_proc_fhandler:
> get_proc_fhandler(/proc/196/fd)
>    22 28731749 [main] lisp 196 set_flags: flags: binary (0x2)
>    24 28731773 [main] lisp 196 mount_info::conv_to_win32_path: src_path
> /proc/196/fd, dst /proc/196/fd, flags 0x2, rc 0
>    25 28731798 [main] lisp 196 build_fh_pc: fh 0x612883D0, dev 0xFE
>    22 28731820 [main] lisp 196 fhandler_process::exists: exists (/proc/196/fd)
>    31 28731851 [main] lisp 196 lstat64: entering

Here it calls lstat(/proc/196/fd/1), which works, but doesn't
resolve the symlink.

>    [...]
>    23 28732180 [main] lisp 196 stat_worker: 0 = (/proc/196/fd/1,0xDC3B30)
>    23 28732203 [main] lisp 196 normalize_posix_path: src /proc/196/fd/1
>    23 28732226 [main] lisp 196 normalize_posix_path: /proc/196/fd/1 =
> normalize_posix_path (/proc/196/fd/1)
>    21 28732247 [main] lisp 196 mount_info::conv_to_win32_path:
> conv_to_win32_path (/proc/196/fd/1)
>    22 28732269 [main] lisp 196 fhandler_proc::get_proc_fhandler:
> get_proc_fhandler(/proc/196/fd/1)
>    21 28732290 [main] lisp 196 set_flags: flags: binary (0x2)
>    21 28732311 [main] lisp 196 mount_info::conv_to_win32_path: src_path
> /proc/196/fd/1, dst /proc/196/fd/1, flags 0x2, rc 0
>    26 28732337 [main] lisp 196 build_fh_pc: fh 0x612883D0, dev 0xFE
>    22 28732359 [main] lisp 196 fhandler_process::exists: exists (/proc/196/fd/1)

In fact, it never tried to resolve the symlink up to here.

>    29 28732388 [main] lisp 196 normalize_posix_path: src /proc/196/fd/.
>    22 28732410 [main] lisp 196 normalize_posix_path: /proc/196/fd/ =
> normalize_posix_path (/proc/196/fd/.)

...so what is it doing with /proc/196/fd/. now?

>    [...]
>    98 28757380 [main] lisp 196 stat64: entering
>    [...]
>    26 28757895 [main] lisp 196 stat_worker: 0 = (/proc/196/fd,0xDC39E0)

Calling stat on it, but what for?

>    28 28757923 [main] lisp 196 stat64: entering
>    [...]
>    72 28758456 [main] lisp 196 stat_worker: 0 = (/proc/196/fd,0xDC3A50)

...and again...

>    26 28758482 [main] lisp 196 open: open(/proc/196/fd/, 0x10601)

And now it opend the directory /proc/196/fd ...

>    88 28759279 [main] lisp 196 open: 4 = open(/proc/196/fd/, 0x18601)

gets the descriptor 4 ...

>   550 28759904 [main] lisp 196 write: write(4, 0xDC2480, 1)
>    38 28759942 [main] lisp 196 __set_errno: virtual ssize_t
> fhandler_virtual::write(const void*, size_t):211 setting errno 13
>    29 28759971 [main] lisp 196 write: -1 = write(4, 0xDC2480, 1), errno 13

... tries to write to it and *of course* gets an EACCES.

I don't know what lisp is trying to do here, but it doesn't look like
Cygwin's fault.  After all, echo foo > /dev/stdout works fine.  Also,
if descriptor 1 is closed, the error message looks different:

  $ echo foo 1>&- >/dev/stdout
  bash: /dev/stdout: No such file or directory


Corinna

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

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Maxima can't write to /dev/stdout
  2012-07-26  8:18 ` Corinna Vinschen
@ 2012-07-26  8:46   ` Corinna Vinschen
  2012-07-26  9:24   ` Achim Gratz
  1 sibling, 0 replies; 12+ messages in thread
From: Corinna Vinschen @ 2012-07-26  8:46 UTC (permalink / raw)
  To: cygwin

On Jul 26 10:17, Corinna Vinschen wrote:
> On Jul 26 07:04, Achim Gratz wrote:
> > The following maxima session encounters an EACCESS error that I can't
> > make sense of:
> > 
> > (%i1) m: genmatrix (lambda([i,j], i+j-1), 3, 3)$
> > (%i2) write_data(m, "/dev/stdout")$
> > Maxima encountered a Lisp error:
> > 
> > 
> > UNIX error 13 (EACCES): Permission denied
> > 
> > Automatically continuing.
> > To enable the Lisp debugger set *debugger-hook* to nil.
> > (%i3)
> > 
> > The strace corresponding to opening /dev/stdout looks normal to me up until the
> > write fails:
> > [...]
> >   133 28731254 [main] lisp 196 symlink_info::check: 15 =
> > symlink.check(C:\Programs\Cygwin\dev\stdout, 0xDC16B0) (0x3000B)
> >    28 28731282 [main] lisp 196 path_conv::check: this->path(/proc/self/fd/1),
> > has_acls(1)
> 
> /dev/stdout is a symlink to /proc/self/fd/.
                              /proc/self/fd/1, of course.


Corinna

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

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Maxima can't write to /dev/stdout
  2012-07-26  8:18 ` Corinna Vinschen
  2012-07-26  8:46   ` Corinna Vinschen
@ 2012-07-26  9:24   ` Achim Gratz
  2012-07-26  9:47     ` Corinna Vinschen
  2012-07-27 11:05     ` Achim Gratz
  1 sibling, 2 replies; 12+ messages in thread
From: Achim Gratz @ 2012-07-26  9:24 UTC (permalink / raw)
  To: cygwin

Corinna Vinschen <corinna-cygwin <at> cygwin.com> writes:
> And here something goes wrong.  If I call `echo foo > /dev/stdout' in
> bash, the above normalize_posix_path calls already handle the path
> /proc/196/fd/1, not just /proc/196/fd as lisp does.

Thanks for having a look, that got me one step further.  Maxima uses a (captive)
clisp and the standalone clisp makes the same error:

[1]> (open "/dev/stdout")

*** - OPEN: File #P"/proc/3348/fd/" does not exist

So the same thing happens in clisp and it seems to affect only(?) symlinks
pointing to /proc, some other symlinks I tried that were pointing to /dev/tty as
a test have not had that problem.  Is it possible that clisp uses an API that
isn't aware of /proc somehow?


Regards,
Achim


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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Maxima can't write to /dev/stdout
  2012-07-26  9:24   ` Achim Gratz
@ 2012-07-26  9:47     ` Corinna Vinschen
  2012-07-26 13:21       ` Earnie Boyd
  2012-07-26 17:57       ` Achim Gratz
  2012-07-27 11:05     ` Achim Gratz
  1 sibling, 2 replies; 12+ messages in thread
From: Corinna Vinschen @ 2012-07-26  9:47 UTC (permalink / raw)
  To: cygwin

On Jul 26 09:23, Achim Gratz wrote:
> Corinna Vinschen <corinna-cygwin <at> cygwin.com> writes:
> > And here something goes wrong.  If I call `echo foo > /dev/stdout' in
> > bash, the above normalize_posix_path calls already handle the path
> > /proc/196/fd/1, not just /proc/196/fd as lisp does.
> 
> Thanks for having a look, that got me one step further.  Maxima uses a (captive)
> clisp and the standalone clisp makes the same error:
> 
> [1]> (open "/dev/stdout")
> 
> *** - OPEN: File #P"/proc/3348/fd/" does not exist
> 
> So the same thing happens in clisp and it seems to affect only(?) symlinks
> pointing to /proc, some other symlinks I tried that were pointing to /dev/tty as
> a test have not had that problem.  Is it possible that clisp uses an API that
> isn't aware of /proc somehow?

That *should* be impossible.  The path handling is supposed to be
transparently handling all real and virtual paths, regardless of
the function calling the path handling stuff.

If you can nail that down to the actual calls and decisions clisp is
doing, it might help to find the cause.


Corinna

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

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Maxima can't write to /dev/stdout
  2012-07-26  9:47     ` Corinna Vinschen
@ 2012-07-26 13:21       ` Earnie Boyd
  2012-07-26 17:57       ` Achim Gratz
  1 sibling, 0 replies; 12+ messages in thread
From: Earnie Boyd @ 2012-07-26 13:21 UTC (permalink / raw)
  To: cygwin

On Thu, Jul 26, 2012 at 5:46 AM, Corinna Vinschen wrote:
> On Jul 26 09:23, Achim Gratz wrote:
>> Corinna Vinschen <corinna-cygwin <at> cygwin.com> writes:
>> > And here something goes wrong.  If I call `echo foo > /dev/stdout' in
>> > bash, the above normalize_posix_path calls already handle the path
>> > /proc/196/fd/1, not just /proc/196/fd as lisp does.
>>
>> Thanks for having a look, that got me one step further.  Maxima uses a (captive)
>> clisp and the standalone clisp makes the same error:
>>
>> [1]> (open "/dev/stdout")
>>
>> *** - OPEN: File #P"/proc/3348/fd/" does not exist
>>
>> So the same thing happens in clisp and it seems to affect only(?) symlinks
>> pointing to /proc, some other symlinks I tried that were pointing to /dev/tty as
>> a test have not had that problem.  Is it possible that clisp uses an API that
>> isn't aware of /proc somehow?
>
> That *should* be impossible.  The path handling is supposed to be
> transparently handling all real and virtual paths, regardless of
> the function calling the path handling stuff.
>
> If you can nail that down to the actual calls and decisions clisp is
> doing, it might help to find the cause.

Maybe something to do with the 1 looking like an integer instead of a
valid path or directory?  Don't know but thought I would give my
initial thoughts.

-- 
Earnie
-- https://sites.google.com/site/earnieboyd

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Maxima can't write to /dev/stdout
  2012-07-26  9:47     ` Corinna Vinschen
  2012-07-26 13:21       ` Earnie Boyd
@ 2012-07-26 17:57       ` Achim Gratz
  2012-07-26 18:57         ` Reini Urban
  1 sibling, 1 reply; 12+ messages in thread
From: Achim Gratz @ 2012-07-26 17:57 UTC (permalink / raw)
  To: cygwin

Corinna Vinschen writes:
> If you can nail that down to the actual calls and decisions clisp is
> doing, it might help to find the cause.

I'm trying to, but it seems I still miss some dependencies to actually
build clisp with debug information.  Unfortunately the build is
structured in a way that it tells you each missing dependency piecemeal
after an ever increasing amount of stuff that it actually succeeded
building.  Right now it seems that it specifically wants BDB 4.5 rather
than 4.8 even though configure said earlier it found BDB...  I'll get
there eventually, just not as fast as I had hoped for.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Factory and User Sound Singles for Waldorf rackAttack:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds


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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Maxima can't write to /dev/stdout
  2012-07-26 17:57       ` Achim Gratz
@ 2012-07-26 18:57         ` Reini Urban
  2012-07-26 19:11           ` Achim Gratz
  0 siblings, 1 reply; 12+ messages in thread
From: Reini Urban @ 2012-07-26 18:57 UTC (permalink / raw)
  To: cygwin

On Thu, Jul 26, 2012 at 12:57 PM, Achim Gratz  wrote:
> Corinna Vinschen writes:
>> If you can nail that down to the actual calls and decisions clisp is
>> doing, it might help to find the cause.
>
> I'm trying to, but it seems I still miss some dependencies to actually
> build clisp with debug information.  Unfortunately the build is
> structured in a way that it tells you each missing dependency piecemeal
> after an ever increasing amount of stuff that it actually succeeded
> building.  Right now it seems that it specifically wants BDB 4.5 rather
> than 4.8 even though configure said earlier it found BDB...  I'll get
> there eventually, just not as fast as I had hoped for.

Agreed.
But note that clisp already should come with debug info.
-g is required for the (disassemble) function to work.
-- 
Reini Urban
http://cpanel.net/   http://www.perl-compiler.org/

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Maxima can't write to /dev/stdout
  2012-07-26 18:57         ` Reini Urban
@ 2012-07-26 19:11           ` Achim Gratz
  2012-07-26 19:36             ` Reini Urban
  0 siblings, 1 reply; 12+ messages in thread
From: Achim Gratz @ 2012-07-26 19:11 UTC (permalink / raw)
  To: cygwin

Reini Urban writes:
> But note that clisp already should come with debug info.

Where to look for it?  I'm assuming that I need to step into the open
function from the lisp "open" call via gdb to see where the trailing
"/1" gets stripped of from the file name pointed to by the symlink, so
I'd need to have at least a symbol file with that entry point.

> -g is required for the (disassemble) function to work.

You mean in CFLAGS for the build?


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Factory and User Sound Singles for Waldorf rackAttack:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds


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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Maxima can't write to /dev/stdout
  2012-07-26 19:11           ` Achim Gratz
@ 2012-07-26 19:36             ` Reini Urban
  2012-07-27  1:54               ` Yaakov (Cygwin/X)
  0 siblings, 1 reply; 12+ messages in thread
From: Reini Urban @ 2012-07-26 19:36 UTC (permalink / raw)
  To: cygwin

On Thu, Jul 26, 2012 at 2:10 PM, Achim Gratz wrote:
> Reini Urban writes:
>> But note that clisp already should come with debug info.
>
> Where to look for it?  I'm assuming that I need to step into the open
> function from the lisp "open" call via gdb to see where the trailing
> "/1" gets stripped of from the file name pointed to by the symlink, so
> I'd need to have at least a symbol file with that entry point.

Don't know yet. I'm still busy at work.

>> -g is required for the (disassemble) function to work.
>
> You mean in CFLAGS for the build?

Yes, and

src_install() {
   # do not strip for (disassemble)
   _CYGPORT_RESTRICT_strip_=1

-- 
Reini Urban
http://cpanel.net/   http://www.perl-compiler.org/

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Maxima can't write to /dev/stdout
  2012-07-26 19:36             ` Reini Urban
@ 2012-07-27  1:54               ` Yaakov (Cygwin/X)
  0 siblings, 0 replies; 12+ messages in thread
From: Yaakov (Cygwin/X) @ 2012-07-27  1:54 UTC (permalink / raw)
  To: cygwin

On 2012-07-26 14:36, Reini Urban wrote:
> On Thu, Jul 26, 2012 at 2:10 PM, Achim Gratz wrote:
>> Reini Urban writes:
>>> -g is required for the (disassemble) function to work.
>>
>> You mean in CFLAGS for the build?
>
> Yes, and
>
> src_install() {
>     # do not strip for (disassemble)
>     _CYGPORT_RESTRICT_strip_=1

Don't use internal structures.  As documented in the manual, this should 
be RESTRICT=strip, and should be defined in the toplevel.


Yaakov


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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Maxima can't write to /dev/stdout
  2012-07-26  9:24   ` Achim Gratz
  2012-07-26  9:47     ` Corinna Vinschen
@ 2012-07-27 11:05     ` Achim Gratz
  1 sibling, 0 replies; 12+ messages in thread
From: Achim Gratz @ 2012-07-27 11:05 UTC (permalink / raw)
  To: cygwin


I still can't build clisp, after several installations for devel packages I'm
stuck with missing libgdi...

Anyway, to get the symlink out of the picture I traced clisp again pointing it
directly to /proc/<pid>/fd/1:

   49 1464915185 [main] lisp 5804 time: 1343386196 = time(0)
  156 1464915341 [main] lisp 5804 normalize_posix_path: src /proc/5804/fd/.
   26 1464915367 [main] lisp 5804 normalize_posix_path: /proc/5804/fd/ =
normalize_posix_path (/proc/5804/fd/.)
   23 1464915390 [main] lisp 5804 mount_info::conv_to_win32_path:
conv_to_win32_path (/proc/5804/fd)
   26 1464915416 [main] lisp 5804 fhandler_proc::get_proc_fhandler:
get_proc_fhandler(/proc/5804/fd)
   25 1464915441 [main] lisp 5804 set_flags: flags: binary (0x2)
   22 1464915463 [main] lisp 5804 mount_info::conv_to_win32_path: src_path
/proc/5804/fd, dst /proc/5804/fd, flags 0x2, rc 0
   35 1464915498 [main] lisp 5804 build_fh_pc: fh 0x61275DE8, dev 0xFE
   26 1464915524 [main] lisp 5804 fhandler_process::exists: exists (/proc/5804/fd)
   31 1464915555 [main] lisp 5804 lstat64: entering
   25 1464915580 [main] lisp 5804 normalize_posix_path: src /proc/5804/fd/1
   23 1464915603 [main] lisp 5804 normalize_posix_path: /proc/5804/fd/1 =
normalize_posix_path (/proc/5804/fd/1)
   22 1464915625 [main] lisp 5804 mount_info::conv_to_win32_path:
conv_to_win32_path (/proc/5804/fd/1)
   24 1464915649 [main] lisp 5804 fhandler_proc::get_proc_fhandler:
get_proc_fhandler(/proc/5804/fd/1)
   24 1464915673 [main] lisp 5804 set_flags: flags: binary (0x2)
   22 1464915695 [main] lisp 5804 mount_info::conv_to_win32_path: src_path
/proc/5804/fd/1, dst /proc/5804/fd/1, flags 0x2, rc 0
   25 1464915720 [main] lisp 5804 build_fh_pc: fh 0x61275DE8, dev 0xFE
   24 1464915744 [main] lisp 5804 fhandler_process::exists: exists (/proc/5804/fd/1)
   29 1464915773 [main] lisp 5804 build_fh_pc: fh 0x61275DE8, dev 0xFE
   25 1464915798 [main] lisp 5804 stat_worker: (/proc/5804/fd/1, 0x1335C70,
0x61275DE8), file_attributes 128
   24 1464915822 [main] lisp 5804 fhandler_process::exists: exists (/proc/5804/fd/1)
   25 1464915847 [main] lisp 5804 time: 1343386196 = time(0)
   25 1464915872 [main] lisp 5804 stat_worker: 0 = (/proc/5804/fd/1,0x1335C70)
   25 1464915897 [main] lisp 5804 normalize_posix_path: src /proc/5804/fd/1
   22 1464915919 [main] lisp 5804 normalize_posix_path: /proc/5804/fd/1 =
normalize_posix_path (/proc/5804/fd/1)
   23 1464915942 [main] lisp 5804 mount_info::conv_to_win32_path:
conv_to_win32_path (/proc/5804/fd/1)
   24 1464915966 [main] lisp 5804 fhandler_proc::get_proc_fhandler:
get_proc_fhandler(/proc/5804/fd/1)
   23 1464915989 [main] lisp 5804 set_flags: flags: binary (0x2)
   22 1464916011 [main] lisp 5804 mount_info::conv_to_win32_path: src_path
/proc/5804/fd/1, dst /proc/5804/fd/1, flags 0x2, rc 0
   25 1464916036 [main] lisp 5804 build_fh_pc: fh 0x61275DE8, dev 0xFE
   24 1464916060 [main] lisp 5804 fhandler_process::exists: exists (/proc/5804/fd/1)
   29 1464916089 [main] lisp 5804 normalize_posix_path: src /proc/5804/fd/.
   52 1464916141 [main] lisp 5804 normalize_posix_path: /proc/5804/fd/ =
normalize_posix_path (/proc/5804/fd/.)
   25 1464916166 [main] lisp 5804 mount_info::conv_to_win32_path:
conv_to_win32_path (/proc/5804/fd)
   23 1464916189 [main] lisp 5804 fhandler_proc::get_proc_fhandler:
get_proc_fhandler(/proc/5804/fd)
   24 1464916213 [main] lisp 5804 set_flags: flags: binary (0x2)
  238 1464916451 [main] lisp 5804 mount_info::conv_to_win32_path: src_path
/proc/5804/fd, dst /proc/5804/fd, flags 0x2, rc 0
   33 1464916484 [main] lisp 5804 build_fh_pc: fh 0x61275DE8, dev 0xFE
   26 1464916510 [main] lisp 5804 fhandler_process::exists: exists (/proc/5804/fd)
   34 1464916544 [main] lisp 5804 stat64: entering
   24 1464916568 [main] lisp 5804 normalize_posix_path: src /proc/5804/fd/
   23 1464916591 [main] lisp 5804 normalize_posix_path: /proc/5804/fd/ =
normalize_posix_path (/proc/5804/fd/)
   22 1464916613 [main] lisp 5804 mount_info::conv_to_win32_path:
conv_to_win32_path (/proc/5804/fd)
   23 1464916636 [main] lisp 5804 fhandler_proc::get_proc_fhandler:
get_proc_fhandler(/proc/5804/fd)
   23 1464916659 [main] lisp 5804 set_flags: flags: binary (0x2)
   23 1464916682 [main] lisp 5804 mount_info::conv_to_win32_path: src_path
/proc/5804/fd, dst /proc/5804/fd, flags 0x2, rc 0
   26 1464916708 [main] lisp 5804 build_fh_pc: fh 0x61275DE8, dev 0xFE
   24 1464916732 [main] lisp 5804 fhandler_process::exists: exists (/proc/5804/fd)
   26 1464916758 [main] lisp 5804 build_fh_pc: fh 0x61275DE8, dev 0xFE
   24 1464916782 [main] lisp 5804 stat_worker: (/proc/5804/fd, 0x1335B20,
0x61275DE8), file_attributes 16
   25 1464916807 [main] lisp 5804 fhandler_process::exists: exists (/proc/5804/fd)
   23 1464916830 [main] lisp 5804 time: 1343386196 = time(0)
   25 1464916855 [main] lisp 5804 stat_worker: 0 = (/proc/5804/fd,0x1335B20)
  326 1464917181 [main] lisp 5804 ualarm: 0 = ualarm(0 , 0)

So it seems that clisp is directly asking for the "." file from the start (even
though it knows the real name as well).  Now for the real fun I ask for
/proc/<pid>/fd/12:

  157 1652341096 [main] lisp 5804 normalize_posix_path: src /proc/5804/fd/.
   27 1652341123 [main] lisp 5804 normalize_posix_path: /proc/5804/fd/ =
normalize_posix_path (/proc/5804/fd/.)
   25 1652341148 [main] lisp 5804 mount_info::conv_to_win32_path:
conv_to_win32_path (/proc/5804/fd)
   27 1652341175 [main] lisp 5804 fhandler_proc::get_proc_fhandler:
get_proc_fhandler(/proc/5804/fd)
   25 1652341200 [main] lisp 5804 set_flags: flags: binary (0x2)
   22 1652341222 [main] lisp 5804 mount_info::conv_to_win32_path: src_path
/proc/5804/fd, dst /proc/5804/fd, flags 0x2, rc 0
   35 1652341257 [main] lisp 5804 build_fh_pc: fh 0x61275DE8, dev 0xFE
   24 1652341281 [main] lisp 5804 fhandler_process::exists: exists (/proc/5804/fd)
   31 1652341312 [main] lisp 5804 lstat64: entering
   31 1652341343 [main] lisp 5804 normalize_posix_path: src /proc/5804/fd/12
   23 1652341366 [main] lisp 5804 normalize_posix_path: /proc/5804/fd/12 =
normalize_posix_path (/proc/5804/fd/12)
   22 1652341388 [main] lisp 5804 mount_info::conv_to_win32_path:
conv_to_win32_path (/proc/5804/fd/12)
   23 1652341411 [main] lisp 5804 fhandler_proc::get_proc_fhandler:
get_proc_fhandler(/proc/5804/fd/12)
   27 1652341438 [main] lisp 5804 set_flags: flags: binary (0x2)
   22 1652341460 [main] lisp 5804 mount_info::conv_to_win32_path: src_path
/proc/5804/fd/12, dst /proc/5804/fd/12, flags 0x2, rc 0
   25 1652341485 [main] lisp 5804 build_fh_pc: fh 0x61275DE8, dev 0xFE
   46 1652341531 [main] lisp 5804 fhandler_process::exists: exists
(/proc/5804/fd/12)
   25 1652341556 [main] lisp 5804 __set_errno: cygheap_fdget::cygheap_fdget(int,
bool, bool):485 setting errno 9
   24 1652341580 [main] lisp 5804 __set_errno: _off64_t format_process_fd(void*,
char*&):386 setting errno 2
   26 1652341606 [main] lisp 5804 mount_info::conv_to_win32_path:
conv_to_win32_path (/proc/5804/fd)
   22 1652341628 [main] lisp 5804 fhandler_proc::get_proc_fhandler:
get_proc_fhandler(/proc/5804/fd)
  116 1652341744 [main] lisp 5804 set_flags: flags: binary (0x2)
   40 1652341784 [main] lisp 5804 mount_info::conv_to_win32_path: src_path
/proc/5804/fd, dst /proc/5804/fd, flags 0x2, rc 0
   28 1652341812 [main] lisp 5804 build_fh_pc: fh 0x61275DE8, dev 0xFE
   62 1652341874 [main] lisp 5804 fhandler_process::exists: exists (/proc/5804/fd)
   26 1652341900 [main] lisp 5804 stat_worker: got 2 error from path_conv
   25 1652341925 [main] lisp 5804 __set_errno: int stat_worker(path_conv&,
__stat64*):1840 setting errno 2
   31 1652341956 [main] lisp 5804 stat_worker: -1 = (/proc/5804/fd/12,0x1335C70)
   25 1652341981 [main] lisp 5804 stat64: entering
   23 1652342004 [main] lisp 5804 normalize_posix_path: src /proc/5804/fd/12
   22 1652342026 [main] lisp 5804 normalize_posix_path: /proc/5804/fd/12 =
normalize_posix_path (/proc/5804/fd/12)
   28 1652342054 [main] lisp 5804 mount_info::conv_to_win32_path:
conv_to_win32_path (/proc/5804/fd/12)
   22 1652342076 [main] lisp 5804 fhandler_proc::get_proc_fhandler:
get_proc_fhandler(/proc/5804/fd/12)
   23 1652342099 [main] lisp 5804 set_flags: flags: binary (0x2)
   25 1652342124 [main] lisp 5804 mount_info::conv_to_win32_path: src_path
/proc/5804/fd/12, dst /proc/5804/fd/12, flags 0x2, rc 0
   31 1652342155 [main] lisp 5804 build_fh_pc: fh 0x61275DE8, dev 0xFE
   23 1652342178 [main] lisp 5804 fhandler_process::exists: exists
(/proc/5804/fd/12)
   24 1652342202 [main] lisp 5804 __set_errno: cygheap_fdget::cygheap_fdget(int,
bool, bool):485 setting errno 9
   24 1652342226 [main] lisp 5804 __set_errno: _off64_t format_process_fd(void*,
char*&):386 setting errno 2
   25 1652342251 [main] lisp 5804 mount_info::conv_to_win32_path:
conv_to_win32_path (/proc/5804/fd)
   23 1652342274 [main] lisp 5804 fhandler_proc::get_proc_fhandler:
get_proc_fhandler(/proc/5804/fd)
   22 1652342296 [main] lisp 5804 set_flags: flags: binary (0x2)
   22 1652342318 [main] lisp 5804 mount_info::conv_to_win32_path: src_path
/proc/5804/fd, dst /proc/5804/fd, flags 0x2, rc 0
   26 1652342344 [main] lisp 5804 build_fh_pc: fh 0x61275DE8, dev 0xFE
   25 1652342369 [main] lisp 5804 fhandler_process::exists: exists (/proc/5804/fd)
   25 1652342394 [main] lisp 5804 stat_worker: got 2 error from path_conv
   22 1652342416 [main] lisp 5804 __set_errno: int stat_worker(path_conv&,
__stat64*):1840 setting errno 2
   26 1652342442 [main] lisp 5804 stat_worker: -1 = (/proc/5804/fd/12,0x1335B20)
  323 1652342765 [main] lisp 5804 ualarm: 0 = ualarm(0 , 0)


The reason for this bizarre behaviour is probably somewhere in pathname.c - but
nothing obvious enough to point the finger at.  However, there are several
places where /proc is special-cased for Linux, but not Cygwin.


Regards,
Achim.



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

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2012-07-27 11:05 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-26  7:05 Maxima can't write to /dev/stdout Achim Gratz
2012-07-26  8:18 ` Corinna Vinschen
2012-07-26  8:46   ` Corinna Vinschen
2012-07-26  9:24   ` Achim Gratz
2012-07-26  9:47     ` Corinna Vinschen
2012-07-26 13:21       ` Earnie Boyd
2012-07-26 17:57       ` Achim Gratz
2012-07-26 18:57         ` Reini Urban
2012-07-26 19:11           ` Achim Gratz
2012-07-26 19:36             ` Reini Urban
2012-07-27  1:54               ` Yaakov (Cygwin/X)
2012-07-27 11:05     ` Achim Gratz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).