Skip to content

Get-Help -Category Class results in unhandled exception #7187

@SteveL-MSFT

Description

@SteveL-MSFT

This is a regression from 6.1-Preview.3. Doesn't repro unless you have a module with a class that has hidden members. Test module PSSysLog is such a module.

Steps to reproduce

Import-Module build.psm1
Get-Help -Category Class

Expected behavior

Nothing returned

Actual behavior

Release build

get-help : Object reference not set to an instance of an object.
At line:1 char:1
+ get-help -Category Class
+ ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [Get-Help], NullReferenceException
+ FullyQualifiedErrorId :System.NullReferenceException,Microsoft.PowerShell.Commands.GetHelpCommand

Debug build

Assertion Failed                                                                                                                                                                                                                            PropertyType cannot be null                                                                                                                                                                                                                                                                                                                                                                                                                                                                at System.Management.Automation.Diagnostics.Assert(Boolean condition, String whyThisShouldNeverHappen, String detailMessage) in /Users/steve/repos/PowerShell/src/System.Management.Automation/utils/assert.cs:line 195                     at System.Management.Automation.Diagnostics.Assert(Boolean condition, String whyThisShouldNeverHappen) in /Users/steve/repos/PowerShell/src/System.Management.Automation/utils/assert.cs:line 130                                        
   at System.Management.Automation.PSClassSearcher.ConvertToClassInfo(PSModuleInfo module, ScriptBlockAst ast, TypeDefinitionAst statement) in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/PSClassSearcher.cs:line 303
   at System.Management.Automation.PSClassSearcher.CachedItemToPSClassInfo(WildcardPattern classNameMatcher, String modulePath) in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/PSClassSearcher.cs:line 238
   at System.Management.Automation.PSClassSearcher.FindTypeByModulePath(WildcardPattern classNameMatcher) in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/PSClassSearcher.cs:line 188
   at System.Management.Automation.PSClassSearcher.GetNextClass() in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/PSClassSearcher.cs:line 138
   at System.Management.Automation.PSClassSearcher.MoveNext() in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/PSClassSearcher.cs:line 90
   at System.Management.Automation.PSClassHelpProvider.GetHelpInfo(PSClassSearcher searcher)+MoveNext() in /Users/steve/repos/PowerShell/src/System.Management.Automation/help/PSClassHelpProvider.cs:line 132
   at System.Management.Automation.PSClassHelpProvider.SearchHelp(HelpRequest helpRequest, Boolean searchOnlyContent)+MoveNext() in /Users/steve/repos/PowerShell/src/System.Management.Automation/help/PSClassHelpProvider.cs:line 89
   at System.Management.Automation.HelpSystem.SearchHelp(HelpRequest helpRequest)+MoveNext() in /Users/steve/repos/PowerShell/src/System.Management.Automation/help/HelpSystem.cs:line 497
   at System.Management.Automation.HelpSystem.DoGetHelp(HelpRequest helpRequest)+MoveNext() in /Users/steve/repos/PowerShell/src/System.Management.Automation/help/HelpSystem.cs:line 318
   at Microsoft.PowerShell.Commands.GetHelpCommand.ProcessRecord() in /Users/steve/repos/PowerShell/src/System.Management.Automation/help/HelpCommands.cs:line 278
   at System.Management.Automation.Cmdlet.DoProcessRecord() in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/cmdlet.cs:line 172
   at System.Management.Automation.CommandProcessor.ProcessRecord() in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/CommandProcessor.cs:line 358
   at System.Management.Automation.CommandProcessorBase.DoExecute() in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/CommandProcessorBase.cs:line 539
   at System.Management.Automation.Internal.PipelineProcessor.Inject(Object input, Boolean enumerate) in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/pipeline.cs:line 1159
   at System.Management.Automation.Internal.PipelineProcessor.SynchronousExecuteEnumerate(Object input) in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/pipeline.cs:line 499
   at System.Management.Automation.PipelineOps.InvokePipeline(Object input, Boolean ignoreInput, CommandParameterInternal[][] pipeElements, CommandBaseAst[] pipeElementAsts, CommandRedirection[][] commandRedirections, FunctionContext funcContext) in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/runtime/Operations/MiscOps.cs:line 454
   at System.Management.Automation.Interpreter.ActionCallInstruction`6.Run(InterpretedFrame frame) in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/interpreter/CallInstruction.Generated.cs:line 566
   at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame) in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/interpreter/ControlFlowInstructions.cs:line 356
   at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame) in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/interpreter/ControlFlowInstructions.cs:line 356
   at System.Management.Automation.Interpreter.Interpreter.Run(InterpretedFrame frame) in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/interpreter/Interpreter.cs:line 111
   at System.Management.Automation.Interpreter.LightLambda.RunVoid1[T0](T0 arg0) in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/interpreter/LightLambda.Generated.cs:line 77
   at System.Management.Automation.DlrScriptCommandProcessor.RunClause(Action`1 clause, Object dollarUnderbar, Object inputToProcess) in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/ScriptCommandProcessor.cs:line 515
   at System.Management.Automation.DlrScriptCommandProcessor.Complete() in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/ScriptCommandProcessor.cs:line 416
   at System.Management.Automation.CommandProcessorBase.DoComplete() in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/CommandProcessorBase.cs:line 613
   at System.Management.Automation.Internal.PipelineProcessor.DoCompleteCore(CommandProcessorBase commandRequestingUpstreamCommandsToStop) in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/pipeline.cs:line 606
   at System.Management.Automation.Internal.PipelineProcessor.SynchronousExecuteEnumerate(Object input) in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/pipeline.cs:line 518
   at System.Management.Automation.Runspaces.LocalPipeline.InvokeHelper() in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/hostifaces/LocalPipeline.cs:line 377
   at System.Management.Automation.Runspaces.LocalPipeline.InvokeThreadProc() in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/hostifaces/LocalPipeline.cs:line 573
   at System.Management.Automation.Runspaces.PipelineThread.WorkerProc() in /Users/steve/repos/PowerShell/src/System.Management.Automation/engine/hostifaces/LocalPipeline.cs:line 1254
   at System.Threading.Thread.ThreadMain_ThreadStart()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)

Environment data

Name                           Value
----                           -----
PSVersion                      6.1.0-preview.3
PSEdition                      Core
GitCommitId                    v6.1.0-preview.3-47-ge8d2a6b27827dd366f638468f96487ddf2de1db4
OS                             Darwin 17.6.0 Darwin Kernel Version 17.6.0: Tue May  8 15:22:16 PDT 2018; root:xnu-4570.61.1~1/RELEASE_X86_64
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

Metadata

Metadata

Assignees

Labels

Issue-BugIssue has been identified as a bug in the productResolution-FixedThe issue is fixed.WG-Interactive-HelpSystemhelp infrastructure and formatting of help

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions