Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Sign in
issue
issue
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 7
    • Issues 7
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar

新注册的用户请输入邮箱并保存,随后登录邮箱激活账号。后续可直接使用邮箱登录!

  • chainmaker
  • issueissue
  • Issues
  • #1516

Closed
Open
Opened Dec 06, 2025 by 18408235857@184082358571 of 19 tasks completed1/19 tasks

在arm框架下 K8S部署 长安链v2.3.6, 合约无法创建,Invalid external kind

【问题分类】

  • bug
  • P2P网络相关(包含libp2p,liquid)
  • 链账户身份与权限相关(证书问题、public、多签投票问题)
  • 核心交易引擎相关(交易池、DAG)
  • 共识相关
  • 智能合约相关
  • 存储相关
  • SDK相关
  • 长安链CMC工具
  • 长安链管理台
  • 长安链浏览器
  • 长安链合约IDE
  • 长安链web签名插件
  • 跨链相关
  • 轻节点相关
  • 隐私计算相关
  • 密码学相关
  • 环境依赖
  • 其他补充:

【问题描述】(请对问题进行描述,方便定位问题)

image 如图无法进行合约创建(同样的镜像使用docker无该问题)

image

DEBUG日志: image

【系统信息】(请填写系统信息,方便定位问题)

  • chainmaker-go version * : [v2.3.6] **
  • OS & version * : aarch64 GNU/Linux
  • docker镜像 version: chainmaker:v2.3.6 问题是K8S部署的

PS arm架构下 生成的 /usr/lib/wxdec 是x86的,请问下这个文件是如何生成的?

排查进展

汇编

`/* WARNING: Unknown calling convention: __rustcall / / wasmparser::binary_reader::BinaryReader::read_external_kind */

undefined1 [16] __rustcall wasmparser::binary_reader::BinaryReader::read_external_kind (long *param_1,undefined1 (*param_2) [16])

{ ulong uVar1; undefined1 (*extraout_x0) [16]; undefined1 (*extraout_x0_00) [16]; ulong uVar3; ulong uVar4; long lVar5; undefined1 auVar6 [16]; char *pcVar2;

uVar1 = param_1[2]; if (uVar1 < (ulong)param_1[1]) { param_1[2] = uVar1 + 1; uVar3 = (ulong)*(byte *)(param_1 + uVar1); uVar4 = uVar3; switch(uVar3) { case 0: break; case 1: case 2: uVar4 = 0; break; case 3: uVar4 = 0; uVar3 = 4; break; case 4: uVar4 = 0; uVar3 = 3; break; case 5: uVar4 = 0; uVar3 = 6; break; case 6: uVar4 = 0; uVar3 = 7; break; case 7: uVar4 = 0; uVar3 = 5; break; default: lVar5 = param_1[3]; auVar6 = alloc::raw_vec::RawVec<T,A>::allocate_in(0x15,0); pcVar2 = auVar6.0_8; pcVar2[8] = 'e'; pcVar2[9] = 'x'; pcVar2[10] = 't'; pcVar2[0xb] = 'e'; pcVar2[0xc] = 'r'; pcVar2[0xd] = 'n'; pcVar2[0xe] = 'a'; pcVar2[0xf] = 'l'; pcVar2[0] = 'I'; pcVar2[1] = 'n'; pcVar2[2] = 'v'; pcVar2[3] = 'a'; pcVar2[4] = 'l'; pcVar2[5] = 'i'; pcVar2[6] = 'd'; pcVar2[7] = ' '; (char () [8])(pcVar2 + 0xd) = (char [8])0x646e696b206c616e; std::alloc::__default_lib_allocator::__rust_alloc(); if (extraout_x0_00 == (undefined1 () [16])0x0) goto LAB_00621b1c; uVar3 = lVar5 + uVar1; *extraout_x0_00 = auVar6; *(ulong *)(extraout_x0_00[1] + 8) = uVar3; *(undefined8 *)extraout_x0_00[2] = 0; *(undefined8 *)extraout_x0_00[1] = 0x15; uVar4 = 1; param_2 = extraout_x0_00; } } else { lVar5 = param_1[3]; auVar6 = alloc::raw_vec::RawVec<T,A>::allocate_in(0xe,0); auVar6.0_8 = 0x7463657078656e55; builtin_strncpy((char )((long)auVar6.0_8 + 6),"cted EOF",8); std::alloc::__default_lib_allocator::__rust_alloc(); if (extraout_x0 == (undefined1 () [16])0x0) { LAB_00621b1c: / WARNING: Subroutine does not return */ alloc::alloc::handle_alloc_error(); } uVar4 = 1; uVar3 = 0; *extraout_x0 = auVar6; *(undefined8 *)extraout_x0[1] = 0xe; *(ulong *)(extraout_x0[1] + 8) = lVar5 + uVar1; *(undefined8 *)(extraout_x0[2] + 8) = 1; *(undefined8 *)extraout_x0[2] = 1; param_2 = extraout_x0; } auVar6.8_8 = param_2; auVar6.0_8 = uVar4 | (uVar3 & 0xff) << 8; return auVar6; }`

Edited Dec 07, 2025 by 18408235857
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: chainmaker/issue#1516

Copyright © 2021 ChainMaker Org. All Rights Reserved. 长安链 版权所有。