Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update guidance for Portable PDB in 4.7.1 #607

Merged
merged 3 commits into from
Feb 3, 2018

Conversation

noahfalk
Copy link
Member

@noahfalk noahfalk commented Feb 2, 2018

No description provided.

@noahfalk
Copy link
Member Author

noahfalk commented Feb 2, 2018

@rpetrusha @vivmishra @tmat - PTAL

Copy link

@rpetrusha rpetrusha left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've left a couple of suggestions for changes, @noahfalk.

## Symptoms

An application that formats stack traces is missing source information for some or all frames. This includes stack traces formatted via [System.Exception.ToString()](https://docs.microsoft.com/en-us/dotnet/api/system.exception.tostring?view=netframework-4.7.1), [System.Exception.StackTrace](https://docs.microsoft.com/en-us/dotnet/api/system.exception.stacktrace?view=netframework-4.7.1) and [System.Diagnostics.StackTrace.ToString()](https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.stacktrace.tostring?view=netframework-4.7.1).
The frames missing source information must reside in assemblies that have pdbs in the [Portable PDB format](https://github.com/dotnet/core/blob/master/Documentation/diagnostics/portable_pdb.md) present on disk.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since you're describing symptoms here, "must" is not necessary.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My goal here was to qualify when you might be observing this issue vs. some other issue. For example you could build assemblies with any format pdb and then not put pdb on disk and you would observe the same missing source lines. However in that case you aren't hitting this issue, you are just failing to deploy your PDBs. I wanted to help people avoid some likely misdiagnosis.

Do you still I think I should remove 'must' or maybe phrase this a different way? I considered phrasing it as 'you observe symptom when condition is true' but it made a very long sentence whereas "must" helped me break the sentence apart. "You observe symptom. condition must be met."

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Basically, symptoms defines the two conditions that must be present for this issue to apply. So in that sense, the "must" is not necessary. So the intent is already clear. I think the sentence reads much better with it removed. But I'll leave it up to you to decide, @noahfalk.


## Cause

The .NET Framework 4.7.1 added support for detecting and parsing the Portable PDB file format to show file and line number information in stack traces. However due to an unfortunate [implementation issue](https://github.com/Microsoft/dotnet/blob/master/releases/net471/KnownIssues/517815-BCL%20Applications%20making%20heavy%20use%20of%20System.Diagnostics.StackTrace%20might%20run%20more%20slowly%20on%20.NET%204.7.1.md) the feature introduced unacceptable performance impact for some customers and Microsoft intentionally disabled it.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

commas after:

  • However
  • implementation issue
  • customers
    impacts can't be introduced; better: "this feature had an unacceptable performance impact"

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove "unfortunate"


## Workarounds

- If you are in control of the build process for the problematic assemblies you may be able to configure it to generate the classic Windows PDB format instead.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you are in control --> If you control
comma after assemblies

@@ -0,0 +1,19 @@
# Stack traces are missing source information for frames with debug information in the Portable PDB format when running on .Net Framework 4.7.1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make all instances of ".Net" --> ".NET"


## Resolution

A fix is anticipated for .Net Framework 4.7.2 that restores Portable PDB functionality with greatly improved performance.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: Replace 'for' --> 'in': A fix is anticipated in .NET Framework 4.7.2, in near future, that restores ... ...

Early access for 4.7.2 goes live on 2/5 -- we can then append the reference to it and suggest folks to go try the product for feature again.

The PR is https://github.com/Microsoft/dotnet-framework-early-access/pull/10

@noahfalk
Copy link
Member Author

noahfalk commented Feb 3, 2018

Thanks to you both!

I've updated the PR with most of the feedback but I did have an outstanding question for Ron on "must". Ron if my explanation above makes sense I'm happy to have you apply whatever adjustment seems appropriate.

On consultation with Tomas I removed the workaround for using the converter and we'll put it back once he has documentation in better shape.

Copy link
Contributor

@vivmishra vivmishra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@noahfalk
Copy link
Member Author

noahfalk commented Feb 3, 2018

"Must" is out of there : )

@noahfalk
Copy link
Member Author

noahfalk commented Feb 3, 2018

I don't have permission to merge though.

@vivmishra vivmishra merged commit 93ee93c into microsoft:master Feb 3, 2018
rpetrusha pushed a commit that referenced this pull request Feb 27, 2018
* Corrected category to remove duplication, generated readme (#542)

* Fixed bad links (#543)

* Making relative link use home operation (#544)

* Link fixes (#545)

* fixed xrefs and links

* reverted change

* Update the issue with the list of types potentially impacted (#538)

* Update the issue with the list of types potentially impacted

* Update 510901-BCL Apps targeting .NET-4.6.1 that use .NET Standard libraries might be broken when running on .NET 4.7.1.md

* Update 510901-BCL Apps targeting .NET-4.6.1 that use .NET Standard libraries might be broken when running on .NET 4.7.1.md

* Update 510901-BCL Apps targeting .NET-4.6.1 that use .NET Standard libraries might be broken when running on .NET 4.7.1.md

* Update 510901-BCL Apps targeting .NET-4.6.1 that use .NET Standard libraries might be broken when running on .NET 4.7.1.md

* Update 510901-BCL Apps targeting .NET-4.6.1 that use .NET Standard libraries might be broken when running on .NET 4.7.1.md (#546)

* Add Neutronium reference (#547)

* Adding Neutronium link

* As by PR

* Create 521954 - BCL CultureAwareComparer with ignore casing on serial… (#553)

* Create 521954 - BCL CultureAwareComparer with ignore casing on serialized on previous versions of .NET do not correctly deserialize on .NET 4.7.1.md

* Update 521954 - BCL CultureAwareComparer with ignore casing on serialized on previous versions of .NET do not correctly deserialize on .NET 4.7.1.md

* Update 521954 - BCL CultureAwareComparer with ignore casing on serialized on previous versions of .NET do not correctly deserialize on .NET 4.7.1.md

* Update known issues for #521954

* Update 521954 - BCL CultureAwareComparer with ignore casing on serial… (#555)

* Update 521954 - BCL CultureAwareComparer with ignore casing on serialized on previous versions of .NET do not correctly deserialize on .NET 4.7.1.md

* Update 521954 - BCL CultureAwareComparer with ignore casing on serialized on previous versions of .NET do not correctly deserialize on .NET 4.7.1.md

* Update 521954 - BCL CultureAwareComparer with ignore casing on serialized on previous versions of .NET do not correctly deserialize on .NET 4.7.1.md (#558)

LGTM

* Update 521954 - BCL CultureAwareComparer with ignore casing on serialized on previous versions of .NET do not correctly deserialize on .NET 4.7.1.md

* Typo fix (#554)

* Add known issue for 523633 (#559)

* Add known issue for 523633

* Add known issue for 523633

* Fixes for review comments for 523633

* Fixes for review comments for 523633

* Changes so content syncs with PR #3686 in dotnet/docs (#561)

* Added Core WF and Orleans.Activities (#562)

* Update platforms.json

Update .NET Core entries to include the November Update release.

* Added release notes for 6.0.2

* Update README.md

* Update README.md

* Update README.md

* Adding Known Issue for the 471 stack trace perf issue (#567)

* Adding Known Issue for the 471 stack trace perf issue

* Incorporated review comments

* Update dotnet471-known-issues.md

* Add ServicetStack to frameworks list (#574)

Adding in link  to the ServiceStack web framework (which I am not involved with or a representative of, but that I use and have contributed minor tweaks to)

* Miscellanous formatting fixes (#573)

* Miscellanous formatting fixes

* Corrected quirked/build time break sections

* 2.0.2 release notes

* 1.7.2 release notes

* readability fixes

* Resolving PR feedback

* Resolving PR feedback

* Resolving PR feedback

* Converted asset IDs to xrefs, corrected formatting (#581)

* Add .NET 4.7.1 Networking known issue 534719 (#580)

* Add .NET 4.7.1 Networking known issue 534719

Add known issue document for bug 534719-Networking
ServicePoint.ConnectionLimit default behavior with loopback changed
unexpectedly.

* Addressed PR feedback

* Removed duplicate words (#583)

* Add release notes for UWP 6.0.5

* Add more consistency to net-native1.7 readme

* Replaced unprintable characters. (#586)

* Fixed links broken in dotnet/docs (#588)

* Updated the readme with the 5.2.4 release.

* Updated README with the 5.3.5 release

* Updated the README with the 5.4.2 release

* Updated README with 6.0.6 release.

* Added the link for ZDP update for Known Issues fixed by it. (#595)

* Added the link for ZDP update for Known Issues fixed by it.

* Added platform information

* Added Switch.System.Net.DontEnableSystemDefaultTlsVersions AppContext switch (#603)

* Replaced MSDN link with link to docs.microsoft.com

* Corrected typos

* Added Switch.System.Net.DontEnableSystemDefaultTlsVersions switch

* Clarify Portable PDB feature disabled in 4.7.1 (#606)

* Update guidance for Portable PDB in 4.7.1 (#607)

* Update guidance for Portable PDB in 4.7.1

* Address review feedback

* More review feedback

* Added new known issue for 517815-BCL

* Add known issue for 470006 - GC large object crashes

Added a known issue, written by Chris Ahna, about GC crashes when we
have a high rate of large object allocations and frees.

* Updated to include proposed changes from review

* Updated to incorporate feedback

* fixed formatting  (#614)

* fixed formatting (hopefully)

* Fixed links broken after migration

* Documented two .NET Framework 4.6 app compat switches (#615)

* Documented DontEnableSchSendAuxRecord switch

* added note

* added second switch

* Finished documenting switches

* Added readme

* Fixed formatting issues

* Adding additional fix info (#616)

* Adding additional fix info

Adding info for the Fall Creators Update patch

* Update 517815-BCL Applications making heavy use of System.Diagnostics.StackTrace might run more slowly on .NET 4.7.1.md

* Update 517815-BCL Applications making heavy use of System.Diagnostics.StackTrace might run more slowly on .NET 4.7.1.md

Fixing links (copy/pasting doesn't format them correctly)

* Update 517815-BCL Applications making heavy use of System.Diagnostics.StackTrace might run more slowly on .NET 4.7.1.md

Minor changes

* Update .NET UWP release notes for 6.0.7 release

* fixed based on feedback.

* Fix inline code span (#618)

* Fix inline code

' -> `

* Update wpf-selector-crash-when-removing-item-from-custom-collection.md

* Fixed formatting of opening XML tag (#622)

* Update known issue 517815-BCL Stack traces are missing source information (#623)

* Update 517815-BCL Stack traces are missing source information for frames with debug information in the Portable PDB format.md

Add the portable PDB conversion tool as a workaround now that it is better documented how to use it.

* Update 517815-BCL Stack traces are missing source information for frames with debug information in the Portable PDB format.md

PR feedback

* Assorted changes (#625)

* Assorted changes

* Removed remaining occurences of 'en-us'

* Removed comments (#628)

* Fix compat doc links (#632)

* ~/docsframework -> ~/docs/framework

* fix bookmark: #Networking.md -> #Networking

* fix bookmark: #mitigation.md -> #mitigation

* Fixing index.md URI (#633)
rpetrusha pushed a commit that referenced this pull request Apr 3, 2018
* Corrected category to remove duplication, generated readme (#542)

* Fixed bad links (#543)

* Making relative link use home operation (#544)

* Link fixes (#545)

* fixed xrefs and links

* reverted change

* Update the issue with the list of types potentially impacted (#538)

* Update the issue with the list of types potentially impacted

* Update 510901-BCL Apps targeting .NET-4.6.1 that use .NET Standard libraries might be broken when running on .NET 4.7.1.md

* Update 510901-BCL Apps targeting .NET-4.6.1 that use .NET Standard libraries might be broken when running on .NET 4.7.1.md

* Update 510901-BCL Apps targeting .NET-4.6.1 that use .NET Standard libraries might be broken when running on .NET 4.7.1.md

* Update 510901-BCL Apps targeting .NET-4.6.1 that use .NET Standard libraries might be broken when running on .NET 4.7.1.md

* Update 510901-BCL Apps targeting .NET-4.6.1 that use .NET Standard libraries might be broken when running on .NET 4.7.1.md (#546)

* Add Neutronium reference (#547)

* Adding Neutronium link

* As by PR

* Create 521954 - BCL CultureAwareComparer with ignore casing on serial… (#553)

* Create 521954 - BCL CultureAwareComparer with ignore casing on serialized on previous versions of .NET do not correctly deserialize on .NET 4.7.1.md

* Update 521954 - BCL CultureAwareComparer with ignore casing on serialized on previous versions of .NET do not correctly deserialize on .NET 4.7.1.md

* Update 521954 - BCL CultureAwareComparer with ignore casing on serialized on previous versions of .NET do not correctly deserialize on .NET 4.7.1.md

* Update known issues for #521954

* Update 521954 - BCL CultureAwareComparer with ignore casing on serial… (#555)

* Update 521954 - BCL CultureAwareComparer with ignore casing on serialized on previous versions of .NET do not correctly deserialize on .NET 4.7.1.md

* Update 521954 - BCL CultureAwareComparer with ignore casing on serialized on previous versions of .NET do not correctly deserialize on .NET 4.7.1.md

* Update 521954 - BCL CultureAwareComparer with ignore casing on serialized on previous versions of .NET do not correctly deserialize on .NET 4.7.1.md (#558)

LGTM

* Update 521954 - BCL CultureAwareComparer with ignore casing on serialized on previous versions of .NET do not correctly deserialize on .NET 4.7.1.md

* Typo fix (#554)

* Add known issue for 523633 (#559)

* Add known issue for 523633

* Add known issue for 523633

* Fixes for review comments for 523633

* Fixes for review comments for 523633

* Changes so content syncs with PR #3686 in dotnet/docs (#561)

* Added Core WF and Orleans.Activities (#562)

* Update platforms.json

Update .NET Core entries to include the November Update release.

* Added release notes for 6.0.2

* Update README.md

* Update README.md

* Update README.md

* Adding Known Issue for the 471 stack trace perf issue (#567)

* Adding Known Issue for the 471 stack trace perf issue

* Incorporated review comments

* Update dotnet471-known-issues.md

* Add ServicetStack to frameworks list (#574)

Adding in link  to the ServiceStack web framework (which I am not involved with or a representative of, but that I use and have contributed minor tweaks to)

* Miscellanous formatting fixes (#573)

* Miscellanous formatting fixes

* Corrected quirked/build time break sections

* 2.0.2 release notes

* 1.7.2 release notes

* readability fixes

* Resolving PR feedback

* Resolving PR feedback

* Resolving PR feedback

* Converted asset IDs to xrefs, corrected formatting (#581)

* Add .NET 4.7.1 Networking known issue 534719 (#580)

* Add .NET 4.7.1 Networking known issue 534719

Add known issue document for bug 534719-Networking
ServicePoint.ConnectionLimit default behavior with loopback changed
unexpectedly.

* Addressed PR feedback

* Removed duplicate words (#583)

* Add release notes for UWP 6.0.5

* Add more consistency to net-native1.7 readme

* Replaced unprintable characters. (#586)

* Fixed links broken in dotnet/docs (#588)

* Updated the readme with the 5.2.4 release.

* Updated README with the 5.3.5 release

* Updated the README with the 5.4.2 release

* Updated README with 6.0.6 release.

* Added the link for ZDP update for Known Issues fixed by it. (#595)

* Added the link for ZDP update for Known Issues fixed by it.

* Added platform information

* Added Switch.System.Net.DontEnableSystemDefaultTlsVersions AppContext switch (#603)

* Replaced MSDN link with link to docs.microsoft.com

* Corrected typos

* Added Switch.System.Net.DontEnableSystemDefaultTlsVersions switch

* Clarify Portable PDB feature disabled in 4.7.1 (#606)

* Update guidance for Portable PDB in 4.7.1 (#607)

* Update guidance for Portable PDB in 4.7.1

* Address review feedback

* More review feedback

* Added new known issue for 517815-BCL

* Add known issue for 470006 - GC large object crashes

Added a known issue, written by Chris Ahna, about GC crashes when we
have a high rate of large object allocations and frees.

* Updated to include proposed changes from review

* Updated to incorporate feedback

* fixed formatting  (#614)

* fixed formatting (hopefully)

* Fixed links broken after migration

* Documented two .NET Framework 4.6 app compat switches (#615)

* Documented DontEnableSchSendAuxRecord switch

* added note

* added second switch

* Finished documenting switches

* Added readme

* Fixed formatting issues

* Adding additional fix info (#616)

* Adding additional fix info

Adding info for the Fall Creators Update patch

* Update 517815-BCL Applications making heavy use of System.Diagnostics.StackTrace might run more slowly on .NET 4.7.1.md

* Update 517815-BCL Applications making heavy use of System.Diagnostics.StackTrace might run more slowly on .NET 4.7.1.md

Fixing links (copy/pasting doesn't format them correctly)

* Update 517815-BCL Applications making heavy use of System.Diagnostics.StackTrace might run more slowly on .NET 4.7.1.md

Minor changes

* Update .NET UWP release notes for 6.0.7 release

* fixed based on feedback.

* Fix inline code span (#618)

* Fix inline code

' -> `

* Update wpf-selector-crash-when-removing-item-from-custom-collection.md

* Fixed formatting of opening XML tag (#622)

* Update known issue 517815-BCL Stack traces are missing source information (#623)

* Update 517815-BCL Stack traces are missing source information for frames with debug information in the Portable PDB format.md

Add the portable PDB conversion tool as a workaround now that it is better documented how to use it.

* Update 517815-BCL Stack traces are missing source information for frames with debug information in the Portable PDB format.md

PR feedback

* Assorted changes (#625)

* Assorted changes

* Removed remaining occurences of 'en-us'

* Removed comments (#628)

* Fix compat doc links (#632)

* ~/docsframework -> ~/docs/framework

* fix bookmark: #Networking.md -> #Networking

* fix bookmark: #mitigation.md -> #mitigation

* Fixing index.md URI (#633)

* Corrected language tags, formatting issue (#637)

* Add compatibility documentation for Unicode bidirectional character fix. (#636)

* Add draft documentation for Unicode bidirectional character fix.

* Clarify that unencoded bidi control characters will be encoded.

* Address feedback.

* removed app compat issue for 472 branch (#640)

* Correct docs site bookmarks (#634)

* Misc issues (#644)

* Miscellaneous formatting and link changes

* Proper usage of .NET Framework

* Removed 'please'

* Fix typo (#646)

* Changed docs.microsoft.com/dotnet URLs to relative URLs (#645)

* Changed docs.microsoft.com/dotnet URLs to relative URLs

* removed trailing spaces, added </p> and </br> HTML tags

* Updated with release notes for 6.0.8

* Added new projects (#647)

* Added new projects

Added a new web framework, 2 new libraries and a project template

* Fixed some typos

* Remove Google Apps for Work (#648)

Google Apps for Work was rebranded G Suite.
However, you can just say Gmail instead of G Suite Gmail.

* Added categories list (#650)

* Update 510901-BCL Apps targeting .NET-4.6.1 that use .NET Standard libraries might be broken when running on .NET 4.7.1.md

Added link for Windows 10 Fall Creators Update fix

* Compat Documentation for DevDiv 258978 (#649)

* Create WF-258978.md

* Update WF-258978.md

* Update WF-258978.md

* Update WF-258978.md

* Update WF-258978.md

* Update WF-258978.md

* Update WF-258978.md

* Update WF-258978.md

* Created links to APIs

* Update WF-258978.md

* Unfenced some text

* Deleting to move file to net472 branch (#653)

* Update Early Access Info (#642)

* Update Early Access Info

Updated early access version and removed old release notes link.

* Updated per requested changes

* Update 523633 - Setup - OS upgrade to Windows 10 gets the product in bad state.md

* Update 534719-Networking ServicePoint.ConnectionLimit default behavio… (#664)

* Update 534719-Networking ServicePoint.ConnectionLimit default behavior with loopback changed unexpectedly.md

* Update known issue 534719 to describe broader impact

* Simplified syntax (#672)

* Create 553390 - BCL - SGEN crashes because it references System.IO.Co… (#670)

* Create 553390 - BCL - SGEN crashes because it references System.IO.Compression.ZipFile.dll.md

* Update 553390 - BCL - SGEN crashes because it references System.IO.Compression.ZipFile.dll.md

* Update 553390 - BCL - SGEN crashes because it references System.IO.Compression.ZipFile.dll.md

* Update dotnet471-known-issues.md

* re-add ASPNET472CompatDoc (#668)

* re-add ASPNET472CompatDoc

* Minor edits, added links.

* Minor changes, added links.

* Changed targeted version, removed reverted section

* Deletion to move file to 472 branch (#675)

* Adding known issue about 12 shims when targeting 4.7.1 (#677)

* Adding known issue about 12 shims when targeting 4.7.1

* PR Feedback

* PR Feedback

* PR Feedback

* Feedback

* Added Visual Studio reference (#681)

* Added Visual Studio reference

* Update 523633 - Setup - OS upgrade to Windows 10 gets the product in bad state.md

* Fixed broken links (#683)

* Added line breaks, fixed other formatting issues (#684)

* Added line breaks, other formatting changes (#685)

* Added line breaks, other formatting changes

* additional formatting change

* Add Flubu to .NET Open Source Developer Projects  (#690)

* Update dotnet-developer-projects.md

* Update dotnet-developer-projects.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants