Skip to content
This repository has been archived by the owner on Mar 28, 2024. It is now read-only.

[BUG-11530] Viewer crashes in nvwgf2umx.dll or nvwgf2um.dll when Nvidia ShadowPlay is enabled when opening Help -> Report bug, Help -> About, & sometimes when detecting hardware during launch. #1704

Open
sl-service-account opened this issue Mar 7, 2016 · 4 comments

Comments

@sl-service-account
Copy link

sl-service-account commented Mar 7, 2016

I'm not sure if this bug is fixable in the viewer - I suspect it's a Windows 10, Nvidia driver or ShadowPlay bug.
So far this bug can only be reproduced on Windows 10 systems and it appeared fairly recently, so possibly it started with a later Nvidia driver or a Windows 10 update.
I am unable to reproduce this crash on my Windows 7 SP1 box which has Nvidia GTX 750 graphics.

Both Firestorm & Alchemy are seeing a lot of reports of this crash.
I linked both the Firestorm & Alchemy bug reports to this issue.

Table of known affected systems

|Operating System|Graphics Card|Driver Version|
|
|-|-|-|-|
|Microsoft Windows 10 64-bit (Build 10586)|GeForce GTX 960M|4.5.0 NVIDIA 362.00|
|
|Microsoft Windows 10 64-bit (Build 14271) - insider preview|GeForce GTX 770|4.5.0 NVIDIA 361.91|
|
|Microsoft Windows 10 64-bit (Build 10586)|GeForce GTX 660 Ti|4.5.0 NVIDIA 361.75|
|
|Microsoft Windows 10 64-bit (Build 11099)|GeForce GTX 970| 4.5.0 NVIDIA 361.75|
|
|Microsoft Windows 10 64-bit (Build 10586)|GeForce GTX 980|4.5.0 NVIDIA 362.00 + 4.5.0 NVIDIA 364.47 + 4.5.0 NVIDIA 364.51|



# Steps to Reproduce



- On a Windows 10 system with Nvidia graphics, launch the Nvidia GeForce Experience and enable ShadowPlay.
- See Fig 1 attached.

- Login on the LL viewer.
- If the viewer does not crash on launch, once logged in, go to Help -> About Second Life.


# Observed Behaviour

- Viewer will sometimes crash during detecting hardware at launch.


- When the viewer crashes on launch, the crash happens right after INFO:#InitInfo LLAppViewer::init: UI initialization is done, just before the detection of VRAM should happen.
- Attached Whirly_1_logs from a session on Second Life Release 4.0.1.310054 which crashed on launch.

