Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Show-UDModal can error is user swaps focus to another window. #1201

Open
gerane opened this issue Sep 30, 2019 · 4 comments
Open

Show-UDModal can error is user swaps focus to another window. #1201

gerane opened this issue Sep 30, 2019 · 4 comments
Labels
bug Something isn't working

Comments

@gerane
Copy link

gerane commented Sep 30, 2019

Describe the Issue

This may be related to #1196 but in case it isn't I was going to open a new issue.

I have some users who cause show-udmodal to error. It seems to be related to making a selection that will display a modal, and swapping focus from the browser or to a different tab before it shows up. I am still trying to reproduce it, but I haven't got been able to cause it to happen forced just yet. Here is some of the error output which may be of more help.

ResolvedError



PSMessageDetails      : 
Exception             : System.AggregateException: One or more errors occurred. ---> System.ArgumentNullException: 
                        Value cannot be null.
                        Parameter name: connectionId
                           at Microsoft.AspNetCore.SignalR.DefaultHubLifetimeManager`1.SendConnectionAsync(String 
                        connectionId, String methodName, Object[] args, CancellationToken cancellationToken)
                           at Microsoft.AspNetCore.SignalR.Internal.SingleClientProxy`1.SendCoreAsync(String method, 
                        Object[] args, CancellationToken cancellationToken)
                           at Microsoft.AspNetCore.SignalR.ClientProxyExtensions.SendAsync(IClientProxy clientProxy, 
                        String method, Object arg1, CancellationToken cancellationToken)
                           at UniversalDashboard.DashboardHubContextExtensions.<ShowModal>d__0.MoveNext() in 
                        D:\a\1\s\src\UniversalDashboard\Server\DashboardHub.cs:line 25
                           --- End of inner exception stack trace ---
                           at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
                           at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken 
                        cancellationToken)
                           at UniversalDashboard.Cmdlets.ShowModalCommand.EndProcessing() in 
                        D:\a\1\s\src\UniversalDashboard\Cmdlets\ShowModalCommand.cs:line 54
                           at System.Management.Automation.CommandProcessorBase.Complete()
                        ---> (Inner Exception #0) System.ArgumentNullException: Value cannot be null.
                        Parameter name: connectionId
                           at Microsoft.AspNetCore.SignalR.DefaultHubLifetimeManager`1.SendConnectionAsync(String 
                        connectionId, String methodName, Object[] args, CancellationToken cancellationToken)
                           at Microsoft.AspNetCore.SignalR.Internal.SingleClientProxy`1.SendCoreAsync(String method, 
                        Object[] args, CancellationToken cancellationToken)
                           at Microsoft.AspNetCore.SignalR.ClientProxyExtensions.SendAsync(IClientProxy clientProxy, 
                        String method, Object arg1, CancellationToken cancellationToken)
                           at UniversalDashboard.DashboardHubContextExtensions.<ShowModal>d__0.MoveNext() in 
                        D:\a\1\s\src\UniversalDashboard\Server\DashboardHub.cs:line 25<---
                        
TargetObject          : 
CategoryInfo          : NotSpecified: (:) [Show-UDModal], AggregateException
FullyQualifiedErrorId : System.AggregateException,UniversalDashboard.Cmdlets.ShowModalCommand
ErrorDetails          : 
InvocationInfo        : System.Management.Automation.InvocationInfo
ScriptStackTrace      : at Invoke-Selection<Process>, C:\Program 
                        Files\WindowsPowerShell\Modules\Module\2.0.4\Public\Components\Invoke-Selection.ps1: 
                        line 127
                        at Add-License<Process>, C:\Program Files\WindowsPowerShell\Modules\Dashboard\2.0.4\P
                        ublic\Management\Add-License.ps1: line 40
                        at <ScriptBlock>, <No file>: line 15 PipelineIterationInfo : {}






MyCommand             : Show-UDModal
BoundParameters       : {}
UnboundArguments      : {}
ScriptLineNumber      : 127
OffsetInLine          : 17
HistoryId             : 1
ScriptName            : C:\Program 
                        Files\WindowsPowerShell\Modules\Dashboard\2.0.4\Public\Components\Invoke-Selection.ps1
Line                  :                 Show-UDModal -Header { New-UDHeading -Size 5 -Text $SelectionText} -Persistent 
                        -Content {
                        
PositionMessage       : At C:\Program Files\WindowsPowerShell\Modules\Dashboard\2.0.4\Public\Components\Invoke-Sel
                        ection.ps1:127 char:17
                        + ...             Show-UDModal -Header { New-UDHeading -Size 5 -Text $Selec ...
                        +                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PSScriptRoot          : C:\Program Files\WindowsPowerShell\Modules\Dashboard\2.0.4\Public\Components
PSCommandPath         : C:\Program 
                        Files\WindowsPowerShell\Modules\Dashboard\2.0.4\Public\Components\Invoke-Selection.ps1
InvocationName        : Show-UDModal
PipelineLength        : 0
PipelinePosition      : 0
ExpectingInput        : False
CommandOrigin         : Internal
DisplayScriptPosition : 




00000000000000000000000000000000000000000000000000000000000000000000000000000000


InnerExceptions : {connectionId}
Message         : One or more errors occurred.
Data            : {}
InnerException  : System.ArgumentNullException: Value cannot be null.
                  Parameter name: connectionId
                     at Microsoft.AspNetCore.SignalR.DefaultHubLifetimeManager`1.SendConnectionAsync(String 
                  connectionId, String methodName, Object[] args, CancellationToken cancellationToken)
                     at Microsoft.AspNetCore.SignalR.Internal.SingleClientProxy`1.SendCoreAsync(String method, Object[] 
                  args, CancellationToken cancellationToken)
                     at Microsoft.AspNetCore.SignalR.ClientProxyExtensions.SendAsync(IClientProxy clientProxy, String 
                  method, Object arg1, CancellationToken cancellationToken)
                     at UniversalDashboard.DashboardHubContextExtensions.<ShowModal>d__0.MoveNext() in 
                  D:\a\1\s\src\UniversalDashboard\Server\DashboardHub.cs:line 25
TargetSite      : Void ThrowIfExceptional(Boolean)
StackTrace      :    at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
                     at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
                     at UniversalDashboard.Cmdlets.ShowModalCommand.EndProcessing() in 
                  D:\a\1\s\src\UniversalDashboard\Cmdlets\ShowModalCommand.cs:line 54
                     at System.Management.Automation.CommandProcessorBase.Complete()
HelpLink        : 
Source          : mscorlib
HResult         : -2146233088




11111111111111111111111111111111111111111111111111111111111111111111111111111111


Message        : Value cannot be null.
                 Parameter name: connectionId
ParamName      : connectionId
Data           : {}
InnerException : 
TargetSite     : System.Threading.Tasks.Task SendConnectionAsync(System.String, System.String, System.Object[], 
                 System.Threading.CancellationToken)
StackTrace     :    at Microsoft.AspNetCore.SignalR.DefaultHubLifetimeManager`1.SendConnectionAsync(String 
                 connectionId, String methodName, Object[] args, CancellationToken cancellationToken)
                    at Microsoft.AspNetCore.SignalR.Internal.SingleClientProxy`1.SendCoreAsync(String method, Object[] 
                 args, CancellationToken cancellationToken)
                    at Microsoft.AspNetCore.SignalR.ClientProxyExtensions.SendAsync(IClientProxy clientProxy, String 
                 method, Object arg1, CancellationToken cancellationToken)
                    at UniversalDashboard.DashboardHubContextExtensions.<ShowModal>d__0.MoveNext() in 
                 D:\a\1\s\src\UniversalDashboard\Server\DashboardHub.cs:line 25
HelpLink       : 
Source         : Microsoft.AspNetCore.SignalR.Core
HResult        : -2147467261

To Reproduce

The user said they started a process by clicking selection button and then changed windows. The button opens a selection modal that has a table with select buttons.

Expected behavior

Should not error.

Version Information

  • Operating System: Server 2016
  • PowerShell Version: 5.1
  • Universal Dashboard Version: 2.6.0
  • UD Hosting Method: IIS

Additional context

@gerane gerane added the bug Something isn't working label Sep 30, 2019
@gerane
Copy link
Author

gerane commented Oct 24, 2019

@adamdriscoll this isn't just swapping windows. It seems the dashboard just sometimes has issues showing modals. This same error about a null connectionid can happen with a single browser tab open.

What I am unsure of, is if multiple different users using the dashboard might have something to do with this.

@gerane
Copy link
Author

gerane commented Oct 24, 2019

This sounds like it is related to #1171

@adamdriscoll
Copy link
Member

We are seeing other weirdness as well: https://forums.universaldashboard.io/t/modals-appearing-on-other-peoples-screens/1465/16

Something is up with modals (maybe just signalr) and IIS

Are you using single-sign on auth?

@adamdriscoll
Copy link
Member

@gerane Can you try tonight's nightly build? I think I found the issue... It will be available tomorrow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants