Giter VIP home page Giter VIP logo

Comments (22)

ivberg avatar ivberg commented on May 25, 2024

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.

ivberg avatar ivberg commented on May 25, 2024

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.

ivberg avatar ivberg commented on May 25, 2024

Just merged the PR. Will get out a new build today

from microsoft-performance-tools-linux-android.

ivberg avatar ivberg commented on May 25, 2024

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.

Trass3r avatar Trass3r commented on May 25, 2024

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.

ivberg avatar ivberg commented on May 25, 2024

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.

Trass3r avatar Trass3r commented on May 25, 2024

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.

ivberg avatar ivberg commented on May 25, 2024

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.

ivberg avatar ivberg commented on May 25, 2024

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.

Trass3r avatar Trass3r commented on May 25, 2024

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.

ivberg avatar ivberg commented on May 25, 2024

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.

Trass3r avatar Trass3r commented on May 25, 2024

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.

Trass3r avatar Trass3r commented on May 25, 2024

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.

ivberg avatar ivberg commented on May 25, 2024

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.

ivberg avatar ivberg commented on May 25, 2024

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.

Trass3r avatar Trass3r commented on May 25, 2024

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.

ivberg avatar ivberg commented on May 25, 2024

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.

Trass3r avatar Trass3r commented on May 25, 2024

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.

Trass3r avatar Trass3r commented on May 25, 2024

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.

ivberg avatar ivberg commented on May 25, 2024

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.

ivberg avatar ivberg commented on May 25, 2024

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.

Trass3r avatar Trass3r commented on May 25, 2024

Ah ok another Win11 exclusive. Thanks for the update.
Copying it locally works of course.

from microsoft-performance-tools-linux-android.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.