Ticket #8179 (closed: fixed)
Windows: MantidPlot + IPython won't load if msvcr90.dll is in the path
Reported by: | Martyn Gigg | Owned by: | Martyn Gigg |
---|---|---|---|
Priority: | blocker | Milestone: | Release 3.0 |
Component: | GUI | Keywords: | |
Cc: | taylorrj@… | Blocked By: | |
Blocking: | Tester: | Keith Brown |
Description
On Windows if the PATH variable contains a directory containing an msvcr90.dll that matches the architecture of the system then IPython attempts to load this rather than use the already loaded msvcr90.dll that Python27.dll has found.
Change History
comment:2 Changed 7 years ago by Martyn Gigg
- Status changed from new to inprogress
Patch uuid.py to avoid a bug in the Python ctypes module
Shipping IPython is a priority so we can't wait for this to be resolved by Python themselves. It's already been around for almost a year anyway. Refs #8179
Changeset: d882ae7ef2bd12f33741acffc459706995585325
comment:3 Changed 7 years ago by Martyn Gigg
Patch uuid.py to avoid a bug in the Python ctypes module
Shipping IPython is a priority so we can't wait for this to be resolved by Python themselves. It's already been around for almost a year anyway. Refs #8179
Changeset: ab96e50062dcda19bc6dfd64c56d6a860b92b999
comment:4 Changed 7 years ago by Martyn Gigg
- Status changed from inprogress to verify
- Resolution set to fixed
- Blocking 5939 removed
All of the changes here happened in the third party repositories so there is no actual code to merge.
Tester: Requires Windows with a copy of something that has MSVCR90.dll in the PATH. I suggest an ISIS machine that has exceed installed. This is how the problem was originally found. I would suggest using a clean development build.
Check that MantidPlot starts without error and that you can use the IPython interpreter (F4).
comment:5 Changed 7 years ago by Keith Brown
- Status changed from verify to verifying
- Tester set to Keith Brown
It looks like this is actually a bug with ctypes in Python: http://bugs.python.org/issue17213. IPython uses the uuid module, which in turn uses the ctypes module that then hits the bug.
As IPython has to go in we are going to have to use the suggestion in the bug report of patching the uuid module to not run the offending commands on windows (as they useless there anyway!)