Open
Description
When the Google API returns an error, there appears to be a race condition in shell-maker.el, which co-mingles error messages from shell-maker with error messages from the remote API.
the API returns:
{
"error": {
"code": 400,
"message": "Developer instruction is not enabled for models/gemma-3-27b-it",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"detail": "[ORIGINAL ERROR] generic::invalid_argument: Developer instruction is not enabled for models/gemma-3-27b-it [google.rpc.error_details_ext] { message: \"Developer instruction is not enabled for models/gemma-3-27b-it\" }"
}
]
}
}
Curl returns:
curl: (22) The requested URL returned error: 400
The error is expected (See #333). But the output shown in chatgpt-shell sort of mangles those two error messages together, and confuses things:
Gemini(2.0-flash/General)>
<shell-maker-interrupted-command>
Gemini(gemma-3-27b-it/General)> hello there
<shell-maker-end-of-prompt>
curl: (22) The requestedDeveloper instruction is not enabled for models/gemma-3-27b-itURL returned error: 400
<shell-maker-failed-command>
Gemini(gemma-3-27b-it/General)> hello there
curl: (22) The requested URL returned error: 400Developer instruction is not enabled for models/gemma-3-27b-it
<shell-maker-failed-command>
Gemini(gemma-3-27b-it/General)> hello there
<shell-maker-end-of-prompt>
Developer instruction is not enabled for models/gemma-3-27b-itcurl: (22) The requested URL returned error: 400
<shell-maker-failed-command>
Gemini(gemma-3-27b-it/General)>
In the first case above , I had no debugger. In the 2nd and 3rd, I had been using edebug within shell-maker-execute-command
Maybe the race condition is between on-output
and on-finished
in that fn.
Metadata
Metadata
Assignees
Labels
No labels