Error starting webserver - Worked before



  • Hi,

    We have been running Jsreports 2.5 as a webservice from our application for a while (more than a year). A few days ago it suddenly stopped working. It´s possible something has changed on the machine but our code did not change.

    We have a F# dotnet core application and start the webservice as follows:

    LocalReporting()
            .KillRunningJsReportProcesses()
            .UseBinary(JsReportBinary.GetBinary())
            .Configure(
                fun cfg -> cfg.Chrome <- new ChromeConfiguration()
                           cfg.Chrome.Timeout <- Nullable<int> 120000
                           cfg)
            .AsWebServer() 
            .Create()
            .StartAsync()
    

    Our logs would only contain the following

    2019-11-11 14:47:50.1585 An unhandled exception has occurred while executing the request - Exception: System.Exception: Failed to start jsreport server, output:
       at jsreport.Local.Internal.LocalWebServerReportingService.WaitForStarted()
       at jsreport.Local.Internal.LocalWebServerReportingService.StartAsync()
    

    I've tried to update to to JsReport 2.6.1 and the only difference is that we get a little bit more logoutput

    2019-11-11 14:47:50.1585 An unhandled exception has occurred while executing the request - Exception: System.Exception: Failed to start jsreport server, output: 2019-11-11T13:47:27.906Z - debug: Extension authentication@2.3.0 was disabled2019-11-11T13:47:28.037Z - debug: Extension authorization@2.2.5 was disabled2019-11-11T13:47:28.069Z - debug: Chrome strategy is dedicated-process2019-11-11T13:47:28.070Z - debug: Chrome custom launch options are executablePath=C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp\jsreport\compile\jsreport-2.6.1-HkSd-6jOS\chrome\chrome2019-11-11T13:47:28.114Z - debug: Extension fs-store@2.6.0 was disabled2019-11-11T13:47:28.327Z - debug: studio request logs are enabled (flush interval: 2000)2019-11-11T13:47:28.457Z - debug: Extension public-templates@2.1.0 was disabled2019-11-11T13:47:28.561Z - debug: studio default theme is: light2019-11-11T13:47:27.135Z - info: Initializing jsreport@2.6.1 in development mode using configuration file: none2019-11-11T13:47:27.721Z - info: Setting in-process strategy for rendering2019-11-11T13:47:27.784Z - info: Using extension cli@2.1.12019-11-11T13:47:27.812Z - info: Using extension handlebars@2.1.02019-11-11T13:47:27.842Z - info: Using extension puppeteer-compile@1.2.02019-11-11T13:47:27.847Z - info: Using extension authentication@2.3.02019-11-11T13:47:27.910Z - info: Using extension jsrender@2.1.12019-11-11T13:47:27.914Z - info: Using extension templates@2.3.22019-11-11T13:47:27.933Z - info: Using extension import-export@1.4.02019-11-11T13:47:27.944Z - info: Using extension debug@2.1.12019-11-11T13:47:27.954Z - info: Using extension freeze@2.0.02019-11-11T13:47:27.961Z - info: Using extension express@2.5.02019-11-11T13:47:27.982Z - info: Using extension tags@2.3.02019-11-11T13:47:27.989Z - info: Using extension version-control@1.3.22019-11-11T13:47:28.005Z - info: Using extension docx@2.3.12019-11-11T13:47:28.033Z - info: Using extension authorization@2.2.52019-11-11T13:47:28.037Z - info: Using extension data@2.1.02019-11-11T13:47:28.040Z - info: Using extension chrome-pdf@1.6.12019-11-11T13:47:28.074Z - info: Using extension child-templates@1.3.02019-11-11T13:47:28.088Z - info: Using extension pdf-utils@1.5.22019-11-11T13:47:28.089Z - info: Using extension pptx@0.4.12019-11-11T13:47:28.092Z - info: Using extension fs-store@2.6.02019-11-11T13:47:28.115Z - info: Using extension browser-client@2.2.12019-11-11T13:47:28.128Z - info: Using extension reports@2.2.02019-11-11T13:47:28.137Z - info: Using extension text@2.0.02019-11-11T13:47:28.138Z - info: Using extension base@2.0.22019-11-11T13:47:28.141Z - info: Using extension static-pdf@0.3.12019-11-11T13:47:28.143Z - info: Using extension studio@2.6.62019-11-11T13:47:28.349Z - info: Using extension licensing@2.1.22019-11-11T13:47:28.362Z - info: Using extension scripts@2.2.12019-11-11T13:47:28.379Z - info: Using extension assets@1.5.12019-11-11T13:47:28.390Z - info: Using extension html-to-xlsx@2.4.12019-11-11T13:47:28.403Z - info: html-to-xlsx detected chrome as available html engine2019-11-11T13:47:28.404Z - info: Using extension studio-theme-dark@0.2.02019-11-11T13:47:28.408Z - info: Using extension scheduling@2.1.12019-11-11T13:47:28.423Z - info: Using extension xlsx@2.2.12019-11-11T13:47:28.441Z - info: Using extension sample-template@2.4.02019-11-11T13:47:28.452Z - info: Using extension resources@2.0.32019-11-11T13:47:28.455Z - info: Using extension public-templates@2.1.02019-11-11T13:47:28.457Z - info: Using memory provider for template store. The saved templates will be lost after restart
       at jsreport.Local.Internal.LocalWebServerReportingService.WaitForStarted()
       at jsreport.Local.Internal.LocalWebServerReportingService.StartAsync()}
    

    I've tried to run the JsReport executable from

    C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp\jsreport\dotnet\binary-default-2.6.1.0

    as described here https://forum.jsreport.net/topic/428/asp-net-an-error-has-occurred-when-trying-to-initialize-jsreport/5 and the webservice starts fine and is usable.

    The webservice also works fine using the same code to start it on my local machine.

    Any help or insights on how to solve this or turn on more logging would be greatly appreciated.

    Regards,

    Samuel



  • Hm, there is a 20s default timeout that .net waits for jsreport to start. Maybe it just doesn't finish start in time.
    Please try to increase this timeout

    In c# it would be like this. Note you need to have the latest jsreport.Local to have the StartTimeout exposed.

    var rs = new LocalReporting()             
                    .KillRunningJsReportProcesses()
                    .UseBinary(JsReportBinary.GetBinary())              
                    .AsWebServer()                
                    .Create();
    
    rs.StartTimeout = new TimeSpan(0,0,60);                        
    rs.StartAsync().Wait();
    


  • Hi Jan.

    Thank you for the reply. This is most likely the issue we were facing.

    We noticed it took a really long time to start the jsReport server manually so we moved the virtual machine to another host with less load and that solved the problem. So we figued it was some kind of timeout. It's good to know that the property exist and that we can adjust it if needed.


Log in to reply
 

Looks like your connection to jsreport forum was lost, please wait while we try to reconnect.