Ticket #1560 (closed: fixed)
"Fit" button causes crash in FitFunction
| Reported by: | Michael Whitty | Owned by: | Roman Tolchenov |
|---|---|---|---|
| Priority: | major | Milestone: | Iteration 25 |
| Component: | Mantid | Keywords: | |
| Cc: | Blocked By: | ||
| Blocking: | Tester: | Michael Whitty |
Description
Present in [5983]
Reproduction steps:
- Load raw file IRS38633 (or any other file, it seems)
- Plot a single spectra
- Open the Fit Function dialog
- Right click on graph and "Add other function"
- Click ok, then select the CompositeFunction and change it anything other than the options presented in the previous steps.
- Click fit.
Causes a break point at this part of compositefunction.cpp (lines 622 to 629):
int CompositeFunction::functionIndex(int i)const
{
if (i >= nParams() || i < 0)
{
throw std::out_of_range("Function parameter index out of range.");
}
return m_iFunction[i];
}
Call stack from debugger:
> MantidAPI.dll!Mantid::API::CompositeFunction::functionIndex(int i=0) Line 628 + 0xf bytes C++
MantidAPI.dll!Mantid::API::CompositeFunction::getParameter(int i=0) Line 202 + 0xc bytes C++
MantidPlot.exe!0081d2c1()
[Frames below may be incorrect and/or missing, no symbols loaded for MantidPlot.exe]
QtCored4.dll!QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject * receiver=0x0012b9c0, QEvent * event=0x0012c26c) Line 692 + 0x24 bytes C++
QtGuid4.dll!QApplicationPrivate::notify_helper(QObject * receiver=0x0ddcc0c0, QEvent * e=0x0012b9c0) Line 3809 + 0x11 bytes C++
QtGuid4.dll!QApplication::notify(QObject * receiver=0x0ddcc0c0, QEvent * e=0x0012b9c0) Line 3774 + 0x10 bytes C++
MantidPlot.exe!0077d434()
ntdll.dll!7c9374ba()
QtGuid4.dll!QWidget::qt_metacall(QMetaObject::Call _c=InvokeMetaMethod, int _id=21, void * * _a=0x0012bb34) Line 176 + 0x18 bytes C++
QtGuid4.dll!QDockWidget::qt_metacall(QMetaObject::Call _c=WriteProperty, int _id=1227336, void * * _a=0x00937d9d) Line 99 + 0x14 bytes C++
MantidPlot.exe!009fe29e()
QtCored4.dll!QMetaObject::activate(QObject * sender=0x0de16770, int from_signal_index=29, int to_signal_index=30, void * * argv=0x0012bb34) Line 3028 + 0x2b bytes C++
QtCored4.dll!QMetaObject::activate(QObject * sender=0x0de16770, const QMetaObject * m=0x01b363a4, int from_local_signal_index=2, int to_local_signal_index=3, void * * argv=0x0012bb34) Line 3118 + 0x15 bytes C++
QtGuid4.dll!QAbstractButton::clicked(bool _t1=false) Line 185 + 0x17 bytes C++
QtGuid4.dll!QAbstractButtonPrivate::emitClicked() Line 546 C++
QtGuid4.dll!QAbstractButtonPrivate::click() Line 538 C++
QtGuid4.dll!QAbstractButton::mouseReleaseEvent(QMouseEvent * e=0x0012c38c) Line 1117 C++
QtGuid4.dll!QWidget::event(QEvent * event=0x0012c38c) Line 7170 C++
QtGuid4.dll!QAbstractButton::event(QEvent * e=0x0012c38c) Line 1079 C++
QtGuid4.dll!QPushButton::event(QEvent * e=0x0012c38c) Line 659 C++
QtGuid4.dll!QApplicationPrivate::notify_helper(QObject * receiver=0x0de16770, QEvent * e=0x0012c38c) Line 3809 + 0x11 bytes C++
QtGuid4.dll!QApplication::notify(QObject * receiver=0x0de16770, QEvent * e=0x0012c38c) Line 3534 + 0x2f bytes C++
MantidPlot.exe!0077d434()
ntdll.dll!7c9101db()
msvcr80d.dll!_heap_alloc_base(unsigned int size=271658048) Line 105 + 0x28 bytes C
msvcr80d.dll!_unlock(int locknum=4) Line 376 C
msvcr80d.dll!_heap_alloc_dbg(unsigned int nSize=16, int nBlockUse=1, const char * szFileName=0x00000000, int nLine=0) Line 475 + 0x7 bytes C++
msvcr80d.dll!_heap_alloc_dbg(unsigned int nSize=16, int nBlockUse=1, const char * szFileName=0x00000000, int nLine=0) Line 472 + 0xc bytes C++
msvcr80d.dll!_nh_malloc_dbg(unsigned int nSize=1229068, int nhFlag=31361825, int nBlockUse=0, const char * szFileName=0x020c2648, int nLine=1229120) Line 266 + 0x15 bytes C++
QtCored4.dll!___native_vcclrit_reason() + 0x193 bytes C++
QtCored4.dll!qMalloc(unsigned int size=1229376) Line 57 + 0xa bytes C++
QtCored4.dll!QHash<QObject *,QObject * *>::createNode(unsigned int ah=32748939, QObject * const & akey=0x00a8382c, QObject * * const & avalue=0x01abde7c, QHashNode<QObject *,QObject * *> * * anextNode=0x549d2b52) Line 521 + 0x3b bytes C++
0012c1d4()
QtCored4.dll!QMutexLocker::unlock() Line 116 C++
QtCored4.dll!QCoreApplication::sendSpontaneousEvent(QObject * receiver=0x0de16770, QEvent * event=0x0012c38c) Line 218 + 0x38 bytes C++
QtGuid4.dll!QApplicationPrivate::sendMouseEvent(QWidget * receiver=0x0de16770, QMouseEvent * event=0x0012c38c, QWidget * alienWidget=0x0de16770, QWidget * nativeWidget=0x0ddcc0c0, QWidget * * buttonDown=0x01d1874c, QPointer<QWidget> & lastMouseReceiver={...}) Line 2799 + 0xe bytes C++
QtGuid4.dll!QETWidget::translateMouseEvent(const tagMSG & msg={...}) Line 3091 + 0x28 bytes C++
QtGuid4.dll!QtWndProc(HWND__ * hwnd=0x00040860, unsigned int message=514, unsigned int wParam=0, long lParam=20119623) Line 1549 + 0xc bytes C++
user32.dll!7e418734()
user32.dll!7e418816()
user32.dll!7e4189cd()
user32.dll!7e418a10()
QtCored4.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...}) Line 743 + 0x21 bytes C++
QtGuid4.dll!QGuiEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...}) Line 1090 + 0x15 bytes C++
QtCored4.dll!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...}) Line 150 C++
QtCored4.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...}) Line 200 + 0x1c bytes C++
QtCored4.dll!QCoreApplication::exec() Line 851 + 0x15 bytes C++
QtGuid4.dll!QApplication::exec() Line 3338 C++
MantidPlot.exe!006c4642()
msvcr80d.dll!_heap_alloc_dbg(unsigned int nSize=2127052093, int nBlockUse=0, const char * szFileName=0x0ddcc0c0, int nLine=232571072) Line 472 + 0xc bytes C++
msvcr80d.dll!_onexit_nolock(int (void)* func=0x0d791850) Line 157 + 0x9 bytes C
00212a0e()
MantidPlot.exe!00974d66()
MantidPlot.exe!00974bbd()
kernel32.dll!7c817077()
MantidPlot.exe!0070002c()
MantidPlot.exe!00720041()
MantidPlot.exe!00750074()
MantidPlot.exe!0070002c()
MantidPlot.exe!00690068()
MantidPlot.exe!005c0053()
MantidPlot.exe!00740052()
MantidPlot.exe!00690068()
MantidPlot.exe!005c0053()
MantidPlot.exe!00740052()
MantidPlot.exe!00740052()
MantidPlot.exe!00690068()
MantidPlot.exe!005c0053()
MantidPlot.exe!00690068()
MantidPlot.exe!005c0053()
Change History
comment:4 Changed 10 years ago by Roman Tolchenov
- Status changed from accepted to verify
- Resolution set to fixed
comment:5 Changed 10 years ago by Michael Whitty
- Status changed from verify to verifying
- Component set to Mantid
- Tester set to Michael Whitty
Note: See
TracTickets for help on using
tickets.
