Coder Social home page Coder Social logo

Looting something causes an Error from time to time: WorldClient | Packet Read Error: Nullable object must have a value. about hermesproxy HOT 15 OPEN

wowlegacycore avatar wowlegacycore commented on June 28, 2024
Looting something causes an Error from time to time: WorldClient | Packet Read Error: Nullable object must have a value.

from hermesproxy.

Comments (15)

ratkosrb avatar ratkosrb commented on June 28, 2024

Already fixed. Download the latest release.
https://github.com/WowLegacyCore/HermesProxy/releases/download/v3.0/HermesProxy.Windows.27-05-2022.zip

from hermesproxy.

raderunner avatar raderunner commented on June 28, 2024

Ok, I'll try. I did clone and build the project a few hours ago, though...

from hermesproxy.

ratkosrb avatar ratkosrb commented on June 28, 2024

I don't see how you could possibly have this error if you cloned it today. The error was fixed here.
ced668f#diff-f9db96bb1d8c364fc3324fafe03de736353b8d5b170b719bda870386fadc2388

Try compiling it in Debug so hopefully it shows the exact line on which this issue occurs, instead of the beginning of the function.

from hermesproxy.

raderunner avatar raderunner commented on June 28, 2024

I think it's because I am using the Arctium Launcher Static Seed of the Hermes Repack 17-05-2022. I'm new to C++/C#, so I might have some issues with understanding things. When I build the HermesProxy Project in Visual Studio 2022 I don't get all the dlls that are in the release you have linked (the source I'm using has fixed this issue as well).

When I extract the 27-05-2022 release into my WoW folder to override the old dlls from the 17-05-2022 repack, I get disconnected when I click on the realm. I'm using it with Light's Hope server.

18:14:05 | Error | WorldSocket | WorldSocket.HandleAuthSession: Authentication failed for account: 1 ('admin') address: 127.0.0.1:50173 18:14:05 | Error | AuthClient | Socket Closed By Server

What should I do here? Use a new wow client and extract the hermes27.05.2022 release into it? How do I get the Arctium Launcher Static Seed for the 27.05.2022 version?

from hermesproxy.

ratkosrb avatar ratkosrb commented on June 28, 2024

The launcher is the same. And you're not supposed to extract Hermes into the game folder.

from hermesproxy.

raderunner avatar raderunner commented on June 28, 2024

Ok, got it to running now! I'll play for a while to see if I get this error again.

from hermesproxy.

raderunner avatar raderunner commented on June 28, 2024

Just got this one right now (I'm not formatting in code because the sign was part of the exception).
19:01:08 | Error | WorldClient | Packet Read Error: Nullable object must have a value.
at System.Nullable`1.get_Value()
at HermesProxy.World.Client.WorldClient.HandleItemPushResult(WorldPacket packet) in C:\Users\ratko\Desktop\source\CypherProxy\HermesProxy\HermesProxy\World\Client\PacketHandlers\ItemHandler.cs:line 34
at HermesProxy.World.Client.WorldClient.HandlePacket(WorldPacket packet) in C:\Users\ratko\Desktop\source\CypherProxy\HermesProxy\HermesProxy\World\Client\WorldClient.cs:line 387
at HermesProxy.World.Client.WorldClient.ReceiveCallback(IAsyncResult AR) in C:\Users\ratko\Desktop\source\CypherProxy\HermesProxy\HermesProxy\World\Client\WorldClient.cs:line 216

from hermesproxy.

ratkosrb avatar ratkosrb commented on June 28, 2024

Compile it in Debug, and then post exception, so hopefully it shows the actual line, instead of the beginning of the function.

from hermesproxy.

raderunner avatar raderunner commented on June 28, 2024

nvm that was just a typo in the editor

from hermesproxy.

ratkosrb avatar ratkosrb commented on June 28, 2024

That sounds like a compiler error, not a runtime exception.

from hermesproxy.

ratkosrb avatar ratkosrb commented on June 28, 2024

Show me a picture of HermesProxy right after you start it, and another of the function that begins at line 34 of ItemHandler.cs from Visual Studio.

from hermesproxy.

raderunner avatar raderunner commented on June 28, 2024

Yeah, that was just a typo. I think the nullpointer exception happens at line 75 of ItemHandler.cs:
currentCount = (uint)logEntry.ObjectiveProgress[objective.StorageIndex];

I think this is the case, as I had just one exception with:
19:01:08 | Error | WorldClient | Packet Read Error: Nullable object must have a value.
at System.Nullable`1.get_Value()
at HermesProxy.World.Client.WorldClient.HandleItemPushResult(WorldPacket packet) in C:\Users\ratko\Desktop\source\CypherProxy\HermesProxy\HermesProxy\World\Client\PacketHandlers\ItemHandler.cs:line 75
at HermesProxy.World.Client.WorldClient.HandlePacket(WorldPacket packet) in C:\Users\ratko\Desktop\source\CypherProxy\HermesProxy\HermesProxy\World\Client\WorldClient.cs:line 387
at HermesProxy.World.Client.WorldClient.ReceiveCallback(IAsyncResult AR) in C:\Users\ratko\Desktop\source\CypherProxy\HermesProxy\HermesProxy\World\Client\WorldClient.cs:line 216

It's hard to debug, as the exception is only occuring very rarely when you pick up a quest item. I'm going to continue trying to verfiy this and post an update when it happens again.

from hermesproxy.

Luccifer avatar Luccifer commented on June 28, 2024

Got the same case when you get the NEW quest and the lootable quest item will be the first one you found, so there are no quest items in bag, but this will be the first one, looks like the StorageIndex can be null\nil and there is no such index for code to safe execute, exception might help

from hermesproxy.

raderunner avatar raderunner commented on June 28, 2024

Just confirmed that sometimes logEntry.ObjectiveProgress[objective.StorageIndex] can be null for a StorageIndex when you pick up the first quest item.

The first four values of the ObjectiveProgress array were null as well, so it appears the code in UpdateHandler.ReadQuestLogEntry never reached the following lines:

questLog.ObjectiveProgress[0] = (byte)(updates[index + progressOffset].UInt32Value & 0xFF);
questLog.ObjectiveProgress[1] = (byte)((updates[index + progressOffset].UInt32Value >> 8) & 0xFF);
questLog.ObjectiveProgress[2] = (byte)((updates[index + progressOffset].UInt32Value >> 16) & 0xFF);
questLog.ObjectiveProgress[3] = (byte)((updates[index + progressOffset].UInt32Value >> 24) & 0xFF);

from hermesproxy.

Luccifer avatar Luccifer commented on June 28, 2024

Screenshot_1
Ok, to make a closer loook to a pproblem,, this issue happens when you are tryinng to loot the very first (order is not for quest but for the quantative) object item

F.E.: trying to make quest in Gnomie starting location and on the quest with Frostmorne trolls, when you need to loot 3 places, so the first loot object will cause the critical exception, others after - no, any order, but the very first one choosen by you - exception

from hermesproxy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.