Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Bad type/missing conversion in `RecvProxy_StringToString`

Ouverte
#210 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
52/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
csharp
Domaine
backend, game-dev

Piste de recherche

Start in Source.NET/Source.Common/DtRecv.cs at RecvProxy_StringToString, then follow the stack trace into FieldAccessors.cs and FieldAccess.cs to understand the failed Char-to-InlineArray512 conversion. Reproduce the crash while loading a map with the affected entities; the issue does not identify which entities. Done when those entities load without the conversion exception.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Prevents loading into servers on maps with certain entities (unknown what exact entities are causing it)

Unhandled exception. System.NotSupportedException: No conversion from System.Char to Source.InlineArray512`1[System.Char]
   at Source.Common.FieldConvert`2.Create() in Source.NET/Source.Common/FieldAccessors.cs:line 176
   at Source.Common.ArrayFieldAccessor`2.SetElement[T](Object instance, Int32 index, T& value) in Source.NET/Source.Common/FieldAccessors.cs:line 143
   at Source.Common.DynamicArrayIndexAccessor.SetValue[T](Object instance, T& value) in Source.NET/Source.Common/FieldAccess.cs:line 66
   at Source.Common.DynamicAccessor.CopyFrom[T](Object instanceFrom, Span`1 target) in Source.NET/Source.Common/FieldAccess.cs:line 169
   at Source.Common.RecvPropHelpers.RecvProxy_StringToString(RecvProxyData& data, Object instance, IFieldAccessor field) in Source.NET/Source.Common/DtRecv.cs:line 75
   at Source.Engine.PropTypeFns.String_Decode(DecodeInfo& decodeInfo) in Source.NET/Source.Engine/DtEncode.cs:line 465
   at Source.Engine.PropTypeFns.Array_Decode(DecodeInfo& decodeInfo) in Source.NET/Source.Engine/DtEncode.cs:line 573
   at Source.Engine.EngineRecvTable.Decode(RecvTable table, Object instance, bf_read inRead, Int32 objectID, Boolean updateDTI) in Source.NET/Source.Engine/EngineRecvTable.cs:line 393
   at Source.Engine.CL.CopyNewEntity(EntityReadInfo u, Int32 iClass, Int32 iSerialNum) in Source.NET/Source.Engine/CL.cs:line 572
   at Source.Engine.Client.ClientState.ReadEnterPVS(EntityReadInfo u) in Source.NET/Source.Engine/Client/ClientState.cs:line 1229
   at Source.Engine.Client.ClientState.ReadPacketEntities(EntityReadInfo u) in Source.NET/Source.Engine/Client/ClientState.cs:line 1143
   at Source.Engine.CL.ProcessPacketEntities(SVC_PacketEntities entmsg) in Source.NET/Source.Engine/CL_EntsParse.cs:line 57
   at Source.Engine.Client.ClientState.ProcessPacketEntities(SVC_PacketEntities msg) in Source.NET/Source.Engine/Client/ClientState.cs:line 506
   at Source.Engine.Client.BaseClientState.ProcessMessage[T](T message) in Source.NET/Source.Engine/Client/BaseClientState.cs:line 331
   at Source.Common.Networking.NetMessage.Process() in Source.NET/Source.Common/Networking/IConnectionlessPacketHandler.cs:line 312
   at Source.Common.Networking.NetChannel.ProcessMessages(bf_read buf) in Source.NET/Source.Engine/NetChannel.cs:line 906
   at Source.Common.Networking.NetChannel.CheckReceivingList(FragmentStream list) in Source.NET/Source.Engine/NetChannel.cs:line 741
   at Source.Common.Networking.NetChannel.ProcessPacket(NetPacket packet, Boolean hasHeader) in Source.NET/Source.Engine/NetChannel.cs:line 705
   at Source.Common.Networking.Net.ProcessSocket(NetSocketType sock, IConnectionlessPacketHandler handler) in Source.NET/Source.Engine/Net.cs:line 289
   at Source.Engine.CL.ReadPackets(Boolean finalTick) in Source.NET/Source.Engine/CL.cs:line 97
   at Source.Engine.Host._RunFrame_Client(Boolean finalTick) in Source.NET/Source.Engine/Host.cs:line 393
   at Source.Engine.Host._RunFrame(Double time) in Source.NET/Source.Engine/Host.cs:line 253
   at Source.Engine.Host.RunFrame(Double frameTime) in Source.NET/Source.Engine/Host.cs:line 426
   at Source.Engine.HostState.State_Run(Double frameTime) in Source.NET/Source.Engine/HostState.cs:line 248
   at Source.Engine.HostState.Source.Common.Engine.IHostState.Frame(Double time) in Source.NET/Source.Engine/HostState.cs:line 91
   at Source.Engine.GameEngine.Frame() in Source.NET/Source.Engine/GameEngine.cs:line 151
   at Source.Engine.ClientLauncherAPI.MainLoop() in Source.NET/Source.Engine/ClientLauncherAPI.cs:line 162
   at Source.Engine.Mod.Main() in Source.NET/Source.Engine/Mod.cs:line 34
   at Source.Engine.ClientLauncherAPI.RunListenServer() in Source.NET/Source.Engine/ClientLauncherAPI.cs:line 79
   at Source.Engine.ClientLauncherAPI.Main() in Source.NET/Source.Engine/ClientLauncherAPI.cs:line 102
   at Source.Engine.ClientLauncherAPI.Run() in Source.NET/Source.Engine/ClientLauncherAPI.cs:line 94
   at Source.Launcher.Bootloader.Boot() in Source.NET/Source.Launcher/Program.cs:line 110
   at Source.Launcher.Program.Main(String[] _) in Source.NET/Source.Launcher/Program.cs:line 153
Langage dominant
C#
Étoiles
104
Forks
9
Merge moyen
6 h 45 min
PR mergées (30 j)
118

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de SourceDotNET/Source.NET

Toutes les issues de SourceDotNET/Source.NET

Issues similaires

Plus d'issues C#

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.