Lagrange.Core icon indicating copy to clipboard operation
Lagrange.Core copied to clipboard

[Bug]: 在Armhf架构的Linux设备上运行,无法连接至腾讯登录服务器 `Invalid count to read, count: -4 fail`

Open EillesWan opened this issue 1 year ago • 5 comments

请确保您已阅读以上注意事项,并勾选下方的确认框。

  • [X] 我已经仔细阅读上述内容
  • [X] 我已经使用 最新构建 测试过,问题依旧存在。
  • [X] 我已经在 Issue Tracker 中找过我要提出的问题,没有找到相同问题的ISSUE。
  • [x] 我已知晓并同意,此处仅用于汇报程序中存在的问题。若这个 Issue 是关于其他非程序本身问题,则我的 Issue 可能会被无条件自动关闭或/并锁定。(其它疑问请考虑加入TG群询问或在discussions中提问)

Lagrange项目

OneBot

所使用/依赖的Lagrange项目对应的commit

f219082(日前最新Release)

运行环境

Linux

运行架构

arm

连接方式

反向 WebSocket

重现步骤

于Actions中Build内下载,使用上述设备运行:Linux on Armhf(32位) 无论是否使用扫码登陆/密码登录,皆无法改变该错误。

期望的结果是什么?

正常登录,或出现扫码登录选项之类。

实际的结果是什么?

重复出现以下日志报错。

简单的复现代码/链接(可选)

No response

Trace 级别日志记录(可选)

info: Lagrange.Core.BotContext[0]
      [2024-07-17 05:52:29] [SocketContext] [INFORMATION]: Reconnect to http://114.221.149.227:8080/
fail: Lagrange.Core.BotContext[0]
      [2024-07-17 05:52:29] [SocketContext] [FATAL]: Socket Error: Invalid count to read, count: -4
fail: Lagrange.Core.BotContext[0]
      [2024-07-17 05:52:29] [SocketContext] [FATAL]:    at Lagrange.Core.Utility.Binary.BinaryPacket.ReadBytes(Int32 count)
         at Lagrange.Core.Internal.Packets.SsoPacker.Parse(BinaryPacket packet)
         at Lagrange.Core.Internal.Context.PacketContext.DispatchPacket(BinaryPacket packet)
         at Lagrange.Core.Internal.Context.SocketContext.OnRecvPacket(ReadOnlySpan`1 packet)
         at Lagrange.Core.Internal.Network.CallbackClientListener.OnRecvPacket(ReadOnlySpan`1 packet)
         at Lagrange.Core.Internal.Network.ClientListener.ReceiveLoop(SocketSession session, CancellationToken token)
fail: Lagrange.Core.BotContext[0]
      [2024-07-17 05:52:29] [SocketContext] [FATAL]: Socket Disconnected, Scheduling Reconnect
fail: Lagrange.Core.BotContext[0]
      [2024-07-17 05:52:29] [SocketContext] [FATAL]: Socket Error: Invalid count to read, count: -4
fail: Lagrange.Core.BotContext[0]
      [2024-07-17 05:52:29] [SocketContext] [FATAL]:    at Lagrange.Core.Utility.Binary.BinaryPacket.ReadBytes(Int32 count)
         at Lagrange.Core.Internal.Packets.SsoPacker.Parse(BinaryPacket packet)
         at Lagrange.Core.Internal.Context.PacketContext.DispatchPacket(BinaryPacket packet)
         at Lagrange.Core.Internal.Context.SocketContext.OnRecvPacket(ReadOnlySpan`1 packet)
         at Lagrange.Core.Internal.Network.CallbackClientListener.OnRecvPacket(ReadOnlySpan`1 packet)
         at Lagrange.Core.Internal.Network.ClientListener.ReceiveLoop(SocketSession session, CancellationToken token)
fail: Lagrange.Core.BotContext[0]
      [2024-07-17 05:52:29] [SocketContext] [FATAL]: Socket Disconnected, Scheduling Reconnect
(后重复)

补充说明(可选)

设备:Surface RT 芯片:NVIDIA Tegra 3(Armhf架构) 内存:2GB 操作系统:RaspiOS-Bookworm (2023.10.10发行版)

此错误类似 #247 中 @Executor-Cheng 的评论,但与该issue下其他人的状况均不甚相符。以上错误出现的时间阶段较早。

EillesWan avatar Jul 16 '24 22:07 EillesWan

现在那个 Socket Error: Invalid count to read, count: 后面的数字变得不一定是 -4 了。……

EillesWan avatar Aug 11 '24 04:08 EillesWan

可能已经修复 请尝试

Linwenxuan04 avatar Aug 13 '24 20:08 Linwenxuan04

并未,出现疑似新的问题,开启Trace级日志后输出如下:

info: Lagrange.Core.BotContext[0]
      [2024-08-14 11:56:42] [SocketContext] [INFORMATION]: Reconnect to http://36.155.205.230:8080/
trce: Lagrange.Core.BotContext[0]
      [2024-08-14 11:56:42] [ServiceContext] [DEBUG]: Outgoing SSOFrame: trpc.qq_new_tech.status_svc.StatusService.Register
fail: Lagrange.Core.BotContext[0]
      [2024-08-14 11:56:42] [SocketContext] [FATAL]: Socket Error: Not enough data to read, remaining: 131 required: 5062604
trce: Lagrange.Core.BotContext[0]
      [2024-08-14 11:56:42] [SocketContext] [DEBUG]: Data: 000000a70000000c02a000000005308d334403494d04e2337782158892828abb424185684765c8171614f89f7d4775e61c1f515063e7573bb8edf9d1f81e676039c2be6b1e34454e2e2ac74ad39c22d45720befcf83ff801d3e599425e3a66ac9b9e225ff5498f262bcb1a512ea88a6e91aabdcb112ee8aaed5b357a6a366da35b049214c9281fcea132c55ba4f78c64b7261aaae2ab1b0484056f87f61be80e8abc642178d55c
fail: Lagrange.Core.BotContext[0]
      [2024-08-14 11:56:42] [SocketContext] [FATAL]: Socket Disconnected, Scheduling Reconnect
fail: Lagrange.Core.BotContext[0]
      [2024-08-14 11:56:42] [SocketContext] [FATAL]:    at Lagrange.Core.Utility.Binary.BinaryPacket.ReadBytes(Prefix flag)
         at Lagrange.Core.Internal.Packets.SsoPacker.Parse(BinaryPacket packet)
         at Lagrange.Core.Internal.Context.PacketContext.DispatchPacket(BinaryPacket packet)
         at Lagrange.Core.Internal.Context.SocketContext.OnRecvPacket(ReadOnlySpan`1 packet)
         at Lagrange.Core.Internal.Network.CallbackClientListener.OnRecvPacket(ReadOnlySpan`1 packet)
         at Lagrange.Core.Internal.Network.ClientListener.ReceiveLoop(SocketSession session, CancellationToken token)
fail: Lagrange.Core.BotContext[0]
      [2024-08-14 11:56:42] [SocketContext] [FATAL]: Socket Disconnected, Scheduling Reconnect
fail: Lagrange.Core.BotContext[0]
      [2024-08-14 11:56:42] [SocketContext] [FATAL]:    at Lagrange.Core.Utility.Binary.BinaryPacket.ReadBytes(Prefix flag)
         at Lagrange.Core.Internal.Packets.SsoPacker.Parse(BinaryPacket packet)
         at Lagrange.Core.Internal.Context.PacketContext.DispatchPacket(BinaryPacket packet)
         at Lagrange.Core.Internal.Context.SocketContext.OnRecvPacket(ReadOnlySpan`1 packet)
         at Lagrange.Core.Internal.Network.CallbackClientListener.OnRecvPacket(ReadOnlySpan`1 packet)
         at Lagrange.Core.Internal.Network.ClientListener.ReceiveLoop(SocketSession session, CancellationToken token)
fail: Lagrange.Core.BotContext[0]
      [2024-08-14 11:56:42] [SocketContext] [FATAL]: Socket Error: Not enough data to read, remaining: 131 required: 5062604
trce: Lagrange.Core.BotContext[0]
      [2024-08-14 11:56:47] [ServiceContext] [DEBUG]: Outgoing SSOFrame: Heartbeat.Alive
(后除了Data不一样外皆重复,且Ctrl+C无法停止运行)

使用的build所属commit为7f67ae9

运行环境未变,补充DotNet版本信息: 版本: 8.0.7 架构:ARM COMMIT:2aade6beb0 RID:linux-arm

运行时包含: Microsoft.AspNetCore.App 8.0.7 Microsoft.NETCore.App 8.0.7

EillesWan avatar Aug 14 '24 04:08 EillesWan

新版本可能修复

Decrabbityyy avatar Aug 18 '24 10:08 Decrabbityyy

并未,同上评论之错误,且拉格兰执行后无法透过 Ctrl+C 关闭

EillesWan avatar Aug 19 '24 06:08 EillesWan

若将运行时限定为x86也会发生类似问题。 image

错误时的Packet:

0000039F0000000C02000000000530DFF08FED7A1CEF686B948CAD974B24A6D58ED1D502C7253D34764CA80CD0D4D5A95724D9306C2E2E957C0477BE70B3677B6C842385217175713780B9AE909262FDDC006F15F1BA6751A77C5C55B7186C4977B5B3CF59F4C0D30CA9EDECAD9886922C51BC24BDA3861EE2E6A08B380251738E840DC3D3C7E00947810D940530A21BE9A0501AE8F9E6C4ADBEBD55215095E242B916AF6316E8128E129A787EDC7B4D581CA2BC5EC6B01C1DF5C6714CABA1D422494B590C58334B9CFCFBBD65133A439B643B64E31ACCC476BE9EB8044008727B396510E9EED1BAFE61C29AFEC0DA60065C45D8C5FE10F966C37CA9E2E9D7D371FBE4A724EBDAE351432A313E458B2E09B569430012272332B53C6FB1BA0BC9883518DC62B4C60ABF4161443DA6393D74915CB1C5695B1BAA321D34A53E963CAE31789E34072EE7CDBF210AAC4FD4BD58723B4BDDCB406CF5736BA2FDBED7926FF640AEA0F4EFA72A469A661637F96D42E9C1108CDBC598CB219600AC15E0CE3B9ABD5F1A8FAA216FA399EC675427F09A3A30FFAC26EE747A56795B38085EA45A8CF46580E51A8531336CE82D5E8D45D60950906D41AC0634EFCDBC1B752579B8500866896429179D0D4F8D7C087A13867985A182463DD847E648DFA113571152BA38458F243D1F7331F0E0E0EAE37290E8F2BBD4A8C44D59253EEBBDD49385
C76C659BC05A9F4DA1165D83EE87249F4EE26D0C1E2C3ED32D09C7D76634A699260EDF4541DD98FF7FD8DC7544742FDA67EACD0BCEF169390C4D05CB2108792AE3BD813B1DF7C6F4412EEBBFB8AE82913E00AE77C249DA65A9A7A6DE6FC4871C8D509955A6ADD460AB313A88EE808E1516243ECD87A9C489F6224020EAC39F0CFA5260A8180A063EFE8148C9728F8C69565C9F43380E97E8A85C56921674982B5697B06A85845B13C428811BABF25338F4B7F236800829855219112D69053C3F73D8547A637316CC63A71D4C9B631A04D61CB906228EFEDB956BF494F13F019B29FB0B55F64727BFF3CAD608A4A7042B09A1439846DCA862438598B36A20B9241CA7AE1BC169290910F69541F5477A787F82690A7F031D271449CBACD5CC3D42CB37B5045524452F17A9BF6A272FFFFF3F8B5C9C68F4FE8B5EB0B34B2070764E9ECDF5F3515EBA6CA1F32A98867A6E4E8BE5ED9E09A828EA551E87D50EC1BA63CA4832A2BFE47757FEEED4815E6CE7BD628DEBD046247470EEB63E982F451C963594FB7A4619EE01E8AB9478A2CF7220741440DE2DCB6A0D95912A192CDE04
info: Lagrange.Core.BotContext[0]
      [2024-12-31 17:27:34] [SocketContext] [VERBOSE]: Server: http://42.81.184.82:8080/ Latency: 40
fail: Lagrange.Core.BotContext[0]
      [2024-12-31 17:28:29] [SocketContext] [FATAL]: Socket Error: Invalid count to read, count: -1878851524
fail: Lagrange.Core.BotContext[0]
      [2024-12-31 17:28:29] [SocketContext] [FATAL]:    at Lagrange.Core.Utility.Binary.BinaryPacket.ReadBytes(Prefix flag) in D:\Code\Another-Mirai-Native2\Protocol_LagrangeCore\Lagrange.Core\Lagrange.Core\Utility\Binary\BinaryPacket.cs:line 254
         at Lagrange.Core.Internal.Packets.SsoPacker.Parse(BinaryPacket packet) in D:\Code\Another-Mirai-Native2\Protocol_LagrangeCore\Lagrange.Core\Lagrange.Core\Internal\Packets\SsoPacker.cs:line 57
         at Lagrange.Core.Internal.Context.PacketContext.DispatchPacket(BinaryPacket packet) in D:\Code\Another-Mirai-Native2\Protocol_LagrangeCore\Lagrange.Core\Lagrange.Core\Internal\Context\PacketContext.cs:line 91
         at Lagrange.Core.Internal.Context.SocketContext.OnRecvPacket(ReadOnlySpan`1 packet) in D:\Code\Another-Mirai-Native2\Protocol_LagrangeCore\Lagrange.Core\Lagrange.Core\Internal\Context\SocketContext.cs:line 71
         at Lagrange.Core.Internal.Network.CallbackClientListener.OnRecvPacket(ReadOnlySpan`1 packet) in D:\Code\Another-Mirai-Native2\Protocol_LagrangeCore\Lagrange.Core\Lagrange.Core\Internal\Network\CallbackClientListener.cs:line 15
         at Lagrange.Core.Internal.Network.ClientListener.ReceiveLoop(SocketSession session, CancellationToken token) in D:\Code\Another-Mirai-Native2\Protocol_LagrangeCore\Lagrange.Core\Lagrange.Core\Internal\Network\ClientListener.cs:line 142

Hellobaka avatar Dec 31 '24 09:12 Hellobaka

2025 年了,让我们来试试 32 位 Arm 处理器还能不能跑拉格兰 doge

EillesWan avatar Jan 31 '25 20:01 EillesWan

同志们,成功了,在当前版本测试~

EillesWan avatar Jan 31 '25 20:01 EillesWan