- Callstack
Java<br> <br> Operating system: Windows NT<br> 10.0.10586 <br> CPU: x86<br> GenuineIntel family 6 model 94 stepping 3<br> 8 CPUs<br> <br> Crash reason: EXCEPTION_ACCESS_VIOLATION_READ<br> Crash address: 0xffffffffe85de00b<br> Assertion: Unknown assertion type 0x00000000<br> Process uptime: not available<br> <br> Thread 0 (crashed)<br> 0 nvwgf2um.dll + 0x799e9<br> eip = 0x534499e9 esp = 0x001896c0 ebp = 0x001896c4 ebx = 0x06eca038<br> esi = 0x06ecac20 edi = 0x06eca038 eax = 0x53f0dae8 ecx = 0xe85de00b<br> edx = 0x00000001 efl = 0x00210282<br> Found by: given as instruction pointer in context<br> 1 nvwgf2um.dll + 0x14cb75<br> eip = 0x5351cb75 esp = 0x001896cc ebp = 0x001896d4<br> Found by: previous frame's frame pointer<br> 2 D3D12.dll + 0x269c5<br> eip = 0x544569c5 esp = 0x001896dc ebp = 0x001896f4<br> Found by: previous frame's frame pointer<br> 3 D3D12.dll + 0x24350<br> eip = 0x54454350 esp = 0x001896fc ebp = 0x0018970c<br> Found by: previous frame's frame pointer<br> 4 D3D12.dll + 0x2a010<br> eip = 0x5445a010 esp = 0x00189714 ebp = 0x00189714<br> Found by: previous frame's frame pointer<br> 5 D3D12.dll + 0x27530<br> eip = 0x54457530 esp = 0x0018971c ebp = 0x0018972c<br> Found by: previous frame's frame pointer<br> 6 D3D12.dll + 0x28210<br> eip = 0x54458210 esp = 0x00189734 ebp = 0x00189734<br> Found by: previous frame's frame pointer<br> 7 D3D12.dll + 0x1f87f<br> eip = 0x5444f87f esp = 0x0018973c ebp = 0x0018974c<br> Found by: previous frame's frame pointer<br> 8 D3D12.dll + 0x1f818<br> eip = 0x5444f818 esp = 0x00189754 ebp = 0x00189778<br> Found by: previous frame's frame pointer<br> 9 D3D12.dll + 0x1f66e<br> eip = 0x5444f66e esp = 0x00189780 ebp = 0x0018978c<br> Found by: previous frame's frame pointer<br> 10 dxdiagn.dll + 0x16bd0<br> eip = 0x5b956bd0 esp = 0x00189794 ebp = 0x00189ca8<br> Found by: previous frame's frame pointer<br> 11 dxdiagn.dll + 0x170d3<br> eip = 0x5b9570d3 esp = 0x00189cb0 ebp = 0x00189ce0<br> Found by: previous frame's frame pointer<br> 12 dxdiagn.dll + 0x20ba0<br> eip = 0x5b960ba0 esp = 0x00189ce8 ebp = 0x00189d98<br> Found by: previous frame's frame pointer<br> 13 dxdiagn.dll + 0x1f2ff<br> eip = 0x5b95f2ff esp = 0x00189da0 ebp = 0x00189dc8<br> Found by: previous frame's frame pointer<br> 14 dxdiagn.dll + 0x1f100<br> eip = 0x5b95f100 esp = 0x00189dd0 ebp = 0x0018ec70<br> Found by: previous frame's frame pointer<br> 15 dxdiagn.dll + 0x1cdca<br> eip = 0x5b95cdca esp = 0x0018ec78 ebp = 0x0018ec84<br> Found by: previous frame's frame pointer<br> 16 SecondLifeViewer.exe!LLDXHardware::getInfo(int) [lldxhardware.cpp : 508 + 0x18]<br> eip = 0x0184c233 esp = 0x0018ec8c ebp = 0x0018f114<br> Found by: previous frame's frame pointer<br> 17 SecondLifeViewer.exe!LLAppViewerWin32::initHardwareTest() [llappviewerwin32.cpp : 601 + 0xc]<br> eip = 0x013ae790 esp = 0x0018f11c ebp = 0x0018f254<br> Found by: call frame info<br> 18 SecondLifeViewer.exe!LLAppViewer::init() [llappviewer.cpp : 984 + 0x9]<br> eip = 0x00a53a88 esp = 0x0018f25c ebp = 0x0018fe98<br> Found by: call frame info<br> 19 SecondLifeViewer.exe!WinMain [llappviewerwin32.cpp : 278 + 0x9]<br> eip = 0x013b0929 esp = 0x0018fea0 ebp = 0x0018fecc<br> Found by: call frame info<br> 20 SecondLifeViewer.exe!__tmainCRTStartup [crtexe.c : 618 + 0xe]<br> eip = 0x01c8e4ef esp = 0x0018fed4 ebp = 0x0018ff18<br> Found by: call frame info<br> 21 kernel32.dll + 0x138f4<br> eip = 0x74ad38f4 esp = 0x0018ff20 ebp = 0x0018ff2c<br> Found by: call frame info<br> 22 ntdll.dll + 0x65de3<br> eip = 0x77cb5de3 esp = 0x0018ff34 ebp = 0x0018ff74<br> Found by: previous frame's frame pointer<br> 23 ntdll.dll + 0x65dae<br> eip = 0x77cb5dae esp = 0x0018ff7c ebp = 0x0018ff84<br> Found by: previous frame's frame pointer<br>



