#8 bug in use with ipython

something_wrong
open-postponed
Core (7)
5
2007-04-05
2007-03-03
Jan Strube
No

Hi Koji,

I have written a library that automatically instantiates an IAnalysisFactory for interactive use.
When importing the module in ipython, it bails out. Running the import a second time works, so I assume it's a threading problem again.
Are threads actually used in batch mode ?
There's no gui that could block I/O.

Please see the attached script.
start ipython
from paidaUtilities import paida

You can see that importing works the second time around.
This is python2.4, on Scientific Linux 3. paida from cvs head.

Discussion

  • Jan Strube
    Jan Strube
    2007-03-03

    module that instantiates a couple of factories

     
    Attachments
  • Koji Kishimoto
    Koji Kishimoto
    2007-03-12

    Logged In: YES
    user_id=734761
    Originator: NO

    Sorry for my late reply.

    After some investigations, the problem is due to the deep part of current PAIDA architecture. As you pointed out, PAIDA uses (and has to use) "threading" module even in the batch mode and the problem is (partly) related to it.

    This will be fixed PAIDA4 which is planned to use separate processes instead of threads...

     
  • Koji Kishimoto
    Koji Kishimoto
    2007-03-12

    • labels: --> Core
    • milestone: --> something_wrong
    • assigned_to: nobody --> korry
    • status: open --> open-later
     
  • Jan Strube
    Jan Strube
    2007-03-12

    Logged In: YES
    user_id=1366327
    Originator: YES

    Hi Koji,
    Thanks for the reply. Very interesting approach to use separate processes rather than threads. How do they communicate?
    I think threads would be good enough, if they only get started when actually invoking the plotter.
    Anyways, it's not a big bug, so it doesn't bother me too much.

    My Analysis is starting to move into the "hot phase", so PAIDA will get some more serious testing.
    Keep rocking.

    Cheers,
    Jan

     
  • Koji Kishimoto
    Koji Kishimoto
    2007-04-05

    • status: open-later --> open-postponed
     
  • Koji Kishimoto
    Koji Kishimoto
    2007-04-05

    Logged In: YES
    user_id=734761
    Originator: NO

    In PAIDA4, they will communicate with normal and wide used internet protocols like TCP/IP.
    If we use PAIDA with another application that uses thread like ipython and wxPython, we always have some problems due to it. It is because the applications (including PAIDA) that use threading module tend to forget to pay attention to each other. This invokes the problems like main loop process inside GUI and timing treatment.

    Anyway, this way will boost PAIDA to new level. Please continue to help PAIDA development.