Comments (22)
Thx for the issue report and repro file @Trass3r ! I was able to repro the issue and fix the crash regression. However, our processor currently thinks there are no events in the trace. This should be the same behavior as older versions. The trace does actually seem to have events, so we will have to investigate that further as well, so the trace can successfully open.
from microsoft-performance-tools-linux-android.
I tracked down the issue which was due to another field (syscall_entry_clone) being removed/changed in LTTng v2.13. Your hint on 2.13 changes got to me to the right area. I did verify we do parse lttng_statedump_file_descriptor, but we don't rely on the removed pid field so we should be good there. Verified the trace above parses/loads fine now with the PR
from microsoft-performance-tools-linux-android.
Just merged the PR. Will get out a new build today
from microsoft-performance-tools-linux-android.
The fix is now available in https://github.com/microsoft/Microsoft-Performance-Tools-Linux-Android/releases/tag/v1.3.4
from microsoft-performance-tools-linux-android.
Hmm it's still crashing for me. How can you verify the version? The LTTngDataExtensions.dll is v1.2.4, not 1.3.4.
from microsoft-performance-tools-linux-android.
Same crash? Are you using the same input file you shared above? (as this is the one I tested with)
Yes, LTTngDataExtensions.dll is v1.2.4 in the 1.3.4 release (sorry if it's confusing). So it seems you have the right one.
I just tried to repro again with the final bits and the trace you shared and I could not repro. The trace loaded fine for me.
If we still cannot figure it out (or have a new repro), you might need to build the project yourself (which is quite easy), and attach a debugger so that we can attempt to see what is happening.
from microsoft-performance-tools-linux-android.
Of course on my other machine with VS installed it works. Only difference should be that it's Win11 there. Or maybe there's some missing dll dependency?
from microsoft-performance-tools-linux-android.
Interesting. This should be compatible to whatever .NET Core 3.1 is compatible with + WPA which I think is probably Win7. But TBH, I do test mostly on Win11 and Win10 /w VS. Keep in mind Unit Tests do on other Windows Server OS w/o VS + auto builds on Linux. It could be some dependency.
If you have more info to debug, that would be great. You can also try to capture a .dmp file and sharing it using SysInternals procdump - https://docs.microsoft.com/en-us/sysinternals/downloads/procdump. Procdump.exe -ma -w wpa.exe
from microsoft-performance-tools-linux-android.
Speaking of which - ensure both boxes have .NET Core Runtime 3.1.x installed per pre-reqs
dotnet --list-runtimes
It could be that VS pre-installed one of the run-times, which is maybe why it might work in that case?
from microsoft-performance-tools-linux-android.
Probably. Though I was under the impression that WPA itself is already built on .net core: https://docs.microsoft.com/en-us/windows-hardware/test/wpt/whats-new-in-the-windows-performance-toolkit
from microsoft-performance-tools-linux-android.
It's interesting and I think you are right. I do believe modern-day WPA is now built on .NET Core + WPF + native plugins (for Windows ETW). However, I am not sure how the .NET Core pre-reqs work there with the Store. I can ask around more. Looking at the store entry pre-reqs it doesn't list that pre-req, and I am not sure how/if it's installed or something else. https://www.microsoft.com/en-us/p/windows-performance-analyzer-preview/9n58qrw40dfw#activetab=pivot:regionofsystemrequirementstab
.NET Core can be compiled to require the runtime, or not - so I am not sure how it's done for WPA.
Either way, it's just some speculation on my part - as we don't know if the .NET Core runtime is making the difference here for this running or not.
from microsoft-performance-tools-linux-android.
Yeah that page reads it's self-contained.
Installing https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-desktop-3.1.22-windows-x64-installer didn't help.
Btw if it's .net core already, shouldn't WPA be close to being available on Linux then?
from microsoft-performance-tools-linux-android.
Ok looks like it only crashes when reading the files directly from the WSL2 share instead of from a local folder.
from microsoft-performance-tools-linux-android.
So the good news is that I can repro this issue when accessing the same folder or file from WSL2, that you shared . Workaround is to copy the file to Windows before opening.
At this point, this seems more like a WSL2 integration issue. Not only was there an error with WPA opening the file, but Explorer got in a weird state spinning trying to access the WSL2 filesystem, and then subsequently WPA would just hang waiting to read basic file info. I filed a Windows Feedback Hub issue which you can upvote, or add your own repro to.
--WSL2 accessing files from Explorer ends up never loading & app cannot access files inside WSL2--
https://aka.ms/AAg3eax
"The distro & file seems fine inside the Ubuntu bash shell but there is something very wrong with the integration. At first it worked to browse the files from Explorer -> Linux -> Ubuntu-18.04. But after I tried accessing a file from an app, the app had issues opening the file. After this Explorer got in bad state and the app hung trying to get basic file info. The path access was similar to \wsl.localhost\Ubuntu-18.04\home\User1\DataFolder\DataFile. Stopping and starting the WSL2 VM did not help."
I will update this issue if I see any updates there.
from microsoft-performance-tools-linux-android.
Side note - which instructions did you follow @Trass3r to get LTTng working and capture a trace on WSL2?
I ask because I just followed these instructions which seemed to go fine (no visible errors) - https://lttng.org/docs/v2.12/#doc-ubuntu-ppa.
However, when starting to follow LTTng trace capture instructions LTTng doesn't work - https://github.com/microsoft/Microsoft-Performance-Tools-Linux-Android/blob/develop/LinuxTraceLogCapture.md
root@DESKTOP:~# lttng list --kernel
Error: Unable to list kernel events: Kernel tracer not available
Does this still require custom module builds?
GitHub WSL Issue - LTTng kernel tracing support
from microsoft-performance-tools-linux-android.
So the good news is that I can repro this issue when accessing the same folder or file from WSL2
Nice, but I didn't experience the other problem with the explorer hangs. I'm on Ubuntu 22.04 and usually I don't have problems accessing WSL files from Windows, e.g. when comparing files manually with Tortoise Diff.
WPA just crashes, nothing hangs.
Does this still require custom module builds? GitHub WSL Issue - LTTng kernel tracing support
Yeah I think the WSL kernel doesn't even enable all the necessary features by default. And to this day I couldn't make the built-in version of lttng work. Also it seemed to be crucial to do the make modules_install
on the plain kernel before compiling the lttng modules.
from microsoft-performance-tools-linux-android.
Just to be clear in my previous repro when accessing the files over the WSL share. First I witnessed an exception ("No events - failure processing .ctf") and then after WPA hanging access the file + Explorer spinning WSL files.
After a reboot I tried the scenario again and it worked fine. So whatever issue seems to be in the WSL integration layer.
from microsoft-performance-tools-linux-android.
Well they are using this 9P protocol. Maybe there's a problem with this or even other types of network shares.
I remember that WSL1 also created very special problems cause it created case sensitive ntfs folders when created from Linux.
from microsoft-performance-tools-linux-android.
At this point, this seems more like a WSL2 integration issue. Not only was there an error with WPA opening the file, but Explorer got in a weird state spinning trying to access the WSL2 filesystem, and then subsequently WPA would just hang waiting to read basic file info. I filed a Windows Feedback Hub issue which you can upvote, or add your own repro to.
--WSL2 accessing files from Explorer ends up never loading & app cannot access files inside WSL2-- https://aka.ms/AAg3eax
I will update this issue if I see any updates there.
@ivberg did anything ever come out of this? WPA still crashes if I try to open a WSL folder.
from microsoft-performance-tools-linux-android.
For this bug - WSL2 accessing files from Explorer ends up never loading & app cannot access files inside WSL2-- https://aka.ms/AAg3eax
Yes it was marked fixed around 6 months ago (4/13/22) on Win11 21H2 (22598+), 22H2, and 25097+ (Insiders, rs_prerelease).
I have not tested the fix out myself. If you continue to have an issue please do repro the issue and submit Feedback in Windows Feedback Hub. This is how I reported the original issue myself.
from microsoft-performance-tools-linux-android.
WPA still crashes if I try to open a WSL folder.
Just a quick reminder as well that the workaround to copy the LTTng folder/files inside of WSL to the mounted Windows drive should work
from microsoft-performance-tools-linux-android.
Ah ok another Win11 exclusive. Thanks for the update.
Copying it locally works of course.
from microsoft-performance-tools-linux-android.
Related Issues (20)
- LTTngDataExtensions unable to process traces from NET6.0+ project
- Lack of LTTngCds implementation? HOT 1
- Loading perf artifact is not well documented, or not flexible HOT 2
- WPA sometimes fails to load perf data HOT 3
- perf artifact recorded without -a option failed to be loaded HOT 1
- error while load trace with perf HOT 2
- WPA cannot find this plugin even SET WPA_ADDITIONAL_SEARCH_DIRECTORIES HOT 2
- [Feature Request] Add resolved callstacks to Execution Events HOT 3
- [Feature] Perfetto - Support Android 12 CPU Scheduling CallStacks
- [Feature] Perfetto - GPU Counters tables HOT 1
- Linux "perf" traces give a confusing error if the trace is not named "perf.data.txt" HOT 1
- Linux "perf" traces should allow multiple file names, not just "perf.data.txt" HOT 2
- LTTng traces do not show the thread id
- Zooming in the LTTng graph view does not filter the events in the table view
- No Graphs visible HOT 10
- [Feature request] Perfetto - Display browser tab title alongside renderer view HOT 1
- "Open Unified" button not showing HOT 3
- hello HOT 2
- LTTng Parsing Library to Use HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from microsoft-performance-tools-linux-android.