- When logged in & going to Help -> About Second Life, the viewer will usually but not always crash.
- The Help -> About crash will also reproduce from the login screen.

- Whirly_2_logs attached from a session on Second Life Release 4.0.1.310054 which crashed when opening Helkp -> About Second Life.

- Viewer will crash right after:
Java<br> <br> 2016-03-07T18:57:35Z INFO: LLDXHardware::getDisplayInfo: CoCreateInstance IID_IDxDiagProvider<br> 2016-03-07T18:57:35Z INFO: LLDXHardware::getDisplayInfo: dx_diag_providerp->Initialize<br> 2016-03-07T18:57:35Z INFO: LLDXHardware::getDisplayInfo: dx_diag_providerp->GetRootContainer<br> 2016-03-07T18:57:35Z INFO: LLDXHardware::getDisplayInfo: dx_diag_rootp->GetChildContainer<br> 2016-03-07T18:57:37Z INFO:#MINIDUMPCALLBACK windows_post_minidump_callback: Dump file was generated.<br>

- Callstack

Java<br> <br> Operating system: Windows NT<br> 10.0.10586 <br> CPU: x86<br> GenuineIntel family 6 model 94 stepping 3<br> 8 CPUs<br> <br> Crash reason: EXCEPTION_ACCESS_VIOLATION_READ<br> Crash address: 0x2d<br> Assertion: Unknown assertion type 0x00000000<br> Process uptime: not available<br> <br> Thread 0 (crashed)<br> 0 nvwgf2um.dll + 0x799e9<br> eip = 0x131f99e9 esp = 0x00184688 ebp = 0x0018468c ebx = 0x3f09bb48<br> esi = 0x3f09c730 edi = 0x3f09bb48 eax = 0x13cbdae8 ecx = 0x0000002d<br> edx = 0x00000008 efl = 0x00210206<br> Found by: given as instruction pointer in context<br> 1 nvwgf2um.dll + 0x14cb75<br> eip = 0x132ccb75 esp = 0x00184694 ebp = 0x0018469c<br> Found by: previous frame's frame pointer<br> 2 D3D12.dll + 0x269c5<br> eip = 0x534b69c5 esp = 0x001846a4 ebp = 0x001846bc<br> Found by: previous frame's frame pointer<br> 3 D3D12.dll + 0x24350<br> eip = 0x534b4350 esp = 0x001846c4 ebp = 0x001846d4<br> Found by: previous frame's frame pointer<br> 4 D3D12.dll + 0x2a010<br> eip = 0x534ba010 esp = 0x001846dc ebp = 0x001846dc<br> Found by: previous frame's frame pointer<br> 5 D3D12.dll + 0x27530<br> eip = 0x534b7530 esp = 0x001846e4 ebp = 0x001846f4<br> Found by: previous frame's frame pointer<br> 6 D3D12.dll + 0x28210<br> eip = 0x534b8210 esp = 0x001846fc ebp = 0x001846fc<br> Found by: previous frame's frame pointer<br> 7 D3D12.dll + 0x1f87f<br> eip = 0x534af87f esp = 0x00184704 ebp = 0x00184714<br> Found by: previous frame's frame pointer<br> 8 D3D12.dll + 0x1f818<br> eip = 0x534af818 esp = 0x0018471c ebp = 0x00184740<br> Found by: previous frame's frame pointer<br> 9 D3D12.dll + 0x1f66e<br> eip = 0x534af66e esp = 0x00184748 ebp = 0x00184754<br> Found by: previous frame's frame pointer<br> 10 dxdiagn.dll + 0x16bd0<br> eip = 0x53566bd0 esp = 0x0018475c ebp = 0x00184c70<br> Found by: previous frame's frame pointer<br> 11 dxdiagn.dll + 0x170d3<br> eip = 0x535670d3 esp = 0x00184c78 ebp = 0x00184ca8<br> Found by: previous frame's frame pointer<br> 12 dxdiagn.dll + 0x20ba0<br> eip = 0x53570ba0 esp = 0x00184cb0 ebp = 0x00184d60<br> Found by: previous frame's frame pointer<br> 13 dxdiagn.dll + 0x1f2ff<br> eip = 0x5356f2ff esp = 0x00184d68 ebp = 0x00184d90<br> Found by: previous frame's frame pointer<br> 14 dxdiagn.dll + 0x1f100<br> eip = 0x5356f100 esp = 0x00184d98 ebp = 0x00189c3c<br> Found by: previous frame's frame pointer<br> 15 dxdiagn.dll + 0x1cdca<br> eip = 0x5356cdca esp = 0x00189c44 ebp = 0x00189c50<br> Found by: previous frame's frame pointer<br> 16 SecondLifeViewer.exe!LLDXHardware::getDisplayInfo() [lldxhardware.cpp : 767 + 0x18]<br> eip = 0x0184b9ac esp = 0x00189c58 ebp = 0x00189e14<br> Found by: previous frame's frame pointer<br> 17 SecondLifeViewer.exe!LLAppViewer::getViewerInfo() [llappviewer.cpp : 3359 + 0x11]<br> eip = 0x00a4d4ed esp = 0x00189e1c ebp = 0x00189fec<br> Found by: call frame info<br> 18 SecondLifeViewer.exe!LLAppViewer::getViewerInfoString() [llappviewer.cpp : 3424 + 0x15]<br> eip = 0x00a4de94 esp = 0x00189ff4 ebp = 0x0018a1b0<br> Found by: call frame info<br> 19 SecondLifeViewer.exe!LLFloaterAbout::setSupportText(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &) [llfloaterabout.cpp : 279 + 0x23]<br> eip = 0x00ba2297 esp = 0x0018a1b8 ebp = 0x0018a444<br> Found by: call frame info<br> 20 SecondLifeViewer.exe!LLFloaterAbout::postBuild() [llfloaterabout.cpp : 159 + 0x44]<br> eip = 0x00ba1864 esp = 0x0018a44c ebp = 0x0018a8e0<br> Found by: call frame info<br> 21 SecondLifeViewer.exe!LLFloater::initFloaterXML(LLPointer<LLXMLNode>,LLView *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,LLPointer<LLXMLNode>) [llfloater.cpp : 3289 + 0xb]<br> eip = 0x016d12cb esp = 0x0018a8e8 ebp = 0x0018ec5c<br> Found by: call frame info<br> 22 SecondLifeViewer.exe!LLFloater::buildFromFile(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &) [llfloater.cpp : 3369 + 0x29]<br> eip = 0x016cc4a8 esp = 0x0018ec64 ebp = 0x0018ecd0<br> Found by: call frame info<br> 23 SecondLifeViewer.exe!LLFloaterReg::getInstance(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,LLSD const &) [llfloaterreg.cpp : 157 + 0xa]<br> eip = 0x016d712f esp = 0x0018ecd8 ebp = 0x0018ed04<br> Found by: call frame info<br> 24 SecondLifeViewer.exe!LLFloaterReg::showInstance(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,LLSD const &,int) [llfloaterreg.cpp : 250 + 0xa]<br> eip = 0x016d7e26 esp = 0x0018ed0c ebp = 0x0018ed24<br> Found by: call frame info<br> 25 SecondLifeViewer.exe!boost::detail::function::void_function_obj_invoker2<boost::_bi::bind_t<LLFloater *,LLFloater * (*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,LLSD const &,int),boost::_bi::list3<boost::arg<2>,boost::_bi::value<LLSD>,boost::_bi::value<int> > >,void,LLUICtrl *,LLSD const &>::invoke(boost::detail::function::function_buffer &,LLUICtrl *,LLSD const &) [function_template.hpp : 153 + 0x22]<br> eip = 0x016b717f esp = 0x0018ed2c ebp = 0x0018ed6c<br> Found by: call frame info<br> 26 SecondLifeViewer.exe!boost::_bi::bind_t<boost::_bi::unspecified,boost::function<void >,boost::_bi::list2<boost::arg<1>,boost::_bi::value<LLInitParam::Block<LLUICtrl::CallbackParam,LLInitParam::BaseBlock>::Optional<LLSD,LLInitParam::TypeValues<LLSD> > > > >::operator()<LLUICtrl *,LLSD>(LLUICtrl * &,LLSD const &) [bind_template.hpp : 89 + 0x47]<br> eip = 0x01717f5d esp = 0x0018ed74 ebp = 0x0018eda0<br> Found by: call frame info<br> 27 SecondLifeViewer.exe!boost::detail::function::void_function_obj_invoker2<boost::_bi::bind_t<boost::_bi::unspecified,boost::function<void >,boost::_bi::list2<boost::arg<1>,boost::_bi::value<LLInitParam::Block<LLUICtrl::CallbackParam,LLInitParam::BaseBlock>::Optional<LLSD,LLInitParam::TypeValues<LLSD> > > > >,void,LLUICtrl *,LLSD const &>::invoke(boost::detail::function::function_buffer &,LLUICtrl *,LLSD const &) [function_template.hpp : 153 + 0x11]<br> eip = 0x01720644 esp = 0x0018eda8 ebp = 0x0018edb0<br> Found by: call frame info<br> 28 SecondLifeViewer.exe!boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type,LLChiclet *,LLSD const &>::m_invoke<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot<void ,boost::function<void > >,boost::signals2::mutex> > >(boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot<void ,boost::function<void > >,boost::signals2::mutex> > const &,boost::signals2::detail::void_type const *) [variadic_slot_invoker.hpp : 127 + 0x4b]<br> eip = 0x00ac82c3 esp = 0x0018edb8 ebp = 0x0018ede4<br> Found by: call frame info<br> 29 SecondLifeViewer.exe!boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type,LLChiclet *,LLSD const &>,std::_List_iterator<std::_List_val<std::_List_simple_types<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot<void ,boost::function<void > >,boost::signals2::mutex> > > > >,boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot<void ,boost::function<void > >,boost::signals2::mutex> >::dereference() [slot_call_iterator.hpp : 82 + 0xc]<br> eip = 0x00ad3777 esp = 0x0018edec ebp = 0x0018ee20<br> Found by: call frame info<br> 30 SecondLifeViewer.exe!boost::signals2::optional_last_value<void>::operator()<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type,LLUICtrl *,LLSD const &>,std::_List_iterator<std::_List_val<std::_List_simple_types<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot<void ,boost::function<void > >,boost::signals2::mutex> > > > >,boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot<void ,boost::function<void > >,boost::signals2::mutex> > >(boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type,LLUICtrl *,LLSD const &>,std::_List_iterator<std::_List_val<std::_List_simple_types<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot<void ,boost::function<void > >,boost::signals2::mutex> > > > >,boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot<void ,boost::function<void > >,boost::signals2::mutex> >,boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type,LLUICtrl *,LLSD const &>,std::_List_iterator<std::_List_val<std::_List_simple_types<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot<void ,boost::function<void > >,boost::signals2::mutex> > > > >,boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot<void ,boost::function<void > >,boost::signals2::mutex> >) [optional_last_value.hpp : 55 + 0x5]<br> eip = 0x00a8ba87 esp = 0x0018ee28 ebp = 0x0018ee48<br> Found by: call frame info<br> 31 SecondLifeViewer.exe!boost::signals2::detail::signal_impl<void ,boost::signals2::optional_last_value<void>,int,std::less<int>,boost::function<void >,boost::function<void >,boost::signals2::mutex>::operator()(LLUICtrl *,LLSD const &) [signal_template.hpp : 246 + 0x76]<br> eip = 0x00a8f13f esp = 0x0018ee50 ebp = 0x0018ef68<br> Found by: call frame info<br> 32 SecondLifeViewer.exe!LLUICtrl::onCommit() [lluictrl.cpp : 393 + 0x25]<br> eip = 0x01721524 esp = 0x0018ef70 ebp = 0x0018ef90<br> Found by: call frame info<br> 33 SecondLifeViewer.exe!LLMenuItemGL::handleMouseUp(int,int,unsigned int) [llmenugl.cpp : 455 + 0x8]<br> eip = 0x016fb3f8 esp = 0x0018ef98 ebp = 0x0018ef9c<br> Found by: call frame info<br> 34 SecondLifeViewer.exe!LLView::childrenHandleMouseEvent<int ( LLView::*)(int,int,unsigned int),unsigned int>(int ( LLView::*const &)(int,int,unsigned int),int,int,unsigned int,bool) [llview.cpp : 708 + 0x15]<br> eip = 0x0170b919 esp = 0x0018efa4 ebp = 0x0018f01c<br> Found by: call frame info<br> 35 SecondLifeViewer.exe!LLView::handleMouseUp(int,int,unsigned int) [llview.cpp : 1010 + 0x22]<br> eip = 0x01714bb8 esp = 0x0018f024 ebp = 0x0018f040<br> Found by: call frame info<br> 36 SecondLifeViewer.exe!LLUICtrl::handleMouseUp(int,int,unsigned int) [lluictrl.cpp : 337 + 0x11]<br> eip = 0x0171f49f esp = 0x0018f048 ebp = 0x0018f0ac<br> Found by: call frame info<br> 37 SecondLifeViewer.exe!LLView::childrenHandleMouseEvent<int ( LLView::*)(int,int,unsigned int),unsigned int>(int ( LLView::*const &)(int,int,unsigned int),int,int,unsigned int,bool) [llview.cpp : 708 + 0x15]<br> eip = 0x0170b919 esp = 0x0018f0b4 ebp = 0x0018f12c<br> Found by: call frame info<br> 38 SecondLifeViewer.exe!LLView::handleMouseUp(int,int,unsigned int) [llview.cpp : 1010 + 0x22]<br> eip = 0x01714bb8 esp = 0x0018f134 ebp = 0x0018f150<br> Found by: call frame info<br> 39 SecondLifeViewer.exe!LLUICtrl::handleMouseUp(int,int,unsigned int) [lluictrl.cpp : 337 + 0x11]<br> eip = 0x0171f49f esp = 0x0018f158 ebp = 0x0018f1bc<br> Found by: call frame info<br> 40 SecondLifeViewer.exe!LLView::childrenHandleMouseEvent<int ( LLView::*)(int,int,unsigned int),unsigned int>(int ( LLView::*const &)(int,int,unsigned int),int,int,unsigned int,bool) [llview.cpp : 708 + 0x15]<br> eip = 0x0170b919 esp = 0x0018f1c4 ebp = 0x0018f23c<br> Found by: call frame info<br> 41 SecondLifeViewer.exe!LLView::handleMouseUp(int,int,unsigned int) [llview.cpp : 1010 + 0x22]<br> eip = 0x01714bb8 esp = 0x0018f244 ebp = 0x0018f260<br> Found by: call frame info<br> 42 SecondLifeViewer.exe!LLUICtrl::handleMouseUp(int,int,unsigned int) [lluictrl.cpp : 337 + 0x11]<br> eip = 0x0171f49f esp = 0x0018f268 ebp = 0x0018f2cc<br> Found by: call frame info<br> 43 SecondLifeViewer.exe!LLView::childrenHandleMouseEvent<int ( LLView::*)(int,int,unsigned int),unsigned int>(int ( LLView::*const &)(int,int,unsigned int),int,int,unsigned int,bool) [llview.cpp : 708 + 0x15]<br> eip = 0x0170b919 esp = 0x0018f2d4 ebp = 0x0018f34c<br> Found by: call frame info<br> 44 SecondLifeViewer.exe!LLView::handleMouseUp(int,int,unsigned int) [llview.cpp : 1010 + 0x22]<br> eip = 0x01714bb8 esp = 0x0018f354 ebp = 0x0018f370<br> Found by: call frame info<br> 45 SecondLifeViewer.exe!LLMouseHandler::handleAnyMouseClick(int,int,unsigned int,LLMouseHandler::EClickType,int) [llmousehandler.cpp : 49 + 0xe]<br> eip = 0x0184c900 esp = 0x0018f378 ebp = 0x0018f39c<br> Found by: call frame info<br> 46 SecondLifeViewer.exe!LLViewerWindow::handleAnyMouseClick(LLWindow *,LLCoord<LL_COORD_TYPE_GL>,unsigned int,LLMouseHandler::EClickType,int) [llviewerwindow.cpp : 995 + 0x14]<br> eip = 0x012b3909 esp = 0x0018f3a4 ebp = 0x0018f40c<br> Found by: call frame info<br> 47 SecondLifeViewer.exe!LLViewerWindow::handleMouseUp(LLWindow *,LLCoord<LL_COORD_TYPE_GL>,unsigned int) [llviewerwindow.cpp : 1060 + 0x15]<br> eip = 0x012b5628 esp = 0x0018f414 ebp = 0x0018f42c<br> Found by: call frame info<br> 48 SecondLifeViewer.exe!LLWindowWin32::mainWindowProc(HWND__ *,unsigned int,unsigned int,long) [llwindowwin32.cpp : 2329 + 0x10]<br> eip = 0x01851dc3 esp = 0x0018f434 ebp = 0x0018f53c<br> Found by: call frame info<br> 49 user32.dll + 0x384f3<br> eip = 0x777284f3 esp = 0x0018f544 ebp = 0x0018f568<br> Found by: call frame info<br> 50 user32.dll + 0x16c40<br> eip = 0x77706c40 esp = 0x0018f570 ebp = 0x0018f610<br> Found by: previous frame's frame pointer<br> 51 user32.dll + 0x169d7<br> eip = 0x777069d7 esp = 0x0018f618 ebp = 0x0018f64c<br> Found by: previous frame's frame pointer<br> 52 opengl32.dll + 0x2ce43<br> eip = 0x5448ce43 esp = 0x0018f654 ebp = 0x0018f68c<br> Found by: previous frame's frame pointer<br> 53 user32.dll + 0x384f3<br> eip = 0x777284f3 esp = 0x0018f694 ebp = 0x0018f6b8<br> Found by: previous frame's frame pointer<br> 54 user32.dll + 0x16c40<br> eip = 0x77706c40 esp = 0x0018f6c0 ebp = 0x0018f760<br> Found by: previous frame's frame pointer<br> 55 user32.dll + 0x16541<br> eip = 0x77706541 esp = 0x0018f768 ebp = 0x0018f7cc<br> Found by: previous frame's frame pointer<br> 56 user32.dll + 0x16300<br> eip = 0x77706300 esp = 0x0018f7d4 ebp = 0x0018f7d8<br> Found by: previous frame's frame pointer<br> 57 SecondLifeViewer.exe!LLWindowWin32::gatherInput() [llwindowwin32.cpp : 1796 + 0xa]<br> eip = 0x0184ef10 esp = 0x0018f7e0 ebp = 0x0018f80c<br> Found by: previous frame's frame pointer<br> 58 SecondLifeViewer.exe!LLAppViewer::mainLoop() [llappviewer.cpp : 1387 + 0x10]<br> eip = 0x00a5df1b esp = 0x0018f814 ebp = 0x0018f9cc<br> Found by: call frame info<br> 59 SecondLifeViewer.exe!WinMain [llappviewerwin32.cpp : 322 + 0x7]<br> eip = 0x013b0a17 esp = 0x0018f9d4 ebp = 0x0018f9fc<br> Found by: call frame info<br> 60 SecondLifeViewer.exe!__tmainCRTStartup [crtexe.c : 618 + 0xe]<br> eip = 0x01c8e4ef esp = 0x0018fa04 ebp = 0x0018fa48<br> Found by: call frame info<br> 61 kernel32.dll + 0x138f4<br> eip = 0x74ad38f4 esp = 0x0018fa50 ebp = 0x0018fa5c<br> Found by: call frame info<br> 62 ntdll.dll + 0x65de3<br> eip = 0x77cb5de3 esp = 0x0018fa64 ebp = 0x0018faa4<br> Found by: previous frame's frame pointer<br> 63 ntdll.dll + 0x65dae<br> eip = 0x77cb5dae esp = 0x0018faac ebp = 0x0018fab4<br> Found by: previous frame's frame pointer<br>

- Viewer will also often crash when going to Help -> Report a bug.

# Expected Behaviour

No crashes.


# Other Information

Disabling Nvidia Shadowplay stops the crashes from reproducing.
Note that ShadowPlay appears to be getting enabled by default on a lot of systems recently - users were not aware it was even enabled.










|

Attachments

Original Jira Fields
Field Value
Issue BUG-11530
Summary Viewer crashes in nvwgf2umx.dll or nvwgf2um.dll when Nvidia ShadowPlay is enabled when opening Help -> Report bug, Help -> About, & sometimes when detecting hardware during launch.
Type Bug
Priority Unset
Status Accepted
Resolution Accepted
Reporter Whirly Fizzle (whirly.fizzle)
Created at 2016-03-07T17:56:08Z
Updated at 2019-10-09T09:34:15Z
{
  'Business Unit': ['Platform'],
  'Date of First Response': '2019-10-09T04:34:15.764-0500',
  'ReOpened Count': 0.0,
  'Severity': 'Unset',
  'System': 'SL Viewer',
  'Target Viewer Version': 'viewer-development',
  'What just happened?': 'Filling in...',
  'What were you doing when it happened?': '...',
  'What were you expecting to happen instead?': '...',
}
@sl-service-account
Copy link
Author

Whirly Fizzle commented at 2016-04-18T14:57:33Z

