对于segfault命令,它必须在包含文本的文件的目录中运行。没有或组,它不会出现错误。
答案 0 :(得分:0)
为什么以下grep命令会出现段错误
因为它有一个错误。
用户实用程序中的任何崩溃,例如grep
,cp
,ls
等,都是所述实用程序中的错误,您应该报告它有一套重现它所需的最小步骤。
答案 1 :(得分:0)
它似乎与另一个错误相似:" git grep
"使用libpcre2
编译有时会触发段错误
使用Git 2.16(2018年第一季度),这是固定的。
commit a25b908,见commit ce9a257,Ævar Arnfjörð Bjarmason (avar
)(2017年11月23日)
(由Junio C Hamano -- gitster
--合并于commit b3f04e5,2017年12月13日)
下的段错误
grep
:修复-P + PCRE2 <=10.30 + (*NO_JIT)
修复JIT(最常见的运行时配置)下的PCRE2模式编译中的错误。任何带有
(*NO_JIT)
动词的模式都会 任何当前发布的PCRE2版本中的段错误:$ git grep -P '(*NO_JIT)hi.*there' Segmentation fault
这个segfaulted是PCRE2本身的一个错误,在
pcre-dev
上报告它(&#34; How am I supposed to use PCRE2 JIT in the face of (*NO_JIT) ?&#34;)之后,它已经被修复了-be-release版本的PCRE(可能首先发布为10.31) 现在它会死于:$ git grep -P '(*NO_JIT)hi.*there' fatal: pcre2_jit_match failed with error code -45: bad JIT option
但是这个bug的原因在于我们自己的代码可以追溯到我的 94da919(&#34;
grep
:添加对PCRE v2&#34;,2017-06-01,Git 2.14-rc0的支持。正如在此处添加的评论中详细解释的那样,它不是 足以只检查
pcre2_config()
以查看JIT是否应该 使用时,还需要pcre2_pattern_info()
。这是我在摆弄PCRE2时发现自己的东西 模式中的动词传递给git。我不希望任何git用户 考虑到传递PCRE2动词的默默无闻,我遇到了这个问题 到图书馆,以及相对默默无闻的(* NO_JIT) 本身。
同样,这可能不是完全相同的错误,但您可能会考虑在Git 2.16发布后再次测试git grep
,以查看问题是否仍然存在。