Skip to content

[Bug] Incompatible Language version 15. Must be between 13 and 14 #52

@Prodesire

Description

@Prodesire

Bug Description

When iac-code generates Terraform templates, it throws an error: Incompatible Language version 15. Must be between 13 and 14. This appears to be a version incompatibility between tree-sitter and the language grammar packages (e.g., tree-sitter-language-pack).

The root cause is likely that tree-sitter 0.24.0 only supports language ABI versions 13–14, but the installed language grammar (from tree-sitter-language-pack) was compiled with ABI version 15, which requires a newer version of tree-sitter.

Related upstream issue: tree-sitter/py-tree-sitter#355

Steps to Reproduce

  1. Run iac-code
  2. Enter the following prompt:
生成terraform模版,在阿里云上,region为cn-beijing.

* 创建一个vpc,cidr为172.16.0.0/16.

* 每个vpc内有三个vswitch,vswitch都在cn-beijing-k。
1. vswitchC,cidr是172.16.1.0/24。
2. vswitchPH, cidr是172.16.2.0/24。这个vswitch的eni绑定安全组,连通策略为组内隔离,允许源是172.16.2.0/24目的端口是4789的udp报文进入,允许源是172.16.2.0/24目的端口是179的tcp报文。
3. vswitchSG,cidr是172.16.3.0/24。这个vswitch的eni绑定安全组,连通策略为组内隔离,允许源是172.16.3.0/24目的端口是4789的udp报文进入,允许源是172.16.2.0/24目的端口是179的tcp报文。

* 创建四个ecs:
1. ecs1~ecs4的主网卡都在vswitchC中,ecs1的hostname是ecs10,ip是172.16.1.10和;ecs2的hostname是ecs11,ip是172.16.1.11。ecs3的hostname是vxlan-gateway-PH,ip是172.16.1.6,ecs4的hostname是vxlan-gateway-SG,ip是172.16.1.7。
2. ecs1还有两个辅助网卡,辅助网卡1在vswitchPH中,ip是172.16.2.10;辅助网卡2在vswitchSG,ip是172.16.3.10。
3. ecs2还有两个辅助网卡,辅助网卡1在vswitchPH中,ip是172.16.2.11;辅助网卡2在vswitchSG,ip是172.16.3.11。
4. ecs3还有一个辅助网卡,辅助网卡在vswitchPH, ip是172.16.2.6。
5. ecs4还有一个辅助网卡,辅助网卡在vswitchSG中,ip是172.16.3.7。

* ecs1的初始化脚本(init脚本),通过"自定义数据"传入:
0. 等待eth1和eth2网卡被挂载,且为up
1. 配置vxlan接口vxlan0,没有remote不绑定dev,ip地址为10.0.1.10,up

* ecs2的初始化脚本(init脚本),通过"自定义数据"传入:
0. 等待eth1和eth2网卡被挂载,且为up
1. 配置vxlan接口vxlan0,没有remote不绑定dev,ip地址为10.0.1.11,mac地址为12:00:01:0:1:0B,up

* ecs3的初始化脚本(init脚本),通过"自定义数据"传入:
0. 等待eth1,且为up

* ecs4的初始化脚本(init脚本),通过"自定义数据"传入:
0. 等待eth1,且为up
  1. Wait for iac-code to generate the Terraform template
  2. Observe the error during code generation/parsing

Expected Behavior

iac-code should generate the Terraform template without any tree-sitter version compatibility errors.

Actual Behavior

The following error is displayed in red during the response:

错误:Incompatible Language version 15. Must be between 13 and 14

The error occurs after iac-code reads reference files and attempts to generate/parse the Terraform code.

Operating System

macOS

Python Version

3.12.7

iac-code Version

0.3.0

Additional Context

Installed tree-sitter related packages:

  • tree-sitter: 0.24.0
  • tree-sitter-language-pack: 0.7.3
  • tree-sitter-languages: 1.10.2

The version constraint in pyproject.toml is tree-sitter>=0.23, which allows installing 0.24.x. However, tree-sitter-language-pack 0.7.3 appears to ship grammars compiled with ABI version 15, which requires tree-sitter>=0.25.

Possible fix: either pin tree-sitter to a compatible version (e.g., >=0.23,<0.25) or upgrade to tree-sitter>=0.25 to support ABI version 15.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No fields configured for Bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions