none
Report Manager - operation cannot run due to current state of the object RRS feed

  • Question

  • I have a On_hand_Quantity report which has a parameter drop down to select about 200 stores.

    When i run this report in BI studio , selecting all the 200 stores for the parameter it works fine.

    But when i upload the same report to report manager and try selecting all the store_numbers it errors out saying 'operation cannot run due to current state of the object '

    This report was running fine since the past 2 years, on 30th dec we did some .NET updates (KB2656356 and KB2656351) after which this report stopped working.

    I tried troubleshooting all ways but it erros out only in report manager which is very strange.

    Please help!!

     

     

    Friday, January 6, 2012 10:15 PM

Answers

  • You don't have to uninstall the patch; the default value of MaxHttpCollectionKeys is set to 1000 by the security patch. You can override the value by adding the following key to the appsetttings section in your SSRS report manager web.config file (usually in Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportManager)

    <add key="aspnet:MaxHttpCollectionKeys" value="10000" />

    10000 is just a suggestion, you can set it to the value of your liking.

    We did this change and the reports worked for us.

    Regards,

    Sri

     

    Tuesday, January 17, 2012 5:14 PM
  • Folks - Since this is related to a MSRC Buletin http://technet.microsoft.com/en-us/security/advisory/2659883, please contact Microsoft Customer Support Services to receive support for these issues.  Since these issues are related to a Security Update, support is free of charge.  Contacting Microsoft Customer Support Services will provide the best response possible for each of you.   If you access the link above, go to the Support section where you can find the best way to contact Microsoft Customer Support Services depending on your georaphic location.

    Thanks,

    -Lukasz


    Got a bug or feature request? Tell me about it at http://connect.microsoft.com. This posting is provided "AS IS" with no warranties, and confers no rights.
    Thursday, January 26, 2012 12:08 AM
    Moderator

All replies

  • hmmm strange, if it was working fine before .Net updates shouldn't be an issue.  Did you deploy this on any other server?  Like Testing / staging servers to test if it works there?  

    Have you changed anything on this report recently?


    regards Natraj www.BItipsntricks.com Mark as Answer, if it is answer for your Question. Vote as Helpful, if it is helpful to you.
    Saturday, January 7, 2012 11:08 AM
  • Hi Chartali Barve,

    I suggest you to uninstall those updates (KB2656356 and KB2656351) and retest. If the report works fine, please submit a feedback at:http://connect.microsoft.com/SQLServer/Feedback . If not, please provide more details about the error message in the log file.

    Thanks,
    Lola


    Please remember to mark the replies as answers if they help.
    Tuesday, January 10, 2012 3:46 AM
    Moderator
  • I would like to second the issue. The problem was resolved by removing KB2656355, which I believe relatively the same as KB2656356 for non-SP1 machines. It appears the issue is related to the number of parameters selected in the report...where I'm guessing the limitation was introduced through the updated System.Web.dll . Please see below for detailed information from our Report Server Service log. ui!ReportManager_0-3!36cc!01/09/2012-15:56:08:: e ERROR: System.Web.HttpException: The URL-encoded form data is not valid. ---> System.InvalidOperationException: Operation is not valid due to the current state of the object. at System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded() at System.Web.HttpValueCollection.FillFromEncodedBytes(Byte[] bytes, Encoding encoding) at System.Web.HttpRequest.FillInFormCollection() --- End of inner exception stack trace --- at System.Web.HttpRequest.FillInFormCollection() at System.Web.HttpRequest.get_Form() at System.Web.HttpRequest.get_HasForm() at System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) at System.Web.UI.Page.DeterminePostBackMode() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) library!ReportServer_0-4!3358!01/09/2012-15:56:08:: Call to GetSystemPermissionsAction(). ui!ReportManager_0-3!36cc!01/09/2012-15:56:08:: e ERROR: HTTP status code --> 500 -------Details-------- System.Web.HttpException: The URL-encoded form data is not valid. ---> System.InvalidOperationException: Operation is not valid due to the current state of the object. at System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded() at System.Web.HttpValueCollection.FillFromEncodedBytes(Byte[] bytes, Encoding encoding) at System.Web.HttpRequest.FillInFormCollection() --- End of inner exception stack trace --- at System.Web.HttpRequest.FillInFormCollection() at System.Web.HttpRequest.get_Form() at System.Web.HttpRequest.get_HasForm() at System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) at System.Web.UI.Page.DeterminePostBackMode() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) library!ReportServer_0-4!28c0!01/09/2012-15:56:08:: Call to GetSystemPropertiesAction(). ui!ReportManager_0-3!36cc!01/09/2012-15:56:08:: e ERROR: System.Threading.ThreadAbortException: Thread was being aborted. at System.Threading.Thread.AbortInternal() at System.Threading.Thread.Abort(Object stateInfo) at System.Web.HttpResponse.End() at Microsoft.ReportingServices.UI.ReportingPage.ShowErrorPage(String errMsg) ui!ReportManager_0-3!36cc!01/09/2012-15:56:14:: e ERROR: System.Web.HttpException: The URL-encoded form data is not valid. ---> System.InvalidOperationException: Operation is not valid due to the current state of the object. at System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded() at System.Web.HttpValueCollection.FillFromEncodedBytes(Byte[] bytes, Encoding encoding) at System.Web.HttpRequest.FillInFormCollection() --- End of inner exception stack trace ---
    Friday, January 13, 2012 6:00 PM
  • You don't have to uninstall the patch; the default value of MaxHttpCollectionKeys is set to 1000 by the security patch. You can override the value by adding the following key to the appsetttings section in your SSRS report manager web.config file (usually in Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportManager)

    <add key="aspnet:MaxHttpCollectionKeys" value="10000" />

    10000 is just a suggestion, you can set it to the value of your liking.

    We did this change and the reports worked for us.

    Regards,

    Sri

     

    Tuesday, January 17, 2012 5:14 PM
  • Thanks Sri.  I'll test out this evening when one of our dev environments is not in use.
    Tuesday, January 17, 2012 6:09 PM
  • Sri, that did not work when I tried it with my reporting server I am still having the same issue.  My incoming parameter has a total of 1025 items in it prior to applying the updates this report ran fast and worked everytime

     

    Thanks


    Tuesday, January 17, 2012 7:46 PM
  • Sri

    This worked for me! 

    Thanks!

    Dana

    Tuesday, January 17, 2012 8:29 PM
  • It worked for me also. Thank you Sri!
    Geozah
    Tuesday, January 17, 2012 9:17 PM
  • We have SSRS 2008 (not R2) and this solution worked for us. Do you have other parameters for the report? The reason I am asking is, if you have 2 parameters, one with 1025 and other with 500, use twice the total in your config file to be on the safe side.

    Also, increasing the max limit of the http collection keys should not cause a performance issue. It just allows more values to be passed to the report/stored proc instead of blocking the request. The report should have the same performance as before.

     

    Wednesday, January 18, 2012 12:31 AM
  • Adding the key/value pair recommendation posted by Sri did not work in our environment.  It was unsuccessful on two systems, testing values ranging from 10,000 through 500,000.  Performed IIS resets, restarted SSRS, bounced the servers, even cleared the cache in my browsers between retries. 

    By seeing the other posts, it sounds like the posted workaround does work in some situations - just not ours.  Still looking for another solution...until then we are holding off on installing.

    For clarification, the total number of selected parameter items being passed in these reports is in the range of 600-700, I'm estimating the total length of these items when concatenated is between 12,000 - 18,000 characters.  We are running SQL 2008 R2 on Windows Server 2008 R2, both being x64, Enterprise Edition, non-SP1. 

    Wednesday, January 18, 2012 2:27 AM
  • @DeviantLogic

    Did you get the same error as on Friday? If you don't mind, can you post the detailed error from the log file?

    -Sri

    Wednesday, January 18, 2012 1:50 PM
  • Hi Sri,

    Thanks for your solution. It works well when I access it through Report Manager, but it still keeps same when I access it through Reportserver URL.  Please check the detailed information below. Any suggestion? Thanks.

     

    http://servername/Reports/Pages/Report.aspx?ItemPath=%2fm52prodreports%2fOpenAR --- This one works fine on your solution.

    http://servername/reportserver/Pages/ReportViewer.aspx?%2fm52prodreports%2fOpenAR&rs%3aCommand=Render&rc% 3aParameters=Collapsed --- This one remains same.

     

    -------Details--------
    System.InvalidOperationException: Operation is not valid due to the current state of the object.

       at System.Web.HttpRequest.FillInFormCollection()

       at System.Web.HttpRequest.get_Form()

       at System.Web.HttpRequest.get_HasForm()

       at System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull)

       at System.Web.UI.Page.DeterminePostBackMode()

       at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
    w3wp!ui!e!1/17/2012-16:41:09:: e ERROR: Exception in ShowErrorPage: System.Threading.ThreadAbortException: Thread was being aborted.
       at System.Threading.Thread.AbortInternal()
       at System.Threading.Thread.Abort(Object stateInfo)
       at System.Web.HttpResponse.End()
       at System.Web.HttpServerUtility.Transfer(String path, Boolean preserveForm)
       at Microsoft.ReportingServices.UI.ReportingPage.ShowErrorPage(String errMsg) at    at System.Threading.Thread.AbortInternal()
       at System.Threading.Thread.Abort(Object stateInfo)
       at System.Web.HttpResponse.End()
       at System.Web.HttpServerUtility.Transfer(String path, Boolean preserveForm)
       at Microsoft.ReportingServices.UI.ReportingPage.ShowErrorPage(String errMsg) 

    Wednesday, January 18, 2012 3:05 PM
  • Hi Sri,

    Thanks for your solution. It works well when I access it through Report Manager, but it still keeps same when I access it through Reportserver URL.  Please check the detailed information below. Any suggestion? Thanks.

     

    http://servername/Reports/Pages/Report.aspx?ItemPath=%2fm52prodreports%2fOpenAR --- This one works fine on your solution.

    http://servername/reportserver/Pages/ReportViewer.aspx?%2fm52prodreports%2fOpenAR&rs%3aCommand=Render&rc% 3aParameters=Collapsed --- This one remains same.

     

    -------Details--------
    System.InvalidOperationException: Operation is not valid due to the current state of the object.

       at System.Web.HttpRequest.FillInFormCollection()

       at System.Web.HttpRequest.get_Form()

       at System.Web.HttpRequest.get_HasForm()

       at System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull)

       at System.Web.UI.Page.DeterminePostBackMode()

       at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
    w3wp!ui!e!1/17/2012-16:41:09:: e ERROR: Exception in ShowErrorPage: System.Threading.ThreadAbortException: Thread was being aborted.
       at System.Threading.Thread.AbortInternal()
       at System.Threading.Thread.Abort(Object stateInfo)
       at System.Web.HttpResponse.End()
       at System.Web.HttpServerUtility.Transfer(String path, Boolean preserveForm)
       at Microsoft.ReportingServices.UI.ReportingPage.ShowErrorPage(String errMsg) at    at System.Threading.Thread.AbortInternal()
       at System.Threading.Thread.Abort(Object stateInfo)
       at System.Web.HttpResponse.End()
       at System.Web.HttpServerUtility.Transfer(String path, Boolean preserveForm)
       at Microsoft.ReportingServices.UI.ReportingPage.ShowErrorPage(String errMsg) 


    @hxxx0020

    Report server is a separate asp.net application in SSRS. So, adding the value to the appsettings section in the report server web.config (usually in Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer) should solve your issue. We only concentrated on the issue with report manager and I didn't look at the Report Server ealier.

    The report server's web.config may not have a appsettings section. In that case, create the appsettings section within the configuration section. So, the first few lines of the config file will look like similar to the following.

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
     <appSettings>
     <add key="aspnet:MaxHttpCollectionKeys" value="10000" />
     </appSettings>
    <system.web>
    .
    .
    .
    .
    </configuration>

    If the report server's web.config already has appsettings section just add the key to the section as mentioned in the previous post.

    Let me know if this worked for you.

    - Sri

    • Proposed as answer by Naomi N Wednesday, February 15, 2012 2:39 AM
    Wednesday, January 18, 2012 5:03 PM
  • Thanks Sri. I've tried to modify the web config file on report server as you suggested, but it's not working as I did on Report Manager. All reports in the report server were inaccessible after I'd made this change. Right now I can't access the error log file. I'll post it here once I receive it. Do you mind to test your solution on your report server and see what issue could be? Thanks a lot!
    Wednesday, January 18, 2012 9:23 PM
  • Hi All:  I also have this same problem.  I have looked on both the SSRS and MOSS Server and do not see any of the listed patches.  Some very close, but not exact.  Also, making the change to the web.config file on the SSRS box yielded no better results.  Is there a service or something that needs to be restarted after this change is made?  I tried an IISReset, but no change.  Please help. 
    Wednesday, January 18, 2012 9:39 PM
  • Hi Sri,

    Here is the error logs for changing webconfig file on reort server. Thanks.

    w3wp!library!a!1/18/2012-15:13:18:: e ERROR: Error creating counter.  Category: RS Web Service, Counter: Requests/Sec, Instance: MSSQLSERVER.  Error Description: System.InvalidOperationException: The requested Performance Counter is not a custom counter, it has to be initialized as ReadOnly.
       at System.Diagnostics.PerformanceCounter.Initialize()
       at System.Diagnostics.PerformanceCounter..ctor(String categoryName, String counterName, String instanceName, Boolean readOnly)
       at Microsoft.ReportingServices.Diagnostics.Utilities.RSCounter.Init(String categoryName, String counterName, String instanceName, RSTrace tracer, Boolean resetCounter)
    w3wp!library!a!1/18/2012-15:13:18:: e ERROR: Error creating counter.  Category: RS Web Service, Counter: Total Memory Cache Hits, Instance: MSSQLSERVER.  Error Description: System.InvalidOperationException: The requested Performance Counter is not a custom counter, it has to be initialized as ReadOnly.

    Wednesday, January 18, 2012 10:21 PM
  • Hi All:  I also have this same problem.  I have looked on both the SSRS and MOSS Server and do not see any of the listed patches.  Some very close, but not exact.  Also, making the change to the web.config file on the SSRS box yielded no better results.  Is there a service or something that needs to be restarted after this change is made?  I tried an IISReset, but no change.  Please help. 


    Hi koact,

    If you can post the error log file here, it'll be helpful for everybody to give you a possible correct suggestions. Thanks.

    Wednesday, January 18, 2012 10:23 PM

  • Hi Sri,

    Here is the error logs for changing webconfig file on reort server. Thanks.

    w3wp!library!a!1/18/2012-15:13:18:: e ERROR: Error creating counter.  Category: RS Web Service, Counter: Requests/Sec, Instance: MSSQLSERVER.  Error Description: System.InvalidOperationException: The requested Performance Counter is not a custom counter, it has to be initialized as ReadOnly.
       at System.Diagnostics.PerformanceCounter.Initialize()
       at System.Diagnostics.PerformanceCounter..ctor(String categoryName, String counterName, String instanceName, Boolean readOnly)
       at Microsoft.ReportingServices.Diagnostics.Utilities.RSCounter.Init(String categoryName, String counterName, String instanceName, RSTrace tracer, Boolean resetCounter)
    w3wp!library!a!1/18/2012-15:13:18:: e ERROR: Error creating counter.  Category: RS Web Service, Counter: Total Memory Cache Hits, Instance: MSSQLSERVER.  Error Description: System.InvalidOperationException: The requested Performance Counter is not a custom counter, it has to be initialized as ReadOnly.

    @hxxx0020

    I tried the solution I had suggested on our report server and it worked fine for us. Based on the error you have posted, it looks like your performance counters got messed up. The only thing I can suggest is to reinstate the performance counters to fix the error.

    To do this,  open your cmd prompt (in admin mode) and type the following command. (change the .net framework and report server paths as required)

    C:\Windows\Microsoft.NET\Framework64\v2.0.50727\installutil.exe /u "C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin\ReportingServicesLibrary.dll"

    after that run

    C:\Windows\Microsoft.NET\Framework64\v2.0.50727\installutil.exe "C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin\ReportingServicesLibrary.dll"

    Restart the reporting services service.

    -Sri

     

     

     

    Thursday, January 19, 2012 1:54 AM
  • Thanks Sri.

    Before I run the CMD you suggested, I just want to know if there is a downside for running this fix? I mean if I can recover all reports on report server just in case something happened unexpectedly. By the way, if I choose repair mode to reinstall reporting services, can this performance counter issue be fixed? Thanks a lot!

    Thursday, January 19, 2012 3:39 PM
  • The solution Sri described above worked for me.  Thanks for the help.  This gave us a week long headache.
    Thursday, January 19, 2012 4:11 PM
  • One of my developers pulled a filter out of the report and it resolved the issue.  However, that is really not a good solution.  Are you referring to the error logs in MOSS or for SSRS?  If for SSRS, where would I find those.  The error on the sceen is the basic error mentioned above. 
    Thursday, January 19, 2012 4:44 PM
  • One of my developers pulled a filter out of the report and it resolved the issue.  However, that is really not a good solution.  Are you referring to the error logs in MOSS or for SSRS?  If for SSRS, where would I find those.  The error on the sceen is the basic error mentioned above. 

    IF the error on the screen is same as above. First, try to modify the webconfig file on Report Manager to see if all reports in Report Manager are working (It works for us).  I mean go to Report Manager to check the reports not other user interface since user could access the reports through Report Server just like ours. If solution you provided is not working in Report Manager. Then go check your errror log file: Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG and ERRORLOG.n. You have to match up date and time and report name you were running to see detailed error information.
    Thursday, January 19, 2012 5:18 PM
  • Thanks Sri.

    Before I run the CMD you suggested, I just want to know if there is a downside for running this fix? I mean if I can recover all reports on report server just in case something happened unexpectedly. By the way, if I choose repair mode to reinstall reporting services, can this performance counter issue be fixed? Thanks a lot!


    I ran the commands on a deve server and I didnt notice any obvious side effects with reporting services.  When you activate the perf counters it creates some keys in your registry. In your case, I believe that you are missing the key "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSRS 2008 Web Service\Performance" or some values in it causing the issue. Running the above commands created the keys required by the perf counters. I don't believe that the commands would mess up your reports; they are safely stored in the database and you are only messing with the modules that display them. I would suggest to try the commands on your dev server (I am sure you're doing this) and see if they fix the issue. The repair mode may work; but, since I haven't tried it, I am not sure of the outcome.

    -Sri

    Thursday, January 19, 2012 6:56 PM
  • Hello everyone,

    This fix doesn't work for us (Reportserver 2008 in Sharepoint 2007 integrated mode):

    <add key="aspnet:MaxHttpCollectionKeys" value="10000" />

     Is there a solution for this problem besides the above fix or uninstalling the security upgrade? 

    Regards,

    Ron

    Friday, January 20, 2012 8:57 AM
  • The solution for Reportserver 2008 in Sharepoint 2007 integrated mode is relatively simple. First I changed the web.config in the Reportserver folder. Since Reportserver is running in integrated mode I have changed the wrong web.config file. You should change the web.config file from SharePoint.

    Change the web.config on the Sharepoint web application (example path: C:\inetpub\wwwroot\wss\VirtualDirectories\). Add the following line between <appSettings> ... </appSettings>:

    <add key="aspnet:MaxHttpCollectionKeys" value="10000" />

    Thanks to Sri!


    Friday, January 20, 2012 10:32 AM
  • @DeviantLogic

    I am having the same issue and also adding the key did not resolve.  I am also on SQL2008 R2 and Windows 2008 R2 x64.  Did you find a solution?

    Much appreciated,

    Steve

    Friday, January 20, 2012 8:42 PM
  • Thanks to Sri's suggestion, we were able to make ours work. This is what we did:

    1. for virture directory

    ReportManager (this is for report file upload and interactive testing while on server itself), modified the web.config file and added:

    <add key="aspnet:MaxHttpCollectionKeys" value="10000" />

    This virture directory is used by http://servername/Reports/Pages/Report.aspx?ItemPath=%2fm52prodreports%2fOpenAR ---

     

    2. We also still had issues when trying to access reports via hosting application url, even though we also made the same changes in web.config file of virtural directory ReportServer. It turned out that we had to make the same change in our hosting application's virtual directory's web.config file. Once we made the change in our webserver, then the issue was resolved.

     

     

    Hope this helps.

     

    

    http://servername/reportserver/Pages/ReportViewer.aspx?%2fm52prodreports%2fOpenAR&rs%3aCommand=Render&rc% 3aParameters=Collapsed 

    Monday, January 23, 2012 10:00 PM
  • Hello,

    We're also receiving the same error--"operation not valid due to current state for object"--but adding the <add key="aspnet:MaxHttpCollectionKeys" value="100000" /> key to web.config did not help.

    Also we tried removing the the KBs that were installed late Dec --KB2656356 and KB2656351--and rebooting the server.

    The report has appxmtly 115 parameters in a dropdown --similar to the original post.

    Using SQL SSRS 2005 and Asp.Net 2.0

    Any other ideas on how to resolve this?

    Thanks,

    Jim


    • Edited by jbouz Tuesday, January 24, 2012 12:15 AM
    Tuesday, January 24, 2012 12:14 AM
  • My issue was resolved by actually changing the proper web.config file.  I didn't realize that webconfig files exist in both ResportServer and Report Manager directories.  Adding the key to report server did nothing, but adding the key to the report manager webconfig solved the issue.
    Tuesday, January 24, 2012 1:16 PM

  • Hi Sri,

    Here is the error logs for changing webconfig file on reort server. Thanks.

    w3wp!library!a!1/18/2012-15:13:18:: e ERROR: Error creating counter.  Category: RS Web Service, Counter: Requests/Sec, Instance: MSSQLSERVER.  Error Description: System.InvalidOperationException: The requested Performance Counter is not a custom counter, it has to be initialized as ReadOnly.
       at System.Diagnostics.PerformanceCounter.Initialize()
       at System.Diagnostics.PerformanceCounter..ctor(String categoryName, String counterName, String instanceName, Boolean readOnly)
       at Microsoft.ReportingServices.Diagnostics.Utilities.RSCounter.Init(String categoryName, String counterName, String instanceName, RSTrace tracer, Boolean resetCounter)
    w3wp!library!a!1/18/2012-15:13:18:: e ERROR: Error creating counter.  Category: RS Web Service, Counter: Total Memory Cache Hits, Instance: MSSQLSERVER.  Error Description: System.InvalidOperationException: The requested Performance Counter is not a custom counter, it has to be initialized as ReadOnly.

    @hxxx0020

    I tried the solution I had suggested on our report server and it worked fine for us. Based on the error you have posted, it looks like your performance counters got messed up. The only thing I can suggest is to reinstate the performance counters to fix the error.

    To do this,  open your cmd prompt (in admin mode) and type the following command. (change the .net framework and report server paths as required)

    C:\Windows\Microsoft.NET\Framework64\v2.0.50727\installutil.exe /u "C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin\ReportingServicesLibrary.dll"

    after that run

    C:\Windows\Microsoft.NET\Framework64\v2.0.50727\installutil.exe "C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin\ReportingServicesLibrary.dll"

    Restart the reporting services service.

    -Sri

     

     

     


    Thanks so much Sri.
    Tuesday, January 24, 2012 4:09 PM
  • Thanks AgilSteve,

    That worked. I added the key to  the web.config in  Report Manager, and that solved it. The  report is running as usual again. I didn't realize there was a web.config in both directories either.   Thanks.

    Jim

    Tuesday, January 24, 2012 4:12 PM
  • Thanks Sri,

    After reviewing the posts here, I realize your original answer on 1/17 was correct. I just was not looking at web.config in Report Manager, but rather Report Server folder.

    Jim

    Tuesday, January 24, 2012 5:01 PM
  • Folks - Since this is related to a MSRC Buletin http://technet.microsoft.com/en-us/security/advisory/2659883, please contact Microsoft Customer Support Services to receive support for these issues.  Since these issues are related to a Security Update, support is free of charge.  Contacting Microsoft Customer Support Services will provide the best response possible for each of you.   If you access the link above, go to the Support section where you can find the best way to contact Microsoft Customer Support Services depending on your georaphic location.

    Thanks,

    -Lukasz


    Got a bug or feature request? Tell me about it at http://connect.microsoft.com. This posting is provided "AS IS" with no warranties, and confers no rights.
    Thursday, January 26, 2012 12:08 AM
    Moderator
  • I can confirm this works...  I had a deployed report that worked fine prior to KB2656356.  After the update, the report would render completely blank with no error displayed...  opening and running the .rdl in RB3 confirmed there was nothing wrong with the report itself (and it hadn't been modified anyway).

    Digging through the errors in the report server log files subsequently lead me here and thankfully I now have the report working again.

    Thanks Sri.


    Windza
    Wednesday, February 1, 2012 12:26 AM
  • Hello guys,

    No needs to revert the applied security patch. we resolved the issue with the help of MS support person. All credit in this article to MS.

    As per Sri's suggestion, solution will work with SQL server 2008 and SQL server 2008 R2 (Native mode) but some of the folks still having issue with SQL server 2008 R2. so here is solution we applied and works great. you can consider if you like too.

    We have Reporting services with Sharepoint integrated mode. 2008 R2 no SP1 update applied (As per MS we should applied 2008 R2 SP1).

    You needs to make change in Report server folder(web.config) (usually in Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer).

    In the reporting server web.config file, you needs to add following code at appsetting section, you can copy and paste. ( make sure you add code after</system.web>)(copy before make any changes)

    <configuration>

    ..

    </system.web>
    <appSettings>
     <add key="aspnet:MaxHttpCollectionKeys" value="10000" />
     <add key="aspnet:MaxJsonDeserializerMembers" value="10000" />
     </appSettings>
    .
    .
    ..
    </Configuration>

    must - Restart the Reporting services from SQL configuration.

    --- Following Section can be useful for  SharePoint Integrated mode -- ( if possible, ask SharePoint Admin to do following tasks)

    After making above changes on reporting server you also needs to make changes on Sharepoint Application, web front end(wfe) servers ( don't forget reporting server is also a web front end sharepoint server( if you configure with sharepoint integrated mode)).

     (Apply in following order to make sure you don't forget to update web.config file in all SP farm)

    1. Reporting server
    2. App server
    3. Web Front end server

    Repeat following steps on all above  servers

    1. - Go to IIS manager ( usually in Administrative task)
    2. - Click on SharePoint site, which integrated with reporting services (Right click and Explore)
    3. - Look for "web.config" file ( this is different web config file then Reporting services web config. file) - make a copy of web.config file before do any changes.
    4. open file in notepad and seach for <appsettings> from web.config file.
    5. Add following key values between <appsettings> .....</appsettings>

    (i believe value can be changed as per your need)

    <add key="aspnet:MaxHttpCollectionKeys" value="10000"/>

    <add key="aspnet:MaxJsonDeserializerMembers" value="10000" />

    Here is explanation for above setting - http://support.microsoft.com/kb/2661403

    Microsoft Suggest to update with 2K8 R2 SP1 

    Microsoft® SQL Server® 2008 R2 Service Pack 1 - http://www.microsoft.com/download/en/details.aspx?id=26727

    Microsoft® SQL Server® 2008 R2 SP1 Feature Pack - http://www.microsoft.com/download/en/details.aspx?id=26728

    Many thanks for Microsoft Support team to provide help with this.

    Cheers..


    • Proposed as answer by mitus Wednesday, February 15, 2012 1:49 AM
    • Edited by mitus Wednesday, February 15, 2012 1:52 AM add the MS link
    Wednesday, February 15, 2012 1:49 AM
  • Hi,

    I have made the change as mentioned above and the report rendered fine after the changes. But then i have got another problem that my browser back and forward buttons are getting disabled. I have faced this issue earlier and i noticed that this is coming because of more parameters in the dropdown. I some how managed to remove that parameter and it worked fine from then. But now again after this report is rendering, the browser back history as we come from parent folder to the report is getting disabled after the report rendered. Please help me to solve this.

    Thanks

    Wednesday, February 15, 2012 6:11 AM
  • Thanks Sri. This has worked for us.
    Tuesday, April 10, 2012 9:49 PM
  • Do I have to restart anything to get it to work.  I just added that to the webconfig file and I get the same error
    Wednesday, May 2, 2012 12:48 PM
  • Hi Ronv1,

                           I think you also had the same issue as me. I am using ssrs 2008r2 with sharepoint 2010. I am trying to fix this issue. The path you gave as example(:C:\inetpub\wwwroot\wss\VirtualDirectories\) should i add the line of code here or in C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager. Where should i add the piece of code "<add key="aspnet:MaxHttpCollectionKeys" value="10000" />" and one more thing if i should add in this path "C:\inetpub\wwwroot\wss\VirtualDirectories\" there are 3 folders after this "80, 17533, 39271" and each folder has web.config file and <appSettings> ... </appSettings>. Can you please help me with this as soon as possible.

    Visrey


    GV

    • Proposed as answer by bvy Tuesday, July 17, 2012 2:47 PM
    • Unproposed as answer by bvy Tuesday, July 17, 2012 2:47 PM
    Monday, July 16, 2012 5:12 PM
  • I'm having the same issue as Vishrey and am curious for a response. In reading this, it sounds like there are several instances of a Web.config file that would need to be changed:

    Database: Under ReportServer and ReportManager paths

    SharePoint (if integrated): Various under C:\inetpub\wwwroot\wss\VirtualDirectories\VirtualDirectories path.

    Tuesday, July 17, 2012 3:28 PM
  • I've had a chance to do more extensive testing, and I think I have this working in our environment which is SQL Server Reporting Services 2008 R2 integrated with SharePoint 2010. Modifying the Web.config files on the SQL Server (specifically \SQL2008\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager and \ReportServer) had no effect on the ability to select more parameters in our reports. We had to update the Web.config file on the SharePoint server (\inetpub\wwwroot\wss\VirtualDirectories\VirtualDirectories\*) to fix the issue. In fact, in the SharePoint file, we used a value which exceeded the one we placed in the SQL Server files, which suggests that those values are ignored entirely. In our case, no restart of services or reboot was required; the change took effect immediately.


    • Proposed as answer by bvy Thursday, July 19, 2012 1:00 PM
    • Edited by bvy Thursday, August 2, 2012 2:00 PM spelling
    Thursday, July 19, 2012 1:00 PM
  • Tahnks for posting.

    Solved my problem with 4000 customers in the parameter listbox in a heartbeat :-)

    Thursday, September 20, 2012 2:52 PM
  • Sri's solution worked for me too.  Thanks for the post!

    Thursday, October 18, 2012 4:17 PM
  • In my case, when I ran the report on report manager with a Multi value parameter having values > 800 the report would simply show up blank without throwing any errors. I added the key as described above and Voila! Thanks for posting this.
    • Proposed as answer by Centrio Friday, June 7, 2013 4:23 PM
    • Unproposed as answer by Centrio Friday, June 7, 2013 4:23 PM
    Wednesday, January 9, 2013 5:04 PM
  • I am having a similar situation in a different environment; SSRS 2012 (SP-integrated) report rendered on SP 2013 PerformancePoint Dashboard. The report works fine as long as too many PP filter items are not selected at the same time (from one filter, e.g., Date filter). When gradually select more items from the filter, the report updates itself until I select more than 11 items (periods) - the report simply does not update itself anymore. 

    Have read all the posts above and have already done the changes suggested (adding the lines suggested to SP's web.config for Reporting and the web.config of the site on which report is rendred) at no avail.

    Has anyone had the same problem with SSRS 2012 (SP-integrated) report rendered on SP 2013 PP dashboard? Any fixes or workarounds?

    thnx!


    • Edited by Centrio Friday, June 7, 2013 4:34 PM
    Friday, June 7, 2013 4:31 PM
  • Hi All,

    I had the Same Issue. We have 3 reporting server and out of 3 one was throwing error "Operation is not valid due to the current state of the object". I have gone through above post and found that "Web.Config" at path "D:\Program Files\Microsoft SQL Server\MSSQL.1\Reporting Services\ReportManager" had different setting compare to other 2 servers.

    I just changed the <add key="aspnet:MaxHttpCollectionKeys" value="10000" /> to <add key="aspnet:MaxHttpCollectionKeys" value="20000" /> and Then It was working fine.

    http://social.msdn.microsoft.com/Forums/sqlserver/en-US/c9d4431a-0d71-4782-8f38-4fb4d5b7a829/ssrs-operation-is-not-valid-due-to-the-current-state-of-the-object?forum=sqlreportingservices


    Thanks Shiven:) If Answer is Helpful, Please Vote

    Monday, November 11, 2013 5:20 AM
  • Hello folks,

    Thanks very much. I appreciate it. It now works for me too.

    S

    Thursday, December 12, 2013 5:31 AM
  • Thank you so much everyone. It worked for me.
    Monday, August 31, 2015 7:15 PM