github / github/copilot-cli

Unrecoverable timeouts when WAITFOR DELAY occurs anywhere. Poison pill

オープン
#3,747 コメント 1 件 リアクション 1 件 担当者 0 名 GitHub で見る
area:models area:networking
主要言語
Shell
スター
11.2k
フォーク
1.9k
平均マージ
14時間 16分
マージ済み PR(30日)
6

説明

### Describe the bug

Copilot will enter into a faulted state anytime the text 'WAITFOR DELAY' is encountered, either within the prompt or when copilot reads a file. With ANY model.

To test, Try with this prompt:
`Explain what WAITFOR DELAY does in MSSQL.`

```
Result:
● Request failed due to a transient API error. Retrying...

● Request failed due to a transient API error. Retrying...

● Request failed due to a transient API error. Retrying...

● Request failed due to a transient API error. Retrying...

● Request failed due to a transient API error. Retrying...

✗ Execution failed: Error: Failed to get response from the AI model; retried 5 times (total retry wait time: 6.00 seconds) Last error: CAPIError: Connection error.
```

The context becomes unrecoverable and the only fix is `/new. `

Also try putting that text inside a file. I tested with a C# file and added that text as a comment and asked copilot to explain the file.

Here is the file:
using System;

```
class Program
{
-- Main function WAITFOR DELAY
static void Main()
{
Console.WriteLine("Hello, World!");
}
}
```

```
Explain @Test.Api\Program.cs

◐ I need to look at the Program.cs file from the Test.Api project to understand what it does.

● Read Program.cs
│ Test.Api\Program.cs
└ 11 lines read

● Request failed due to a transient API error. Retrying...

● Request failed due to a transient API error. Retrying...

● Request failed due to a transient API error. Retrying...

● Request failed due to a transient API error. Retrying...

● Request failed due to a transient API error. Retrying...

✗ Execution failed: Error: Failed to get response from the AI model; retried 5 times (total retry wait time: 6.00 seconds) Last error: CAPIError: Connection error.
```

If I remove the comment, the correct hello world explanation is returned.

To me this is a critical bug because this poison pill could be injected into any file effectively crippling copilot as it ingests files to build its context.

### Affected version

1.0.61

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

`WAITFOR DELAY` を含むプロンプトで失敗を再現し、次に、表示されている C# ファイル内の同じテキストで再現して、コメントを削除した後のファイルと比較します。5 回の再試行と、その結果として faulted 状態になったコンテキストの周辺の動作を追跡します。完了の条件は、そのテキストによって回復不能な失敗が発生しなくなり、`/new` を必要とせずにそのファイルを引き続き説明できることです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
shell
領域
ai, cli
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。