Open Ben52 opened 1 year ago
I suspect this may be caused by a ARM64-incompatible gRPC library that is used by the Microsoft.Azure.WebJobs.Extensions.DurableTask
package, which gets loaded by the Functions host. We've made fixes for this in other contexts, but I don't think we've yet made the fix in the WebJobs extension.
/cc @jviau
@cgillum any timeline on when and if it will be fixed, or if there's any other work around? Its currently holding up a pretty critical upgrade.
It might take some time since the primary developer with the most context just left for vacation. That said, it's an urgent enough issue that I think we'd be able to get to it by no later than next month. Just a guess though.
As for workarounds, are you able to do local development in x86_64 emulation mode (e.g., using Rosetta)?
I downloaded and ran the app using the x64 version, and I'm getting the same error
I'm also getting the same error when running in Windows ARM through Parallels.
Is there any update on this?
@jviau: could you take a look?
See this issue for a workaround: https://github.com/microsoft/durabletask-dotnet/issues/93 - you need to reference Contrib.Grpc.Core.M1
package and also have a copy command as part of your build to bring the libgrpc_csharp_ext.arm64.dylib
from that package into your build output.
A proper fix for this is going to take a bit, as we need to move from Grpc.Core
to Grpc.AspNetCore
- which the functions host already uses, but we will need to investigate the best route for adding extension gRPC services. We are looking into the host having an official prescribed way for extensions to do this.
Please see this issue for explicit workaround instructions.
I'm in the process of upgrading a sizealbe function app from the out of process model to the dotnet-isolated model. After doing all the upgrades, running any function would fail with this error:
After using the process of elimination to track down what was causing the error, I reached the conclusion that having a Durable function in the app would cause running any function in the app to fail. When I removed all the durable functions, the app ran fine. When i added just a minimal durable function as follows:
the app failed again with the same error. I'm running this in an M1 MacBook Pro running Ventura 13.2, using .net 7 and Azure Functions V4 dotnet-isolated model. Here are some relevant parts of my .csproj: