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

Most upvoted comments

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

Completed: Opening CPU Stacks (Elapsed Time: 115.629 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__30.MoveNext() at Diagnostics.Tracing.StackSources.LinuxPerfScriptEventParser.<Parse>d__9.MoveNext() at Diagnostics.Tracing.StackSources.ParallelLinuxPerfScriptStackSource.<>c__DisplayClass1_1.<DoInterning>b__0(Object givenArrayIndex) at System.Threading.Tasks.Task.Execute()

Unfortunately, I cannot share the trace 😦 I’m running into this one here:

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__30.MoveNext()
   at Diagnostics.Tracing.StackSources.LinuxPerfScriptEventParser.<Parse>d__9.MoveNext()
   at Diagnostics.Tracing.StackSources.ParallelLinuxPerfScriptStackSource.<>c__DisplayClass1_1.<DoInterning>b__0(Object givenArrayIndex)
   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()
   at Diagnostics.Tracing.StackSources.LinuxPerfScriptStackSource.InternAllLinuxEvents(Stream stream)
   at Diagnostics.Tracing.StackSources.LinuxPerfScriptStackSource..ctor(String path, Boolean doThreadTime)
   at Diagnostics.Tracing.StackSources.ParallelLinuxPerfScriptStackSource..ctor(String path, Boolean doThreadTime)
   at PerfView.LinuxPerfViewData.OpenStackSourceImpl(String streamName, TextWriter log, Double startRelativeMSec, Double endRelativeMSec, Predicate`1 predicate)
   at PerfView.PerfViewStackSource.OpenStackSource(String streamName, TextWriter log, Double startRelativeMSec, Double endRelativeMSec, Predicate`1 predicate)
   at PerfView.PerfViewStackSource.<>c__DisplayClass23_0.<Open>b__0()
   at PerfView.StatusBar.<>c__DisplayClass22_0.<StartWork>b__0()
---> (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__30.MoveNext()
   at Diagnostics.Tracing.StackSources.LinuxPerfScriptEventParser.<Parse>d__9.MoveNext()
   at Diagnostics.Tracing.StackSources.ParallelLinuxPerfScriptStackSource.<>c__DisplayClass1_1.<DoInterning>b__0(Object givenArrayIndex)
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()<---

---> (Inner Exception #1) 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__30.MoveNext()
   at Diagnostics.Tracing.StackSources.LinuxPerfScriptEventParser.<Parse>d__9.MoveNext()
   at Diagnostics.Tracing.StackSources.ParallelLinuxPerfScriptStackSource.<>c__DisplayClass1_1.<DoInterning>b__0(Object givenArrayIndex)
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()<---

---> (Inner Exception #2) 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__30.MoveNext()
   at Diagnostics.Tracing.StackSources.LinuxPerfScriptEventParser.<Parse>d__9.MoveNext()
   at Diagnostics.Tracing.StackSources.ParallelLinuxPerfScriptStackSource.<>c__DisplayClass1_1.<DoInterning>b__0(Object givenArrayIndex)
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()<---

---> (Inner Exception #3) 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__30.MoveNext()
   at Diagnostics.Tracing.StackSources.LinuxPerfScriptEventParser.<Parse>d__9.MoveNext()
   at Diagnostics.Tracing.StackSources.ParallelLinuxPerfScriptStackSource.<>c__DisplayClass1_1.<DoInterning>b__0(Object givenArrayIndex)
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()<---