-
Notifications
You must be signed in to change notification settings - Fork 2
Critical: Umbraco Commerce crashes after upgrading to .NET 8.0.10 and can't place any orders #565
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Ran into the same issue today after updating Visual Studio. Simple repro is running the demo store with the SDK 8.0.403 installed and then use "Add to cart". |
@tkf-ordeno Good to hear I'm not alone. I'm frankly astonished to see that no one from Umbraco has even reacted to this issue yet. Commerce is completely broken by a servicing update and they just don't care... |
It's been noted, don't worry... as it's closed source I have realised you don't see a link to it, but there's a PR prepared to look to resolve this. We need to test it carefully, but will get it out as a patch release as soon as we can. |
@AndyButland Thanks! Any ETA on an update? |
Nothing further yet than what I just posted above, but as I say, as soon as we have verified the fix we'll get a patch release out. |
Hi @arknu , @tkf-ordeno , Could you test if the issue is fixed with this preview version (Umbraco.Commerce.13.1.7--preview.1.ge33f7ea.nupkg) from the MyGet feed? Thanks |
@acoumb Thanks! I have tested this preview version and it appears that everything is working normally again. |
@acoumb I'm using 14.1, but it is the same issue so I guess you need to apply the same patch to your internal v14 branch afterwards 🙂 |
I'm running 14.1.1 and just ran into this. I was baffled and thought I broke something. Local environment crashes, dev environment still works. I must have updated my local environment when I restarted my computer this morning. |
This servicing update is in the |
@acoumb I have now rolled the fix out to production, as well as reinstalling .NET 8.0.10 and I can confirm that everything is working again. Thank you for fixing this quickly. |
@acoumb thank you for your fix, but we still have issues with this update. The issue appears not immediately, but after some time. |
Hi @TRiV07 , thank you for bringing this to our attention. I will test and try to replicate your use case. Anything specific that could help me replicate it easily? Thanks |
Hi @acoumb |
Confirming that we are seeing a similar issue whereby after a user adds something to their cart and waits some time, requests are failing with a NRE. |
We are also experiencing this issue, also on .net 8.0.8. is there a combination of .net 8 that does work? failing carts is bad for business |
Hi @acoumb / @AndyButland, any update on this issue? We are currently unable to process any orders. |
Hi, I am preparing a patch release to the MyGet feed for you to test. Will be back with details very soon. |
Would a patch version for Umbraco 13 suffice, or should I prepare one for 14 as well? |
For us, this applies to Umbraco 13. |
We are still running some tests before releasing the preview. |
Could you try with this preview version from MyGet: |
@acoumb it does seem to work faster on our cart page, and I don't see concurrent errors (which we had before, when quickly updating multiple quantities). Update:
I see this line was added in the However, the |
@jveer can you try with the demo store as we need to rule out custom code https://github.com/umbraco/Umbraco.Commerce.DemoStore |
We're now over 30 minutes in, and the site is still working. I can set up the DemoStore, but I would first need to verify that the issue is happening on 13.1.7 (waiting 20 minutes+), then with the new patch fix. This will take some time, and I can't promise I'm able to finish that today. I'll get back to you when I have the results of testing. |
No problem. We appreciate your assistance testing this @jveer |
@mattbrailsford I can't reproduce this issue with the DemoStore either with version 13.1.7 (after 30 minutes of running). With the latest patch fix, I also didn't face the issue anymore on our custom implementation. Not sure what was changed, but it seems to have helped. I will do some testing to see if it's related to our custom |
@mattbrailsford disabling the calculators etc.. didn't change much. However, using the version before the last patch ( With the debugger attached, I see that the broken cart uses the While the working cart uses the Not sure if that gives you an idea of where I should look at for debugging? |
Hi @acoumb I tested |
Sounds good, I'll leave it for a bit in monitoring by others who experience this, then proceed with the update. Thank you |
That’s excellent news. Fingers crossed others can confirm the same 🤞🏻 |
Version 13.1.8 is now available on NuGet. The patch for Umbraco 14 will follow soon. Thank you all for the effort. |
We have released this version to production, no more broken carts. |
Closing this issue now, but thank you everyone for your assistance in getting this one sorted. 🙏 |
For anyone reading this issue, it took us a few attempts to get to the bottom of this. It’s advised to upgrade to 13.1.10 or 14.1.5. Sorry for any additional upgrade work you need to do. |
Just a heads up, 13.1.12 and 14.1.17 has been released which fixes some further regressions connected to the same issue so you may wish to upgrade when you have the chance. We now have all the related code under unit test so fingers crossed this is the last we hear of this issue. |
This issue is STILL present in 13.1.17 if you set "isRecurring" to true as described here https://docs.umbraco.com/umbraco-commerce-payment-providers/stripe/how-to-guides/processing-subscription-payments |
@marlonscloud this is not the same and your issue is being addressed in issue #614 |
Describe the bug
After upgrading to .NET 8.0.10, Umbraco Commerce crashes
I have debugged the issues and traced it to the MemoryExtensions class. This class does some reflection on internal state of the .NET MemoryCache class.
The is the (decompiled) code in question:
Unfortunately, the implementation of the internal
CoherentState
class has changed between .NET 8.0.8 and 8.0.10.Here is 8.0.8:
And here is 8.0.10:
Notice how the
_entries
variable has been split into two in 8.0.10.And this is an excellent example of why taking a dependency on internal .NET state like this is very dangerous. You need to fix this ASAP! We are now vulnerable to security issue because we had to downgrade.
This is the full stacktrace of the
NullReferenceException
being thrown:The exact stack trace is really not that relevant, though, as it will crash doing pretty much anything, as most operations go through the
EntityCache
, which again uses these brokenMemoryCache
extensions.Umbraco Commerce version:
13.1.6
This item has been added to our backlog AB#44922
The text was updated successfully, but these errors were encountered: