Blarc / ai-commits-intellij-plugin

AI Commits for IntelliJ based IDEs/Android Studio.
https://plugins.jetbrains.com/plugin/21335-ai-commits
MIT License
180 stars 25 forks source link

Error: java.io.IOException - Expected a SETTINGS frame but was WINDOW_UPDATE during commit message generation #226

Open Trileon12 opened 3 weeks ago

Trileon12 commented 3 weeks ago

First of all, thank you for developing the AICommit plugin! It's been a really helpful tool, but I’ve recently encountered an issue.

When I try to generate a commit message, I get the following error:

java.lang.RuntimeException: java.io.IOException: Expected a SETTINGS frame but was WINDOW_UPDATE

I'm using GoLand 2024.2 on Ubuntu 22.04. Interestingly, it works fine on Windows 10, but not on Ubuntu.

Blarc commented 3 weeks ago

Hey @Trileon12, I'm glad you find it useful :smiley: . Could you please add the whole stack trace? Thanks :pray: .

Trileon12 commented 3 weeks ago

Hey @Blarc
Thanks for the quick reply! I'm not entirely sure what you mean by "stack trace" . I'm not seeing any events in the Tail log when the error happens.

I’ve found a few more details while testing it out:

Blarc commented 3 weeks ago

Where do you see the error that you posted? Edit: Can you post a screenshot as well?

Trileon12 commented 3 weeks ago

image

I see it in commit message window

Blarc commented 3 weeks ago

Huh, it seems this error has something to do with http2. A quick google suggests that the problem might be in the size of the data sent. Could you maybe test if this error only appears if the diff is really big?

Furthermore, can you please tell me which LLM client are you using? This might be a bug in langchain4j.

Trileon12 commented 3 weeks ago

I think this error definitely doesn't depend on the diff size. I tried using it with a small diff (just one line) and got the same error. I use the gpt-4o model.

Blarc commented 3 weeks ago

Could you maybe try with the development version of the plugin from GitHub actions: link.

The plugin should now re-throw the exception and the whole stack trace will be logged by the IDE. This way I'll have more information and be able to open an issue in langchain4j.

You can follow these instructions to install the plugin from zip.

Trileon12 commented 3 weeks ago

tail_log.txt

I've attached a file with the log for one request.

Blarc commented 1 week ago

I've posted a question about how to force http/1.1 on langchain4j and will try to add this option if possible.

Please update, if anything changes in the meantime @Trileon12.

Thank you :pray: .

Blarc commented 1 week ago

According to this reply from langchain4j, it is currently not possible to force http/1.1.

Trileon12 commented 1 week ago

Hey Blarc, thanks for keeping me updated! As I understand it, there's currently no way to force HTTP/1.1, but I'll be happy to test it when this feature becomes available. If anything changes on my side, I'll let you know. Thanks a lot for your work and support!