확대 후 UWP MapControl이 충돌 함
코드없이 XAML 만있는 간단한 UWP 애플리케이션을 만들었습니다.
<Grid>
<maps:MapControl/>
</Grid>
미국 주 수준으로 확대하면 응용 프로그램이 처리되지 않은 예외와 함께 충돌합니다.
이벤트 뷰어 애플리케이션 로그에는 다음이 표시됩니다.
Faulting module name: ucrtbase.dll, version: 10.0.19041.546, time stamp: 0x43cbc11d
Exception code: 0xc0000409
Windows 10 버전 20H2 (OS 빌드 19042.630)에서 실행 중입니다.
이 충돌을 추가로 수정하거나 진단하려면 어떻게해야합니까?
업데이트 1
충돌 당시 호출 스택을 캡처 할 수있었습니다.
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
업데이트 2
공중 모드에서는 충돌이 발생하지 않습니다.
<maps:MapControl Style="AerialWithRoads" />
업데이트 3
Microsoft 지원에서
조사 결과 Bing Maps UWP 컨트롤은 실수로 타일 주변의 특정 조건을 처리 할 수 없었습니다. 이 문제를 완화하기 위해 제품 그룹은이 경험에 영향을 준 변경 사항을 롤백하기 시작했습니다. 이 문제는 아직 해결되지 않은 경우 다음 시간 내에 해결되기 시작합니다.
답변
지도 서비스 중 하나가 잘못된 데이터를 반환했습니다. 이 문제가 완화되었으며 이제 제어가 정상적으로 작동합니다.
다음은 Microsoft에서받은 지원 응답입니다.
조사 결과 Bing Maps UWP 컨트롤은 실수로 타일 주변의 특정 조건을 처리 할 수 없었습니다. 이 문제를 완화하기 위해 제품 그룹은이 경험에 영향을 준 변경 사항을 롤백하기 시작했습니다. 이 문제는 아직 해결되지 않은 경우 다음 시간 내에 해결되기 시작합니다.
이제이 문제가 해결되었습니다.
나는 이것을 테스트했다. 샘플은 빌드 2004에서 올바르게 작동하지만 빌드 20H2에서 충돌합니다. ZoomLevel 속성을 변경하는 코드를 제거하면 샘플이 빌드 20H2에서도 올바르게 작동합니다. 팀에보고하겠습니다.
이것은 나에게도 발생합니다. 어제 잘 작동했고 오늘은 MapControl이있는 페이지를 열 때 앱이 충돌합니다. ZoomLevel 속성을 제거하면 도움이되었습니다.
<maps:MapControl ZoomLevel="12" /> <!-- Crashed -->
<maps:MapControl /> <!-- Working -->
ZoomLevel 속성을 제거했지만 수동으로 (또는 마우스 스크롤로) 확대하면 멀리 확대하는 동안 앱이 충돌합니다.
임시 해결 방법 :
<maps:MapControl ZoomInteractionMode="Disabled" /> <!-- Better -->
Windows 10 Build 2004에서도 발생합니다.
나는 똑같은 문제에 직면하고 있습니다. 지난 2 개월 동안 내 응용 프로그램을 테스트 해 왔으며 MapControl로 인해 충돌하지 않았습니다. 지난주 스토어에 신청서를 제출했지만 충돌이 발생하지 않았습니다.
갑자기 사용자가 다른 날씨 레이어에 대한 PivotControl이 포함 된지도 페이지를 탐색 할 때마다 오늘 충돌이 시작되었습니다.
나는 이것이 Windows 10 빌드와 관련이 없다고 생각합니다. 여러 빌드 (1803, 1903 및 2004)에서이 문제에 직면하고 있습니다.
여기에 몇 가지 관찰이 있습니다.
- 다른 피벗 항목을 제거하고 하나만 남겨두면 작동합니다.
- "ZoomLevel"속성을 제거하고 모든 피벗 항목을 그대로 둘 때도 작동합니다.
마이크로 소프트가 서비스 쪽에서 뭔가를 변경 한 것 같습니다.