dotnet / dotnet/orleans

NullReferenceException in RedisGrainDirectory

Open
#8,946 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
10.9k
Forks
2.1k
Avg merge
14h 42m
Merged PRs (30d)
354

Description

` Failed to address message Request [S10.42.89.175:11111:72274570 sys.svc.user.95B6CAE6/10.42.89.175:11111@72274570]->[ management/0] Orleans.Runtime.IManagementGrain.GetRuntimeStatistics(Orleans.Runtime.SiloAddress[]) #477`

```
System.NullReferenceException: Object reference not set to an instance of an object.
at Orleans.GrainDirectory.Redis.RedisGrainDirectory.Lookup(GrainId grainId) in /_/src/Redis/Orleans.GrainDirectory.Redis/RedisGrainDirectory.cs:line 45
at Orleans.Runtime.GrainDirectory.CachedGrainLocator.Lookup(GrainId grainId) in /_/src/Orleans.Runtime/GrainDirectory/CachedGrainLocator.cs:line 55
at Orleans.Runtime.Placement.PlacementService.PlacementWorker.GetOrPlaceActivationAsync(Message firstMessage) in /_/src/Orleans.Runtime/Placement/PlacementService.cs:line 364
at Orleans.Runtime.Messaging.MessageCenter.g__SendMessageAsync|39_0(Task addressMessageTask, Message m) in /_/src/Orleans.Runtime/Messaging/MessageCenter.cs:line 471
```

--

` Lookup failed for management/0`
```
System.NullReferenceException: Object reference not set to an instance of an object.
at Orleans.GrainDirectory.Redis.RedisGrainDirectory.Lookup(GrainId grainId) in /_/src/Redis/Orleans.GrainDirectory.Redis/RedisGrainDirectory.cs:line 45
at Orleans.Runtime.GrainDirectory.CachedGrainLocator.Lookup(GrainId grainId) in /_/src/Orleans.Runtime/GrainDirectory/CachedGrainLocator.cs:line 55
at Orleans.Runtime.Placement.PlacementService.PlacementWorker.GetOrPlaceActivationAsync(Message firstMessage) in /_/src/Orleans.Runtime/Placement/PlacementService.cs:line 364
at Orleans.Runtime.Messaging.MessageCenter.g__SendMessageAsync|39_0(Task addressMessageTask, Message m) in /_/src/Orleans.Runtime/Messaging/MessageCenter.cs:line 471
```

Contributor guide

Open the contributing guide

Research direction

Start at src/Redis/Orleans.GrainDirectory.Redis/RedisGrainDirectory.cs line 45 and trace the Lookup call through CachedGrainLocator.cs, PlacementService.cs, and MessageCenter.cs. Reproduce the management/0 lookup failure if possible, identify the null value, and verify that the resulting lookup path no longer throws a NullReferenceException.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, redis
Domain
distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.