perfview: Format Exception when opening the CPU view on on a Linux Trace.
To Repro
Download https://github.com/deppe/XmlSerializerPerf/blob/master/xmlperf.trace.zip
Open PerfView on it,
Open CPU view.
From the Log we get
Completed: Opening CPU Stacks (Elapsed Time: 6.138 sec)
Exception Occurred: System.AggregateException: One or more errors occurred. —> System.FormatException: Input string was not in a correct format.
at System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
at Diagnostics.Tracing.StackSources.LinuxPerfScriptEventParser.<NextEvent>d__29.MoveNext() in C:\Users\Vancem\Source\Repos\perfview\src\PerfView\OtherSources\Linux\LinuxPerfScriptEventParser.cs:line 326
at Diagnostics.Tracing.StackSources.LinuxPerfScriptEventParser.<Parse>d__9.MoveNext() in C:\Users\Vancem\Source\Repos\perfview\src\PerfView\OtherSources\Linux\LinuxPerfScriptEventParser.cs:line 85
at Diagnostics.Tracing.StackSources.ParallelLinuxPerfScriptStackSource.<>c__DisplayClass1_0.<DoInterning>b__0(Object givenArrayIndex) in C:\Users\Vancem\Source\Repos\perfview\src\PerfView\OtherSources\Linux\LinuxPerfScriptStackSource.cs:line 63
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
— End of inner exception stack trace —
at System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken)
at Diagnostics.Tracing.StackSources.ParallelLinuxPerfScriptStackSource.DoInterning() in C:\Users\Vancem\Source\Repos\perfview\src\PerfView\OtherSources\Linux\LinuxPerfScriptStackSource.cs:line 80
at Diagnostics.Tracing.StackSources.LinuxPerfScriptStackSource.InternAllLinuxEvents(Stream stream) in C:\Users\Vancem\Source\Repos\perfview\src\PerfView\OtherSources\Linux\LinuxPerfScriptStackSource.cs:line 351
at Diagnostics.Tracing.StackSources.LinuxPerfScriptStackSource…ctor(String path, Boolean doThreadTime) in C:\Users\Vancem\Source\Repos\perfview\src\PerfView\OtherSources\Linux\LinuxPerfScriptStackSource.cs:line 266
at Diagnostics.Tracing.StackSources.ParallelLinuxPerfScriptStackSource…ctor(String path, Boolean doThreadTime) in C:\Users\Vancem\Source\Repos\perfview\src\PerfView\OtherSources\Linux\LinuxPerfScriptStackSource.cs:line 20
at PerfView.LinuxPerfViewData.OpenStackSourceImpl(String streamName, TextWriter log, Double startRelativeMSec, Double endRelativeMSec, Predicate1 predicate) in C:\Users\Vancem\Source\Repos\perfview\src\PerfView\PerfViewData.cs:line 6078 at PerfView.PerfViewStackSource.OpenStackSource(String streamName, TextWriter log, Double startRelativeMSec, Double endRelativeMSec, Predicate1 predicate) in C:\Users\Vancem\Source\Repos\perfview\src\PerfView\PerfViewData.cs:line 2381
at PerfView.PerfViewStackSource.<>c__DisplayClass23_0.<Open>b__0() in C:\Users\Vancem\Source\Repos\perfview\src\PerfView\PerfViewData.cs:line 2399
at PerfView.StatusBar.<>c__DisplayClass19_0.<StartWork>b__0(Object <state>) in C:\Users\Vancem\Source\Repos\perfview\src\PerfView\GuiUtilities\StatusBar\StatusBar.xaml.cs:line 216
—> (Inner Exception #0) System.FormatException: Input string was not in a correct format.
at System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
at Diagnostics.Tracing.StackSources.LinuxPerfScriptEventParser.<NextEvent>d__29.MoveNext() in C:\Users\Vancem\Source\Repos\perfview\src\PerfView\OtherSources\Linux\LinuxPerfScriptEventParser.cs:line 326
at Diagnostics.Tracing.StackSources.LinuxPerfScriptEventParser.<Parse>d__9.MoveNext() in C:\Users\Vancem\Source\Repos\perfview\src\PerfView\OtherSources\Linux\LinuxPerfScriptEventParser.cs:line 85
at Diagnostics.Tracing.StackSources.ParallelLinuxPerfScriptStackSource.<>c__DisplayClass1_0.<DoInterning>b__0(Object givenArrayIndex) in C:\Users\Vancem\Source\Repos\perfview\src\PerfView\OtherSources\Linux\LinuxPerfScriptStackSource.cs:line 63
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()<—
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Comments: 18 (8 by maintainers)
Commits related to this issue
- Fix for issue #166 Exception when opening CPU View The problem is that trace had a process whose name began with a number. Fixed it to not be so senstive (however if the process has a name that has a... — committed to microsoft/perfview by vancem 7 years ago
- Fix for issue #166 Exception when opening CPU View The problem is that trace had a process whose name began with a number. Fixed it to not be so senstive (however if the process has a name that has a... — committed to vancem/perfview by vancem 7 years ago
I’m experiencing the same issue as @sandeeprawat and @Anteru with the same stack trace. Trace originates from a kubernetes pod and all the data seems intact when viewed using perfcollect.
I’m getting the same issue with .net core 2.1 trace from Linux. Using latest PerfView (2.0.46)
Shared trace at https://drive.google.com/open?id=1z-WOW_jjoOz_a7GKEjgHrbQFluSA0lfQ
Unfortunately, I cannot share the trace 😦 I’m running into this one here: