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
Thread.CurrentPrincipal not flowing via Task.Run but does flow with Task.Factory.StartNew long running #1130
Comments
I have updated this with more information, as I can now replicate this. |
dazinator
changed the title
Thread.CurrentPrinciple not flowing via Task.Run
Thread.CurrentPrincipal not flowing via Task.Run but does flow with Task.Factory.StartNew
Dec 21, 2017
Added unit test code. |
I have added more detail to the stack overflow including screenshots of what things look like whilst debugging. (Thread Id's, Default and Current Schedulers, SynchronizationContext etc). |
dazinator
changed the title
Thread.CurrentPrincipal not flowing via Task.Run but does flow with Task.Factory.StartNew
Thread.CurrentPrincipal not flowing via Task.Run but does flow with Task.Factory.StartNew long running
Dec 22, 2017
Closing as this has now been addressed via PR: mono/mono#6326 |
jonpryor
pushed a commit
that referenced
this issue
Aug 8, 2018
Fixes: #1130 Fixes: #1561 (comment) Fixes: #1845 Fixes: #1951 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=10087 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=11771 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=12850 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=18941 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=19436 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=25444 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=33208 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=58413 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=59184 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=59400 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=59779 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=60065 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=60843 Context: mono/mono#6174 Context: mono/mono#6178 Context: mono/mono#6180 Context: mono/mono#6181 Context: mono/mono#6186 Context: mono/mono#6187 Context: mono/mono#6211 Context: mono/mono#6266 Context: mono/mono#6579 Context: mono/mono#6666 Context: mono/mono#6752 Context: mono/mono#6801 Context: mono/mono#6812 Context: mono/mono#6848 Context: mono/mono#6940 Context: mono/mono#6948 Context: mono/mono#6998 Context: mono/mono#6999 Context: mono/mono#7016 Context: mono/mono#7085 Context: mono/mono#7086 Context: mono/mono#7095 Context: mono/mono#7134 Context: mono/mono#7137 Context: mono/mono#7145 Context: mono/mono#7184 Context: mono/mono#7240 Context: mono/mono#7262 Context: mono/mono#7289 Context: mono/mono#7338 Context: mono/mono#7356 Context: mono/mono#7364 Context: mono/mono#7378 Context: mono/mono#7389 Context: mono/mono#7449 Context: mono/mono#7460 Context: mono/mono#7535 Context: mono/mono#7536 Context: mono/mono#7537 Context: mono/mono#7565 Context: mono/mono#7588 Context: mono/mono#7596 Context: mono/mono#7610 Context: mono/mono#7613 Context: mono/mono#7620 Context: mono/mono#7624 Context: mono/mono#7637 Context: mono/mono#7655 Context: mono/mono#7657 Context: mono/mono#7661 Context: mono/mono#7685 Context: mono/mono#7696 Context: mono/mono#7729 Context: mono/mono#7786 Context: mono/mono#7792 Context: mono/mono#7805 Context: mono/mono#7822 Context: mono/mono#7828 Context: mono/mono#7860 Context: mono/mono#7864 Context: mono/mono#7903 Context: mono/mono#7920 Context: mono/mono#8089 Context: mono/mono#8143 Context: mono/mono#8267 Context: mono/mono#8311 Context: mono/mono#8340 Context: mono/mono#8409 Context: mono/mono#8417 Context: mono/mono#8430 Context: mono/mono#8698 Context: mono/mono#8701 Context: mono/mono#8712 Context: mono/mono#8721 Context: mono/mono#8726 Context: mono/mono#8866 Context: mono/mono#9023 Context: mono/mono#9031 Context: mono/mono#9033 Context: mono/mono#9044 Context: mono/mono#9179 Context: mono/mono#9318 Context: mono/mono#9318 Context: xamarin/maccore#628 Context: xamarin/maccore#629 Context: xamarin/maccore#673
jonpryor
pushed a commit
that referenced
this issue
Aug 13, 2018
Fixes: #1130 Fixes: #1561 (comment) Fixes: #1845 Fixes: #1951 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=10087 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=11771 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=12850 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=18941 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=19436 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=25444 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=33208 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=58413 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=59184 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=59400 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=59779 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=60065 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=60843 Context: mono/mono#6174 Context: mono/mono#6178 Context: mono/mono#6180 Context: mono/mono#6181 Context: mono/mono#6186 Context: mono/mono#6187 Context: mono/mono#6211 Context: mono/mono#6266 Context: mono/mono#6579 Context: mono/mono#6666 Context: mono/mono#6752 Context: mono/mono#6801 Context: mono/mono#6812 Context: mono/mono#6848 Context: mono/mono#6940 Context: mono/mono#6948 Context: mono/mono#6998 Context: mono/mono#6999 Context: mono/mono#7016 Context: mono/mono#7085 Context: mono/mono#7086 Context: mono/mono#7095 Context: mono/mono#7134 Context: mono/mono#7137 Context: mono/mono#7145 Context: mono/mono#7184 Context: mono/mono#7240 Context: mono/mono#7262 Context: mono/mono#7289 Context: mono/mono#7338 Context: mono/mono#7356 Context: mono/mono#7364 Context: mono/mono#7378 Context: mono/mono#7389 Context: mono/mono#7449 Context: mono/mono#7460 Context: mono/mono#7535 Context: mono/mono#7536 Context: mono/mono#7537 Context: mono/mono#7565 Context: mono/mono#7588 Context: mono/mono#7596 Context: mono/mono#7610 Context: mono/mono#7613 Context: mono/mono#7620 Context: mono/mono#7624 Context: mono/mono#7637 Context: mono/mono#7655 Context: mono/mono#7657 Context: mono/mono#7661 Context: mono/mono#7685 Context: mono/mono#7696 Context: mono/mono#7729 Context: mono/mono#7786 Context: mono/mono#7792 Context: mono/mono#7805 Context: mono/mono#7822 Context: mono/mono#7828 Context: mono/mono#7860 Context: mono/mono#7864 Context: mono/mono#7903 Context: mono/mono#7920 Context: mono/mono#8089 Context: mono/mono#8143 Context: mono/mono#8267 Context: mono/mono#8311 Context: mono/mono#8340 Context: mono/mono#8409 Context: mono/mono#8417 Context: mono/mono#8430 Context: mono/mono#8698 Context: mono/mono#8701 Context: mono/mono#8712 Context: mono/mono#8721 Context: mono/mono#8726 Context: mono/mono#8866 Context: mono/mono#9023 Context: mono/mono#9031 Context: mono/mono#9033 Context: mono/mono#9044 Context: mono/mono#9179 Context: mono/mono#9318 Context: mono/mono#9318 Context: xamarin/maccore#628 Context: xamarin/maccore#629 Context: xamarin/maccore#673
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Steps to Reproduce
Thread.CurrentPrincipal
to a customPrinciple
which is serializable.await
aTask.Run()
Task
, if it executes on the same thread then Thread.CurrentPrincipal is still set correctly.Task
, if it is executing on a different thread from the main thread, it'sThread.CurrentPrincipal
value is lost (it's a GenericPrincipal again).If you do the same, but use
Task.Factory.StartNew
withTaskCreationOptions.LongRunning
, instead ofTask.Run
, then the Custom Principal does flow to the new thread.Is this a bug?
Logged stack overflow here: https://stackoverflow.com/questions/47926132/xamarin-android-task-run-vs-task-factory-startnew-and-thread-currentprincipal
This is different from the behaviour exhibited by .NET 4.7 (haven't tried other .NET framework versions).
Here is a unit test that passes under .NET 4.7 and fails under Xamarin.Android
Expected Behavior
Custom CurrentPrincipal should flow via Execution Context
Actual Behavior
Custom CurrentPrincipal isn't flowing..
Version Information
Microsoft Visual Studio Professional 2017
Version 15.5.2
VisualStudio.15.Release/15.5.2+27130.2010
Microsoft .NET Framework
Version 4.7.02556
Installed Version: Professional
Visual Basic 2017 00369-60000-00001-AA768
Microsoft Visual Basic 2017
Visual C# 2017 00369-60000-00001-AA768
Microsoft Visual C# 2017
Visual C++ 2017 00369-60000-00001-AA768
Microsoft Visual C++ 2017
Visual F# 4.1 00369-60000-00001-AA768
Microsoft Visual F# 4.1
.NET Portability Analyzer 1.1.10808.0
Evaluates portability of assemblies across .NET platforms.
Application Insights Tools for Visual Studio Package 8.10.01106.1
Application Insights Tools for Visual Studio
ASP.NET and Web Tools 2017 15.0.31125.0
ASP.NET and Web Tools 2017
ASP.NET Core Razor Language Services 1.0
Provides languages services for ASP.NET Core Razor.
ASP.NET Web Frameworks and Tools 2017 5.2.51007.0
For additional information, visit https://www.asp.net/
Azure App Service Tools v3.0.0 15.0.31106.0
Azure App Service Tools v3.0.0
Common Azure Tools 1.10
Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.
JavaScript Language Service 2.0
JavaScript Language Service
JavaScript Project System 2.0
JavaScript Project System
JavaScript UWP Project System 2.0
JavaScript UWP Project System
Merq 1.1.17-rc (cba4571)
Command Bus, Event Stream and Async Manager for Visual Studio extensions.
Microsoft Azure Tools 2.9
Microsoft Azure Tools for Microsoft Visual Studio 2017 - v2.9.51120.3
Microsoft Continuous Delivery Tools for Visual Studio 0.3
Simplifying the configuration of continuous build integration and continuous build delivery from within the Visual Studio IDE.
Microsoft JVM Debugger 1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines
Microsoft MI-Based Debugger 1.0
Provides support for connecting Visual Studio to MI compatible debuggers
Microsoft Visual C++ Wizards 1.0
Microsoft Visual C++ Wizards
Microsoft Visual Studio Tools for Containers 1.1
Develop, run, validate your ASP.NET Core applications in the target environment. F5 your application directly into a container with debugging, or CTRL + F5 to edit & refresh your app without having to rebuild the container.
Microsoft Visual Studio VC Package 1.0
Microsoft Visual Studio VC Package
Mono Debugging for Visual Studio 4.8.4-pre (3fe64e3)
Support for debugging Mono processes with Visual Studio.
NuGet Package Manager 4.5.0
NuGet Package Manager in Visual Studio. For more information about NuGet, visit http://docs.nuget.org/.
SettingsWindow Extension 1.0
SettingsWindow Visual Studio Extension Detailed Info
SQL Server Data Tools 15.1.61710.120
Microsoft SQL Server Data Tools
TypeScript Tools 15.5.11025.1
TypeScript Tools for Microsoft Visual Studio
Visual Studio Code Debug Adapter Host Package 1.0
Interop layer for hosting Visual Studio Code debug adapters in Visual Studio
Visual Studio Tools for CMake 1.0
Visual Studio Tools for CMake
Visual Studio Tools for Universal Windows Apps 15.0.27128.01
The Visual Studio Tools for Universal Windows apps allow you to build a single universal app experience that can reach every device running Windows 10: phone, tablet, PC, and more. It includes the Microsoft Windows 10 Software Development Kit.
VisualStudio.Mac 1.0
Mac Extension for Visual Studio
Xamarin 4.8.0.753 (6575bd113)
Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.
Xamarin Designer 4.8.188 (c5813fa34)
Visual Studio extension to enable Xamarin Designer tools in Visual Studio.
Xamarin.Android SDK 8.1.0.25 (HEAD/d8c6e504f)
Xamarin.Android Reference Assemblies and MSBuild support.
Xamarin.iOS and Xamarin.Mac SDK 11.6.1.2 (6857dfc)
Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support.
Log File
The above command doesn't work on Windows using VS.
The text was updated successfully, but these errors were encountered: