You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Feb 28, 2024. It is now read-only.
Most likely user was toying with settings (specifically, setting slider) but viewer crushed due to obsolete GPU driver.
For example Intel HD 4000 with driver 9.17.10.2817 (But this needs confirmation/investigation that it is actually a repro scenario and not just a coincidence) https://crashbrowser.agni.lindenlab.com/viewer_crash_browser/index.php?filter_id=44738
# Expected Behavior
If it is indeed an old driver, then there is a number of possible options:
- Viewer to notify user that it failed to change settings due to obsolete software (crashing is probably fine, just do it with notification), or at least for viewer to be more informative about this specific crash (both viewer and crashbrowser side).
- Viewer to let user to increase settings, but revert it immediately and pop up notification about reason (blocking advanced lightnings, shaders, e t c)
- Viewer to notify user on startup that driver is unreasonably old and simply disable settings slider and advanced features.
# Other information
Please provide preferable solution before accepting
I'm not sure how viewer performs under old drivers at the moment, needs investigation.
<details>
<summary>Original Jira Fields</summary>
| Field | Value |
| ------------- | ------------- |
| Issue | BUG-214635 |
| Summary | Crash in loadShadersEnvironment() |
| Type | Bug |
| Priority | Unset |
| Status | Closed |
| Resolution | Accepted |
| Reporter | AndreyK ProductEngine (andreyk.productengine) |
| Created at | 2018-02-23T19:07:24Z |
| Updated at | 2020-04-20T17:00:47Z |
{
'Business Unit': ['Platform'],
"Is there anything you'd like to add?": 'Please provide preferable solution before accepting',
'ReOpened Count': 0.0,
'Severity': 'Unset',
'System': 'SL Viewer',
'Target Viewer Version': 'viewer-development',
'What just happened?': 'Crash: {code}\r\nig7icd64.dll\r\nLLGLSLShader::bind()\r\nLLGLSLShader::mapUniforms(std::vector<LLStaticHashedString,std::allocator > const *)\r\nLLGLSLShader::createShader(std::vector<LLStaticHashedString,std::allocator > *,std::vector<LLStaticHashedString,std::allocator > *,unsigned int,char const * *)\r\nLLViewerShaderMgr::loadShadersEnvironment()\r\nLLViewerShaderMgr::setShaders()\r\nLLFeatureManager::setGraphicsLevel(unsigned int,bool)\r\nLLFloaterPreference::onChangeQuality(LLSD const &)\r\nboost::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::\r\nboost::signals2::optional_last_value::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_s\r\nboost::signals2::detail::signal_impl<void ,boost::signals2::optional_last_value,int,std::less,boost::function,boost::function,boost::signals2::mutex>::operator()(LLUICtrl *,LLSD const &)\r\nLLUICtrl::onCommit()\r\nLLSliderCtrl::onSliderCommit(LLUICtrl *,LLSD const &)\r\nboost::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::\r\nboost::signals2::optional_last_value::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_s\r\nboost::signals2::detail::signal_impl<void ,boost::signals2::optional_last_value,int,std::less,boost::function,boost::function,boost::signals2::mutex>::operator()(LLUICtrl ,LLSD const &)\r\nLLUICtrl::onCommit()\r\nLLSlider::setValueAndCommit(float)\r\nLLSlider::handleHover(int,int,unsigned int)\r\nLLViewerWindow::updateUI()\r\nidle_startup()\r\nLLAppViewer::idle()\r\nLLAppViewer::frame()\r\nWinMain\r\n{code}',
'What were you doing when it happened?': 'Most likely user was toying with setting but viewer crushed due to obsolete GPU driver\r\n(for example Intel HD 4000 with driver 9.17.10.2817, needs confirmation that it actually a repro scenario and not just a coicidence)\r\nhttps://crashbrowser.agni.lindenlab.com/viewer_crash_browser/index.php?filter_id=44738',
'What were you expecting to happen instead?': "If it is indeed an old driver, then there is a number of possible options:\r\n- Viewer to notify user that it failed to change settings due to obsolete software (crashing is probably fine, just do it with notification), or at least to be more informative about this specific crash.\r\n- Viewer to let user to increase settings, but revert it immediately and pop up notification about reason (blocking advanced lightnings, shaders, e t c)\r\n- Viewer to notify user on startup that driver is unreasonably old and simply disable settings slider and advanced features.\r\n I'm not sure how viewer performs under old drivers at the moment, needs investigation.",
}
</details>
The text was updated successfully, but these errors were encountered:
Steps to Reproduce
Most likely user was toying with settings (specifically, setting slider) but viewer crushed due to obsolete GPU driver.
For example Intel HD 4000 with driver 9.17.10.2817 (But this needs confirmation/investigation that it is actually a repro scenario and not just a coincidence)
https://crashbrowser.agni.lindenlab.com/viewer_crash_browser/index.php?filter_id=44738
Actual Behavior
Crash: ```Java
ig7icd64.dll
LLGLSLShader::bind()
LLGLSLShader::mapUniforms(std::vector<LLStaticHashedString,std::allocator > const *)
LLGLSLShader::createShader(std::vector<LLStaticHashedString,std::allocator > *,std::vector<LLStaticHashedString,std::allocator > *,unsigned int,char const * *)
LLViewerShaderMgr::loadShadersEnvironment()
LLViewerShaderMgr::setShaders()
LLFeatureManager::setGraphicsLevel(unsigned int,bool)
LLFloaterPreference::onChangeQuality(LLSD const &)
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::
boost::signals2::optional_last_value::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_s
boost::signals2::detail::signal_impl<void ,boost::signals2::optional_last_value,int,std::less,boost::function,boost::function,boost::signals2::mutex>::operator()(LLUICtrl *,LLSD const &)
LLUICtrl::onCommit()
LLSliderCtrl::onSliderCommit(LLUICtrl *,LLSD const &)
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::
boost::signals2::optional_last_value::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_s
boost::signals2::detail::signal_impl<void ,boost::signals2::optional_last_value,int,std::less,boost::function,boost::function,boost::signals2::mutex>::operator()(LLUICtrl *,LLSD const &)
LLUICtrl::onCommit()
LLSlider::setValueAndCommit(float)
LLSlider::handleHover(int,int,unsigned int)
LLViewerWindow::updateUI()
idle_startup()
LLAppViewer::idle()
LLAppViewer::frame()
WinMain
{
'Business Unit': ['Platform'],
"Is there anything you'd like to add?": 'Please provide preferable solution before accepting',
'ReOpened Count': 0.0,
'Severity': 'Unset',
'System': 'SL Viewer',
'Target Viewer Version': 'viewer-development',
'What just happened?': 'Crash: {code}\r\nig7icd64.dll\r\nLLGLSLShader::bind()\r\nLLGLSLShader::mapUniforms(std::vector<LLStaticHashedString,std::allocator > const *)\r\nLLGLSLShader::createShader(std::vector<LLStaticHashedString,std::allocator > *,std::vector<LLStaticHashedString,std::allocator > *,unsigned int,char const * *)\r\nLLViewerShaderMgr::loadShadersEnvironment()\r\nLLViewerShaderMgr::setShaders()\r\nLLFeatureManager::setGraphicsLevel(unsigned int,bool)\r\nLLFloaterPreference::onChangeQuality(LLSD const &)\r\nboost::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::\r\nboost::signals2::optional_last_value::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_s\r\nboost::signals2::detail::signal_impl<void ,boost::signals2::optional_last_value,int,std::less,boost::function,boost::function,boost::signals2::mutex>::operator()(LLUICtrl *,LLSD const &)\r\nLLUICtrl::onCommit()\r\nLLSliderCtrl::onSliderCommit(LLUICtrl *,LLSD const &)\r\nboost::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::\r\nboost::signals2::optional_last_value::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_s\r\nboost::signals2::detail::signal_impl<void ,boost::signals2::optional_last_value,int,std::less,boost::function,boost::function,boost::signals2::mutex>::operator()(LLUICtrl ,LLSD const &)\r\nLLUICtrl::onCommit()\r\nLLSlider::setValueAndCommit(float)\r\nLLSlider::handleHover(int,int,unsigned int)\r\nLLViewerWindow::updateUI()\r\nidle_startup()\r\nLLAppViewer::idle()\r\nLLAppViewer::frame()\r\nWinMain\r\n{code}',
'What were you doing when it happened?': 'Most likely user was toying with setting but viewer crushed due to obsolete GPU driver\r\n(for example Intel HD 4000 with driver 9.17.10.2817, needs confirmation that it actually a repro scenario and not just a coicidence)\r\nhttps://crashbrowser.agni.lindenlab.com/viewer_crash_browser/index.php?filter_id=44738',
'What were you expecting to happen instead?': "If it is indeed an old driver, then there is a number of possible options:\r\n- Viewer to notify user that it failed to change settings due to obsolete software (crashing is probably fine, just do it with notification), or at least to be more informative about this specific crash.\r\n- Viewer to let user to increase settings, but revert it immediately and pop up notification about reason (blocking advanced lightnings, shaders, e t c)\r\n- Viewer to notify user on startup that driver is unreasonably old and simply disable settings slider and advanced features.\r\n I'm not sure how viewer performs under old drivers at the moment, needs investigation.",
}
The text was updated successfully, but these errors were encountered: