dapr / dapr/dotnet-sdk

Null pointer exception on actor initialization (when using F#)

Open
#342 6 comments 1 reaction 0 assignees View on GitHub
area/actor discussion
Dominant language
C#
Stars
1.2k
Forks
378
Avg merge
1d 22h
Merged PRs (30d)
5

Description

## Expected Behavior
I have a service that registers an actor. On `dapr run` the service should start without errors.

## Actual Behavior

With the following command:

```
dapr run --app-id actors --app-port 3000 dotnet run
```

A null pointer exception is thrown:
```
== APP == Unhandled exception. System.ArgumentNullException: Value cannot be null. (Parameter 'fieldName')
== APP == at System.Reflection.Emit.FieldBuilder..ctor(TypeBuilder typeBuilder, String fieldName, Type type, Type[] requiredCustomModifiers, Type[] optionalCustomModifiers, FieldAttributes attributes)
== APP == at System.Reflection.Emit.TypeBuilder.DefineFieldNoLock(String fieldName, Type type, Type[] requiredCustomModifiers, Type[] optionalCustomModifiers, FieldAttributes attributes)
== APP == at System.Reflection.Emit.TypeBuilder.DefineField(String fieldName, Type type, Type[] requiredCustomModifiers, Type[] optionalCustomModifiers, FieldAttributes attributes)
== APP == at Dapr.Actors.Builder.MethodBodyTypesBuilder.BuildRequestBodyType(ICodeBuilderNames codeBuilderNames, CodeBuilderContext context, MethodDescription methodDescription)
== APP == at Dapr.Actors.Builder.MethodBodyTypesBuilder.Build(ICodeBuilderNames codeBuilderNames, CodeBuilderContext context, MethodDescription methodDescription)
== APP == at Dapr.Actors.Builder.MethodBodyTypesBuilder.Build(InterfaceDescription interfaceDescription)
== APP == at Dapr.Actors.Builder.ActorCodeBuilder.BuildMethodBodyTypes(Type interfaceType)
== APP == at Dapr.Actors.Builder.ActorCodeBuilder.Dapr.Actors.Builder.ICodeBuilder.GetOrBuildMethodBodyTypes(Type interfaceType)
== APP == at Dapr.Actors.Builder.MethodDispatcherBuilder`1.Build(InterfaceDescription interfaceDescription)
== APP == at Dapr.Actors.Builder.ActorCodeBuilder.BuildMethodDispatcher(Type interfaceType)
== APP == at Dapr.Actors.Builder.ActorCodeBuilder.Dapr.Actors.Builder.ICodeBuilder.GetOrBuilderMethodDispatcher(Type interfaceType)
== APP == at Dapr.Actors.Builder.ActorCodeBuilder.GetOrCreateMethodDispatcher(Type actorInterfaceType)
== APP == at Dapr.Actors.Communication.ActorMethodDispatcherMap..ctor(IEnumerable`1 interfaceTypes)
== APP == at Dapr.Actors.Runtime.ActorManager..ctor(ActorService actorService)
== APP == at Dapr.Actors.Runtime.ActorRuntime.RegisterActor[TActor](Func`2 actorServiceFactory)
== APP == at Actors.Program.CreateHostBuilder@17-1.Invoke(ActorRuntime actorRuntime) in /home/akkie/projects/dapr-vote/actors/Program.fs:line 18
== APP == at Dapr.Actors.AspNetCore.WebHostBuilderExtensions.UseActors(IWebHostBuilder hostBuilder, Action`1 configureActorRuntime)
== APP == at Actors.Program.CreateHostBuilder@14.Invoke(IWebHostBuilder webBuilder) in /home/akkie/projects/dapr-vote/actors/Program.fs:line 15
== APP == at Microsoft.Extensions.Hosting.GenericHostBuilderExtensions.<>c__DisplayClass0_0.b__0(IWebHostBuilder webHostBuilder)
== APP == at Microsoft.Extensions.Hosting.GenericHostWebHostBuilderExtensions.ConfigureWebHost(IHostBuilder builder, Action`1 configure)
== APP == at Microsoft.Extensions.Hosting.GenericHostBuilderExtensions.ConfigureWebHostDefaults(IHostBuilder builder, Action`1 configure)
== APP == at Actors.Program.CreateHostBuilder(String[] args) in /home/akkie/projects/dapr-vote/actors/Program.fs:line 13
== APP == at Actors.Program.main(String[] args) in /home/akkie/projects/dapr-vote/actors/Program.fs:line 26
```

## Steps to Reproduce the Problem
Checkout https://github.com/PlanBGmbH/dapr-vote and execute the following command in the `actors` directory:

```
dapr run --app-id actors --app-port 3000 dotnet run
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.