Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UWP MapControl crashes after zooming in

Tags:

c#

uwp

bing-maps

I created a simple UWP application with no code, just XAML.

    <Grid>
        <maps:MapControl/>
    </Grid>

If I zoom in to about US state level, the application will crash with an unhandled exception.

The event viewer Application Log shows:

Faulting module name: ucrtbase.dll, version: 10.0.19041.546, time stamp: 0x43cbc11d
Exception code: 0xc0000409

I'm running on Windows 10 Version 20H2 (OS Build 19042.630).

How can I fix or diagnose this crash further?

Update 1

I was able to capture the call stack at the time of the crash:

    ucrtbase.dll!abort()    Unknown
    ucrtbase.dll!terminate()    Unknown
    ucrtbase.dll!__crt_state_management::wrapped_invoke<void (*)(void),void>(void (*)(void))    Unknown
    BingMaps.dll!MapControl::DetailTextureSource::beginGetTexture(class MapControl::TileFrameKey const &,class std::shared_ptr<class Pal::AsyncOperationImplementation<class MapControl::Versioned<class std::shared_ptr<class Engine::Texture> >,class std::shared_ptr<class Pal::UntypedAsyncOperation> > > const &,class std::shared_ptr<class MapControl::TileImage>,class Math::TileId const &)    Unknown
    BingMaps.dll!MapControl::DetailTextureSource::childOperationCompleted(class MapControl::TileFrameKey const &,class std::shared_ptr<class Pal::AsyncOperationImplementation<class MapControl::Versioned<class std::shared_ptr<class Engine::Texture> >,class std::shared_ptr<class Pal::UntypedAsyncOperation> > >,class Math::TileId,class Pal::AsyncOperation<class std::shared_ptr<class MapControl::TileImage> > const &)    Unknown
    BingMaps.dll!std::_Func_impl_no_alloc<class std::_Binder<struct std::_Unforced,void ( MapControl::DetailTextureSource::*)(class MapControl::TileFrameKey const &,class std::shared_ptr<class Pal::AsyncOperationImplementation<class MapControl::Versioned<class std::shared_ptr<class Engine::Texture> >,class std::shared_ptr<class Pal::UntypedAsyncOperation> > >,class Math::TileId,class Pal::AsyncOperation<class std::shared_ptr<class MapControl::TileImage> > const &),class MapControl::DetailTextureSource *,class MapControl::TileFrameKey const &,class std::shared_ptr<class Pal::AsyncOperationImplementation<class MapControl::Versioned<class std::shared_ptr<class Engine::Texture> >,class std::shared_ptr<class Pal::UntypedAsyncOperation> > > &,class Math::TileId const &,struct std::_Ph<1> const &>,void,class Pal::AsyncOperation<class std::shared_ptr<class MapControl::TileImage> > &>::_Do_call(class Pal::AsyncOperation<class std::shared_ptr<class MapControl::TileImage> > &)    Unknown
    BingMaps.dll!Pal::AsyncOperation<struct Core::DummyType>::callbackFromBaseClass(void)   Unknown
    BingMaps.dll!Pal::UntypedAsyncOperation::tryComplete(class Core::StatusCode)    Unknown
    BingMaps.dll!Pal::UntypedAsyncOperation::setSucceededOrFailedInternal(class Core::StatusCode)   Unknown
    BingMaps.dll!MapControl::PipelineAsyncSource<class std::shared_ptr<class MapControl::TileImage>,class std::shared_ptr<class Pal::AsyncOperation<class MapControl::DownloadedResource> > >::process(class MapControl::TileFrameKey const &,class std::shared_ptr<class Pal::AsyncOperationImplementation<class std::shared_ptr<class MapControl::TileImage>,struct std::pair<class std::shared_ptr<class Pal::AsyncOperation<class MapControl::DownloadedResource> >,class std::shared_ptr<class Utility::PrioritizableTask> > > > const &,class std::shared_ptr<class Pal::UntypedAsyncOperationCancelList> const &)    Unknown
    BingMaps.dll!std::_Func_impl_no_alloc<class std::_Binder<struct std::_Unforced,void ( MapControl::PipelineAsyncSource<class MapControl::Versioned<class std::shared_ptr<class MapControl::GenericMesh<struct Engine::xyzFloat3uvShort2stShort2> > >,class std::shared_ptr<class Pal::AsyncOperation<class MapControl::DownloadedResource> > >::*)(class MapControl::TileFrameKey const &,class std::shared_ptr<class Pal::AsyncOperationImplementation<class MapControl::Versioned<class std::shared_ptr<class MapControl::GenericMesh<struct Engine::xyzFloat3uvShort2stShort2> > >,struct std::pair<class std::shared_ptr<class Pal::AsyncOperation<class MapControl::DownloadedResource> >,class std::shared_ptr<class Utility::PrioritizableTask> > > > const &,class std::shared_ptr<class Pal::UntypedAsyncOperationCancelList> const &),class MapControl::PipelineAsyncSource<class MapControl::Versioned<class std::shared_ptr<class MapControl::GenericMesh<struct Engine::xyzFloat3uvShort2stShort2> > >,class std::shared_ptr<class Pal::AsyncOperation<class Map    Unknown
    MapConfiguration.dll!Pal::Task::run(void)   Unknown
    MapConfiguration.dll!Utility::PrioritizedTaskQueue::executeNextTask(void)   Unknown
    MapConfiguration.dll!Pal::Task::run(void)   Unknown
    MapConfiguration.dll!Microsoft::WRL::Details::DelegateArgTraits<long (__cdecl ABI::Windows::System::Threading::IWorkItemHandler::*)(ABI::Windows::Foundation::IAsyncAction *)>::DelegateInvokeHelper<Microsoft::WRL::Implements<Microsoft::WRL::RuntimeClassFlags<2>,ABI::Windows::System::Threading::IWorkItemHandler,Microsoft::WRL::FtmBase>,<lambda_a2440968369958b092dc7b4a3993b234> &,-1,ABI::Windows::Foundation::IAsyncAction *>::Invoke()  Unknown
    threadpoolwinrt.dll!Windows::System::Threading::CThreadPoolWorkItem::CommonWorkCallback()   Unknown
    threadpoolwinrt.dll!Windows::System::Threading::CThreadPoolWorkItem::BatchedCallback()  Unknown
    ntdll.dll!TppWorkpExecuteCallback() Unknown
    ntdll.dll!TppWorkerThread() Unknown
    kernel32.dll!BaseThreadInitThunk()  Unknown
    ntdll.dll!RtlUserThreadStart()  Unknown

Update 2

The crash does not occur in Aerial mode:

<maps:MapControl Style="AerialWithRoads" />

Update 3

From Microsoft support,

Upon investigation, the Bing Maps UWP control was inadvertently unable to handle a certain condition around the tiles. To mitigate this issue, our Product Group has initiated rolling back the change that impacted this experience. This issue should be beginning to resolve within the next hour, if not already.

like image 888
Moshe Gutman Avatar asked Nov 17 '20 06:11

Moshe Gutman


2 Answers

One of the maps services was returning bad data. This has been mitigated and the control should be working normally now.

like image 68
Duncan Lawler Avatar answered Oct 17 '22 21:10

Duncan Lawler


This is the support response I got from Microsoft:

Upon investigation, the Bing Maps UWP control was inadvertently unable to handle a certain condition around the tiles. To mitigate this issue, our Product Group has initiated rolling back the change that impacted this experience. This issue should be beginning to resolve within the next hour, if not already.

This issue is now resolved.

like image 43
Moshe Gutman Avatar answered Oct 17 '22 23:10

Moshe Gutman