[~gadget.portal] on BUG-11741 found that launching the viewer using --noprobe stopped the launch crashes from reproducing but the Help -> About crash still reproduces when --noprobe is in use.

@sl-service-account
Copy link
Author

Whirly Fizzle commented at 2016-04-18T15:56:54Z, updated at 2016-04-18T16:14:55Z

I submitted a bug report to Nvidia: #160418-000156
https://nvidia-submit.custhelp.com/app/account/questions/detail/i_id/959234 (not public, gah)
http://screenshotlink.ru/cf2bf0315d2e8a16591b78c3c59ab8fd.png

@sl-service-account
Copy link
Author

Whirly Fizzle commented at 2016-04-20T18:40:47Z

Reply from Nvidia:

Hello Whirly,

Thank you for contacting Nvidia Customer Care. We have filed a bug for the issue you are reporting. This will get fixed in a future version of Geforce Experience. For now if you would like to use this feature you can install the GFE beta version. Shadowplay in GFE beta is now called Share and I have confirmed it works with Second life application.

Regards,
Josh H.
NVCC

If those affected by this crash want to test, install the GeForce Experience beta from http://www.geforce.com/geforce-experience/gfe-beta
NOTE: Optimus system are not yet supported. If you use the beta on an optimus system, you will still see the old Shadowplay options and the crash will still reproduce.
Nvidia said Optimus support is coming soon.

I cannot test this myself yet as my only Windows 10 system is Optimus.

@sl-service-account
Copy link
Author

AndreyK ProductEngine commented at 2019-10-09T09:34:16Z

I added some safeguards viewer side (waiting for QA to test since I have no such hardware), but likely this is indeed Nvidia's issue since common interface should not be returning malformed values.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant