delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2020/09/06/15:08:23

X-Recipient: archive-cygwin AT delorie DOT com
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 227D03851C35
Authentication-Results: sourceware.org;
dmarc=none (p=none dis=none) header.from=cs.umass.edu
Authentication-Results: sourceware.org;
spf=pass smtp.mailfrom=moss AT cs DOT umass DOT edu
Subject: Re: ag 2 <(echo 2) gets assertion "p >= path" failed: ..
/cygwin-3.1.7 ... /cygwin/path.cc", line 3065, function: int
symlink_info::check
To: David Dyck <david DOT dyck AT gmail DOT com>, cygwin AT cygwin DOT com
References: <CAJtSMgtgAvB3Fin-gtmU5qr3xYnq4_53S2UD3yqAVDVMkAfMSQ AT mail DOT gmail DOT com>
From: Eliot Moss <moss AT cs DOT umass DOT edu>
Message-ID: <fd1738e4-1847-891b-3376-46b6e6b6cca9@cs.umass.edu>
Date: Sun, 6 Sep 2020 15:07:35 -0400
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101
Thunderbird/68.12.0
MIME-Version: 1.0
In-Reply-To: <CAJtSMgtgAvB3Fin-gtmU5qr3xYnq4_53S2UD3yqAVDVMkAfMSQ@mail.gmail.com>
X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS,
NICE_REPLY_A, SPF_HELO_NONE, SPF_PASS,
TXREP autolearn=ham autolearn_force=no version=3.4.2
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
server2.sourceware.org
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
Reply-To: moss AT cs DOT umass DOT edu
Errors-To: cygwin-bounces AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces AT cygwin DOT com>

On 9/6/2020 2:43 PM, David Dyck via Cygwin wrote:
> This command triggers an assertion failure
>    "ag" is from the_silver_searcher
> 
> $ ag 2 <(echo 2)
> assertion "p >= path" failed: file
> "/home/corinna/src/cygwin/cygwin-3.1.7/cygwin-3.1.7-1.x86_64/src/newlib-cygwin/winsup/cygwin/path.cc",
> line 3065, function: int symlink_info::check(char*, const
> suffix_info*, fs_info&, path_conv_handle&)
> Aborted (core dumped)
> 
>   3473k 2020/08/22 C:\cygwin64\bin\cygwin1.dll
>      Cygwin DLL version info:
>          DLL version: 3.1.7
> bash                                    4.4.12-3                        OK
> the_silver_searcher                     2.2.0-1                         OK
> 
> Wrapping in "bash -c" gives identical results ( see above)
> $ /usr/bin/bash -c '/usr/bin/ag 2 <(echo 2)'
> 
> Turning on some "ag" debugging reveals worker threads and the
> "special" /dev/fd/63 file handle creation ( used with bash "Process
> Substitution" )
> 
> $ /usr/bin/bash -c '/usr/bin/ag -D 2 <(echo 2)'
>   ....
> DEBUG: Query is 2
> DEBUG: PCRE Version: 8.44 2020-02-12
> DEBUG: Using 7 workers
> DEBUG: Thread 0 set to CPU 0
> DEBUG: Thread 1 set to CPU 1
> DEBUG: Worker 1 started
> DEBUG: Worker 0 started
>   ...
> DEBUG: searching path /dev/fd/63 for 2
> assertion "p >= path" failed: file
> "/home/corinna/src/cygwin/cygwin-3.1.7/cygwin-3.1.7-1.x86_64/src/newlib-cygwin/winsup/cygwin/path.cc",
> line 3065, function: int symlink_info::check(char*, const
> suffix_info*, fs_info&, path_conv_handle&)
> Aborted (core dumped)
> 
> 
> I expected behaviour like ack
> 
> $ ack 2 <(echo 2)
> 2
> 
> Noticed that input from pipe works
> 
> $ echo 2 | ag 2
> 2
> 
> I've reported this on github as an "ag" bug, but I think it is a bug in cygwin
>     https://github.com/ggreer/the_silver_searcher/issues/1408
> 
> I would appreciate hearing if someone else can reproduce this issue in
> 3.1.7 or later dll
>    ( 3.1.6 seems to hang )
> 
> Attached cygcheck.out
>    UserName and HostName substituted into cygcheck.out
>    one environment variable deleted

I just tried this:

   grep 2 <(echo 2)

on cygwin 3.1.7 and it worked fine.  I am not familiar with Silver Searcher, but it would
seem that the problem is more idiosyncratic to that program than to Cygwin more generally.
I am _not_ saying the problem is not in Cygwin - only that ag must be doing something
somewhat different from what grep does with <( ) command input.  Perhaps ag is testing
what sort of "thing" (device, etc.) the input file is, while grep does not - something
like that might give different behavior.

Now I have CYGWIN=winsymlinks:native, which may (almost certainly does) affect what
path.cc is doing (the error message is concerned about symlinks; presumably Cygwin
is trying to check whether /dev/fd/63 is a symlink.

Well, those are the clues I can offer :-) ...   EM
--
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

- Raw text -


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