Bug 39874 - Mono: NullReferenceException for concurrent requests with redis session state provider
Summary: Mono: NullReferenceException for concurrent requests with redis session state...
Status: NEW
Alias: None
Product: Class Libraries
Classification: Mono
Component: System.Web (show other bugs)
Version: 4.2.0 (C6)
Hardware: PC Windows
: --- normal
Target Milestone: Untriaged
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2016-03-23 20:40 UTC by damirainullin
Modified: 2016-03-23 20:40 UTC (History)
1 user (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments

Description damirainullin 2016-03-23 20:40:38 UTC
NullReferenceException in Mono web-application (nginx + fast-cgi, Ubuntu 15.04, mono 4.0.3) for concurrent web-requests when I use RedisSessionStateProvider from Azure/aspnet-redis-providers.

Log:
[2015-08-26 12:49:04.893][Error]GetItemFromSessionStore => System.NullReferenceException: Object reference not set to an instance of an object
at Microsoft.Web.Redis.KeyGenerator.RegenerateKeyStringIfIdModified (System.String id, System.String applicationName) [0x00000] in :0
at Microsoft.Web.Redis.RedisSessionStateProvider.GetAccessToStore (System.String id) [0x00000] in :0
at Microsoft.Web.Redis.RedisSessionStateProvider.GetItemFromSessionStore (Boolean isWriteLockRequired, System.Web.HttpContext context, System.String id, System.Boolean& locked, System.TimeSpan& lockAge, System.Object& lockId, System.Web.SessionState.SessionStateActions& actions) [0x00000] in :0

Web.config session section:

<sessionState mode="Custom" customProvider="RedisSessionStateProvider">
      <providers>
        <add name="RedisSessionStateProvider" type="Microsoft.Web.Redis.RedisSessionStateProvider" host="127.0.0.1" accessKey="" ssl="false" />
      </providers>
    </sessionState>

It happens only with Mono and when request is not authenticated and has not cookies. I don't know why session id is null. This is link to code where session provider receives sessionId from ASP.NET Mono.

https://github.com/mono/mono/blob/b7a308f660de8174b64697a422abfc7315d07b8c/mcs/class/System.Web/System.Web.SessionState_2.0/SessionStateModule.cs#L326

Also I posted issue to Azure/aspnet-redis-providers project.
https://github.com/Azure/aspnet-redis-providers/issues/2

Note You need to log in before you can comment on or make changes to this bug.