X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.1 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,RCVD_NUMERIC_HELO,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org To: cygwin AT cygwin DOT com From: Achim Gratz Subject: Re: Maxima can't write to /dev/stdout Date: Fri, 27 Jul 2012 11:05:17 +0000 (UTC) Lines: 173 Message-ID: References: <20120726081722 DOT GA5132 AT calimero DOT vinschen DOT de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit User-Agent: Loom/3.14 (http://gmane.org/) X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 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//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//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