I’m experiencing a critical issue when running EF Core migrations on macOS (Apple Silicon) using ABP v9 with the Devart Oracle provider.
I recently upgraded from .NET 8 to .NET 9 and was able to run migrations without issue prior to the upgrade. Migrations targeting SQL Server are not affected — the issue appears specific to Oracle (Devart) on macOS.
I’d appreciate guidance on whether this is a known limitation or if there is a recommended configuration.
Exception message and full stack trace:
Fatal error. System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. at System.Runtime.InteropServices.Marshal.WriteInt32(IntPtr, Int32, Int32) at CeFcm4kuMpCvdFmV8C.uTJxbl9WRAXV6jfcAd.JipZQKrCeCqytYrGNyd(IntPtr, Int32) at CeFcm4kuMpCvdFmV8C.uTJxbl9WRAXV6jfcAd.K9otpUdIVy() at <Module>..cctor() at update.EntityFrameworkCore.updateDbContextFactory.CreateDbContext(System.String[]) at System.RuntimeMethodHandle.InvokeMethod(System.Object, Void**, System.Signature, Boolean) at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(System.Object, System.Span1<System.Object>, System.Reflection.BindingFlags) at System.Reflection.MethodBaseInvoker.InvokeWithOneArg(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo) at System.Reflection.RuntimeMethodInfo.Invoke(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo) at Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations.CreateContextFromFactory(System.Type, System.Type) at Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations+<>c__DisplayClass29_0.<FindContextFactory>b__0() at Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations.CreateContext(System.String, System.Collections.Generic.KeyValuePair2<System.Type,System.Func1<Microsoft.EntityFrameworkCore.DbContext>>) at Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations.CreateContext(System.String) at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.AddMigration(System.String, System.String, System.String, System.String, Boolean) at Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigrationImpl(System.String, System.String, System.String, System.String, Boolean) at Microsoft.EntityFrameworkCore.Design.OperationExecutor+AddMigration+<>c__DisplayClass0_0.<.ctor>b__0() at Microsoft.EntityFrameworkCore.Design.OperationExecutor+OperationBase+<>c__DisplayClass3_01[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].<Execute>b__0() at Microsoft.EntityFrameworkCore.Design.OperationExecutor+OperationBase.Execute(System.Action) at Microsoft.EntityFrameworkCore.Design.OperationExecutor+OperationBase.Execute[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.Func1<System.__Canon>) at Microsoft.EntityFrameworkCore.Design.OperationExecutor+AddMigration..ctor(Microsoft.EntityFrameworkCore.Design.OperationExecutor, Microsoft.EntityFrameworkCore.Design.IOperationResultHandler, System.Collections.IDictionary) at System.RuntimeMethodHandle.InvokeMethod(System.Object, Void**, System.Signature, Boolean) at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(System.Object, System.Span1<System.Object>, System.Reflection.BindingFlags) at System.Reflection.MethodBaseInvoker.InvokeWithFewArgs(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo) at System.Reflection.RuntimeConstructorInfo.Invoke(System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo) at System.RuntimeType.CreateInstanceImpl(System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo) at Microsoft.EntityFrameworkCore.Tools.ReflectionOperationExecutor.Execute(System.String, System.Object, System.Collections.IDictionary) at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid4[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.Runtime.CompilerServices.CallSite, System.__Canon, System.__Canon, System.__Canon, System.__Canon) at Microsoft.EntityFrameworkCore.Tools.OperationExecutorBase.InvokeOperationImpl(System.String, System.Collections.IDictionary) at Microsoft.EntityFrameworkCore.Tools.OperationExecutorBase.InvokeOperation[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.String, System.Collections.IDictionary) at Microsoft.EntityFrameworkCore.Tools.OperationExecutorBase.AddMigration(System.String, System.String, System.String, System.String) at Microsoft.EntityFrameworkCore.Tools.Commands.MigrationsAddCommand.Execute(System.String[]) at Microsoft.EntityFrameworkCore.Tools.Commands.CommandBase+<>c__DisplayClass0_0.<Configure>b__0(System.String[]) at Microsoft.DotNet.Cli.CommandLine.CommandLineApplication.Execute(System.String[]) at Microsoft.EntityFrameworkCore.Tools.Program.Main(System.String[])
Steps to reproduce the issue:
Create a new ABP solution:
abp new update -u angular -dbms Oracle-Devart --version 9.3.7
Run initial migrations in the aspnet-core project
dotnet ef migrations add Initial \ --project src/update.EntityFrameworkCore/update.EntityFrameworkCore.csproj \ --startup-project src/update.DbMigrator/update.DbMigrator.csproj \ --context update.EntityFrameworkCore.updateDbContext \ --configuration Debug \ --verbose \ --output-dir Migrations
Hi guys, my team and I are planning to expose a few apis to external clients, and in doing so we want to limit certain apis using an OpenIddict scope. We've managed to successfully do this with our custom apis but having an issue the core abp apis.
These are some of them, we'd like to limit these apis using a scope. So only the application authorized can access these endpoints even if the authenticated user has the required roles /api/audit-logging/* /api/setting-management/* /api/file-management/*
Please assist
Regards, Mogau
The wrong casing was sent by the security code service on angular

OpenIddict rejects the auth request because it can't find the relevant params for username and password (incorrect case sensitivity)

This breaks the 2FA flow because OpenIddict is rejecting the request Is it possible to override the security code service in the meantime?