NullReferenceException in RedisGrainDirectory
- 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
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