Uploaded image for project: 'Snowstorm'
  1. Snowstorm
  2. STORM-1368

[crashhunters] crash at [0] LLPreviewNotecard::saveIfNeeded(LLInventoryItem *) [secondlife-bin llpreviewnotecard.cpp]

    Details

    • Type: Defect
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: Viewer 2.3.0
    • Fix Version/s: crash horde
    • Environment:
      Microsoft Windows 7 64-bit 1
      Microsoft Windows XP 1
    • Approvals:
      Code Review, Product Owner
    • Acceptance Criteria:
      Hide
      - The viewer does not crash when:
      -- creating a note card and saving its content.
      -- opening an existing note card, altering and saving the new content.

      - new notecards, and changes to existing notecards correctly save and persist between sessions.
      Show
      - The viewer does not crash when: -- creating a note card and saving its content. -- opening an existing note card, altering and saving the new content. - new notecards, and changes to existing notecards correctly save and persist between sessions.
    • Test Plan:
      Hide

      Test Plan (making sure that this defensive change doesn't break the mainline case):

      • Create a notecard and rename it.
      • Edit the notecard.
        • add some text, drag a full perm inventory item into the note
      • Save the changes.
      • Check that the changes persist.
        Don't crash.
      Show
      Test Plan (making sure that this defensive change doesn't break the mainline case): Create a notecard and rename it. Edit the notecard. add some text, drag a full perm inventory item into the note Save the changes. Check that the changes persist. Don't crash.

      Description

      https://osiris.lindenlab.com/viewer_crash_browser/index.php?filter_id=23677

      [0] LLPreviewNotecard::saveIfNeeded(LLInventoryItem *) [secondlife-bin llpreviewnotecard.cpp]
      [1] LLPreviewNotecard::onClickSave(void *) [secondlife-bin llpreviewnotecard.cpp]
      [2] boost::detail::function::void_function_invoker1::invoke(boost::detail::function::function_buffer &,void *) [secondlife-bin function_template.hpp]
      [3] boost::function1::operator()(void *) [secondlife-bin function_template.hpp]
      [4] boost::detail::function::void_function_obj_invoker2,boost::_bi::list1 > >,void,LLUICtrl *,LLSD const &>::invoke(boost::detail::function::function_buffer &,LLUICtrl *,LLSD const &) [secondlife-bin function_template.hpp]
      [5] boost::function2::operator()(LLUICtrl *,LLSD const &) [secondlife-bin function_template.hpp]
      [6] boost::signals2::detail::slot_call_iterator_t,int,std::less,boost::function,boost::function,boost::signals2::mutex>::slot_invoker,std::list >,boost::signals2::slot2 >,boost::signals2::mutex> >,std::allocator >,boost::signals2::slot2 >,boost::signals2::mutex> > > >::_Iterator<0>,boost::signals2::detail::connection_body >,boost::signals2::slot2 >,boost::signals2::mutex> >::dereference() [secondlife-bin slot_call_iterator.hpp]
      [7] boost::signals2::optional_last_value::operator(),int,std::less,boost::function,boost::function,boost::signals2::mutex>::slot_invoker,std::list >,boost::signals2::slot2 >,boost::signals2::mutex> >,std::allocator >,boost::signals2::slot2 >,boost::signals2::mutex> > > >::_Iterator<0>,boost::signals2::detail::connection_body >,boost::signals2::slot2 >,boost::signals2::mutex> > >(boost::signals2::detail::slot_call_iterator_t,int,std::less,boost::function,boost::function,boost::signals2::mutex>::slot_invoker,std::list >,boost::signals2::slot2 >,boost::signals2::mutex> >,std::allocator >,boost::signals2::slot2 >,boost::signals2::mutex> > > >::_Iterator<0>,boost::signals2::detail::connection_body >,boost::signals2::slot2 >,boost::signals2::mutex> >,boost::signals2::detail::slot_call_iterator_t,int,std::less,boost::function,boost::function,boost::signals2::mutex>::slot_invoker,std::list >,boost::signals2::slot2 >,boost::signals2::mutex> >,std::allocator >,boost::signals2::slot2 >,boost::signals2::mutex> > > >::_Iterator<0>,boost::signals2::detail::connection_body >,boost::signals2::slot2 >,boost::signals2::mutex> >) [secondlife-bin optional_last_value.hpp]
      [8] boost::signals2::detail::signal2_impl,int,std::less,boost::function,boost::function,boost::signals2::mutex>::operator()(LLUICtrl *,LLSD const &) [secondlife-bin signal_template.hpp]
      [9] LLUICtrl::onCommit() [secondlife-bin lluictrl.cpp]
      [10] LLButton::handleMouseUp(int,int,unsigned int) [secondlife-bin llbutton.cpp]
      [11] LLMouseHandler::handleAnyMouseClick(int,int,unsigned int,LLMouseHandler::EClickType,int) [secondlife-bin llmousehandler.cpp]
      [12] LLViewerWindow::handleAnyMouseClick(LLWindow *,LLCoordGL,unsigned int,LLMouseHandler::EClickType,int) [secondlife-bin llviewerwindow.cpp]
      [13] LLViewerWindow::handleMouseUp(LLWindow *,LLCoordGL,unsigned int) [secondlife-bin llviewerwindow.cpp]
      [14] LLWindowWin32::mainWindowProc(HWND__ *,unsigned int,unsigned int,long) [secondlife-bin llwindowwin32.cpp]
      [15] LLWindowWin32::gatherInput() [secondlife-bin llwindowwin32.cpp]
      [16] LLAppViewer::mainLoop() [secondlife-bin llappviewer.cpp]
      [17] WinMain [secondlife-bin llappviewerwin32.cpp]
      [18] __tmainCRTStartup [secondlife-bin crtexe.c]

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              grumpity.productengine Grumpity ProductEngine
              Extended Group Visibility:
              jira-users
            • Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: