Ticket #8179 (closed: fixed)

Opened 7 years ago

Last modified 5 years ago

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:1 Changed 7 years ago by Martyn Gigg

  • Cc taylorrj@… added

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!)

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

  • Blocking 5939 added

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).

Last edited 7 years ago by Martyn Gigg (previous) (diff)

comment:5 Changed 7 years ago by Keith Brown

  • Status changed from verify to verifying
  • Tester set to Keith Brown

comment:6 Changed 7 years ago by Keith Brown

  • Status changed from verifying to closed

Loads no problem, IPython interpreter opens.

Typed a few IPython commands, all worked fine.

comment:7 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 9024

Note: See TracTickets for help on using tickets.