Ticket #7658 (closed: fixed)
LeBailFit causes tcmalloc problem if data range is not right
Reported by: | Wenduo Zhou | Owned by: | Wenduo Zhou |
---|---|---|---|
Priority: | critical | Milestone: | Release 3.0 |
Component: | Diffraction | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Tester: | Russell Taylor |
Description (last modified by Wenduo Zhou) (diff)
When 'FitRange' is defined much smaller than the data range for algorithm LeBailFit, there comes an error message.
This error occurs while running the script, verify_7568.py, attached in this ticket. Algorithm LeBailFit froze after the error message appeared. And the memory used by Mantid increased dramatically until all the system memory were consumed.
Error message:
LeBailFit-[Notice] Function: Pattern Calculation. tcmalloc: large alloc 1610612736 bytes == 0x7fd6cf8d0000 @ 0x7fd7abbc4a45 0x7fd7896bdf71 0x7fd7896bc6eb 0x7fd7896ba1f7 0x7fd7896b851a 0x7fd7896b5709 0x7fd7896b292d 0x7fd78969c261 0x7fd78968ca20 0x7fd78968bdd9 0x7fd7b14542ab 0x7fd77ffe7aeb 0x7fd77fff7011 0x7fd77fff5b36 0x7fd77fff530d 0x7fd781436eb5 0x7fd7814268ba 0x7fd781427eb7 0x7fd7814354b0 0x7fd78b36b652 0x7fd78141ff01 0x7fd78143124e 0x7fd781427f93 0x7fd7ad21ee83 0x7fd7ad16e46d 0x7fd7ad13a605 0x7fd7ad16f8c0 0x7fd7ad1705eb 0x7fd7ad1705eb 0x7fd7ad13a605 0x7fd7ad13a932 MantidUI-[Notice] MantidPlot is shutting down... tcmalloc: large alloc 3221225472 bytes == 0x7fd60f5d0000 @ 0x7fd7abbc4a45 0x7fd7896bdf71 0x7fd7896bc6eb 0x7fd7896ba1f7 0x7fd7896b851a 0x7fd7896b5709 0x7fd7896b292d 0x7fd78969c261 0x7fd78968ca20 0x7fd78968bdd9 0x7fd7b14542ab 0x7fd77ffe7aeb 0x7fd77fff7011 0x7fd77fff5b36 0x7fd77fff530d 0x7fd781436eb5 0x7fd7814268ba 0x7fd781427eb7 0x7fd7814354b0 0x7fd78b36b652 0x7fd78141ff01 0x7fd78143124e 0x7fd781427f93 0x7fd7ad21ee83 0x7fd7ad16e46d 0x7fd7ad13a605 0x7fd7ad16f8c0 0x7fd7ad1705eb 0x7fd7ad1705eb 0x7fd7ad13a605 0x7fd7ad13a932
Attachments
Change History
comment:3 Changed 7 years ago by Wenduo Zhou
Fixed the bug. Refs #7658.
- Fixed the bug, which causes that a while loop cannot be over;
- Cleaned the codes.
Changeset: 1d4a9ce84f643cd9b358cd5372ccb27a41a8bb09
comment:4 Changed 7 years ago by Wenduo Zhou
Fixed the bug. Refs #7658.
The comment in the last commit is not all correct. The bug is inside LeBailFunction.cpp
Changeset: 4257c3ae12866adca038c6f4aefc454dcc39639c
comment:6 Changed 7 years ago by Wenduo Zhou
By examining the codes, a programming error was found. It was in LeBailFunction.cpp. There was an unconsidered case that causes an infinite while loop, in which elements were added to a vector in each iteration.
comment:7 Changed 7 years ago by Wenduo Zhou
- Status changed from inprogress to verify
- Resolution set to fixed
Instruction for Verification
- Download all the files attached in this ticket;
- Before merging the commit of this ticket to master, run script verify_7658.py. You can see the problem as reported in the ticket's description. Kill the process before all the memory is consumed.
- Merge the branch to master and re-build Mantid;
- Re-run the verify_7658.py. The reported problem should gone.
comment:8 Changed 7 years ago by Russell Taylor
- Status changed from verify to verifying
- Tester set to Russell Taylor
comment:11 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 8503