Timeout in jsreport v2 / .net sdk v2



  • I tried checking around jsreport.Local Repo. The issue only happens with the chrome-pdf recipe. test and html recipe work fine.

    The error occurs at the following point in jsReport.Local:

    An unhandled exception occurred while processing the request.
    JsReportBinaryException: Error rendering report: A critical error occurred while trying to execute the render command: Timeout Error: pdf generation not completed after 30000ms (1). caused by error (1) -> meta = {"remoteStack":"Error: Timeout Error: pdf generation not completed after 30000ms\n at Timeout.setTimeout (jsreportRuntime.js:134749:19)\n at ontimeout (timers.js:482:11)\n at tryOnTimeout (timers.js:317:5)\n at Timer.listOnTimeout (timers.js:277:5)"}, stack = Error: at responseToBuffer ([eval]:42206:29) at concat ([eval]:42259:40) at ConcatStream.<anonymous> ([eval]:13929:43) at emitNone (events.js:111:20) at ConcatStream.emit (events.js:208:7) at finishMaybe ([eval]:88932:14) at afterWrite ([eval]:88794:3) at _combinedTickCallback (internal/process/next_tick.js:144:20) at process._tickCallback (internal/process/next_tick.js:180:9)
    
    jsreport.Local.Internal.LocalUtilityReportingService+<RenderAsync>d__10.MoveNext() in LocalUtilityReportingService.cs, line 74
    
    Stack Query Cookies Headers 
    
    JsReportBinaryException: Error rendering report: A critical error occurred while trying to execute the render command: Timeout Error: pdf generation not completed after 30000ms (1). caused by error (1) -> meta = {"remoteStack":"Error: Timeout Error: pdf generation not completed after 30000ms\n at Timeout.setTimeout (jsreportRuntime.js:134749:19)\n at ontimeout (timers.js:482:11)\n at tryOnTimeout (timers.js:317:5)\n at Timer.listOnTimeout (timers.js:277:5)"}, stack = Error: at responseToBuffer ([eval]:42206:29) at concat ([eval]:42259:40) at ConcatStream.<anonymous> ([eval]:13929:43) at emitNone (events.js:111:20) at ConcatStream.emit (events.js:208:7) at finishMaybe ([eval]:88932:14) at afterWrite ([eval]:88794:3) at _combinedTickCallback (internal/process/next_tick.js:144:20) at process._tickCallback (internal/process/next_tick.js:180:9)
        jsreport.Local.Internal.LocalUtilityReportingService+<RenderAsync>d__10.MoveNext() in LocalUtilityReportingService.cs
    
                    var metaDictionary = new Dictionary<string, string>();
    System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    System.Runtime.CompilerServices.TaskAwaiter.GetResult()
    jsreport.AspNetCore.JsReportMiddleware+<Invoke>d__3.MoveNext()
    System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker+<InvokeNextResourceFilter>d__22.MoveNext()
    System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResourceExecutedContext context)
    Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)
    Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker+<InvokeFilterPipelineAsync>d__17.MoveNext()
    System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker+<InvokeAsync>d__15.MoveNext()
    System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    Microsoft.AspNetCore.Builder.RouterMiddleware+<Invoke>d__4.MoveNext()
    System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware+<Invoke>d__7.MoveNext()
    

    This is the final list of env variables on the VM:

    https://www.dropbox.com/s/neylkhs5qduibxt/env3.txt?dl=0

    I also tried after two additional similar variables I found in the initial list, but it didn't helped either:

     worker.StartInfo.EnvironmentVariables.Remove("COMPLUS_ForceENC");
     worker.StartInfo.EnvironmentVariables.Remove("COMPLUS_MDA");
    

    any other pointers to look for?



  • It doesn't seems to be the issue with the environment variables, as I compared all the ones available on the win10 machine, and win 7 vm, and nearly all of them are same. I also tried removing all the ones that are different, but it doesn't changes anything.



  • You see in debug exactly what command is called... What if you take it and run it in the separate command line manually. Does it also timeout?



  • Yes, still getting a timeout. below is the command and the response
    
    
    C:\Users\Saad\AppData\Local\Temp\jsreport\dotnet\binary-default-2.3.1.0>jsreport render --keepAlive --request="C:\Users\Saad\AppData\Local\Temp\jsreport\autocleanup\req9799b535-f5c3-4eb4-8dcb-ceeac90442a3.json" --out="C:\Users\Saad\AppData\Local\Temp\jsreport\autocleanup\out673df5ac-04d7-4090-9b20-9312bf1ced8a" --meta="C:\Users\Saad\AppData\Local\Temp\jsreport\autocleanup\meta0d98e9b2-28c8-4010-8533-54b1bdb643db"
    instance has been daemonized and initialized successfully (pid: 4112)
    A critical error occurred while trying to execute the render command: Timeout Error: pdf generation not completed after 30000ms (1). caused by error (1) -> meta = {"remoteStack":"Error: Timeout Error: pdf generation not completed after 30000ms\n    at Timeout.setTimeout (jsreportRuntime.js:134749:19)\n    at ontimeout (timers.js:482:11)\n    at tryOnTimeout (timers.js:317:5)\n    at Timer.listOnTimeout (timers.js:277:5)"}, stack = Error:    
    at responseToBuffer ([eval]:42206:29)
    at concat ([eval]:42259:40)
    at ConcatStream.<anonymous> ([eval]:13929:43)
    at emitNone (events.js:111:20)
    at ConcatStream.emit (events.js:208:7)
    at finishMaybe ([eval]:88932:14)
    at afterWrite ([eval]:88794:3)
    at _combinedTickCallback (internal/process/next_tick.js:144:20)
    at process._tickCallback (internal/process/next_tick.js:180:9)


  • Thanks. You mentioned here that render command using binary actually works for you.
    If this is true, what is the difference? I know you were trying at first the binary without the keepAlive, can you try if this is the issue?
    The request json contains I guess something normal, however anyway try to adapt it it your original working jsreport render request so we know there is not an issue.



  • Try to kill background node processes before to be sure that jsreport render command always runs fresh without trying to reuse an already existing jsreport instance.



  • Sorry for the delayed reply. The render command was giving the error as I way trying it during the debugging session, and there was another jsreport process running. Killing the process, will make the command run correctly.

    I checked the task manager with the keepAlive parameter and without it. With the parameter, I can see two jsreport processes running, and without it only one. But I will still get the timeout issue.


Log in to reply
 

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