Opened 7 years ago

Closed 7 years ago

#4312 closed defect (fixed)

[with patch; with positive review] major @paralllel (hence pyprocessing) new bug in 3.1.3, still in 3.1.4

Reported by: was Owned by: cwitty
Priority: blocker Milestone: sage-3.2
Component: misc Keywords:
Cc: Merged in:
Authors: Reviewers:
Report Upstream: Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description

In 3.1.2 this worked fine. It's totally broken in 3.1.4.

sage@modular:~/build/sage-3.1.4$ more a.sage
@parallel(8)
def f(p):
    print p
    t = cputime()
    M = ModularSymbols(p^2,sign=1)
    w = M.atkin_lehner_operator(p)
    K = (w-1).kernel()
    N = K.new_subspace()
    D = N.decomposition()
    print cputime(t)
    M.save(str(p))
    save(D, '%s-decomp'%p)



sage@modular:~/build/sage-3.1.4$ ./sage
----------------------------------------------------------------------
| SAGE Version 3.1.4, Release Date: 2008-10-16                       |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------

sage: load a.sage
sage: list(f([11,17]))
17
11
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)

/home2/sage/.sage/temp/modular/25347/_home2_sage_build_sage_3_1_4_a_sage_0.py in <module>()
----> 1
      2
      3
      4
      5

/home2/sage/build/sage-3.1.4/local/lib/python2.5/site-packages/sage/parallel/multiprocessing.pyc in parallel_iter(processes, f, inputs)
     64
     65     result = p.imapUnordered(call_pickled_function, [ (fp, t) for t in inputs ])
---> 66     for res in result:
     67         yield res
     68

/home2/sage/build/sage-3.1.4/local/lib/python2.5/site-packages/processing/pool.pyc in next(self, timeout)
    468         if success:
    469             return value
--> 470         raise value
    471
    472     def _set(self, i, obj):

NameError: global name '_sage_const_2' is not defined
sage:           

This is a pyprocessing problem since:

sage: load a.sage
sage: f(11)
11
0.168011
sage: f(13)
13
0.244015
sage:              

}}}

Attachments (2)

sage-4312.patch (1.4 KB) - added by was 7 years ago.
sage-4312-edited.patch (1.4 KB) - added by craigcitro 7 years ago.

Download all attachments as: .zip

Change History (9)

comment:1 Changed 7 years ago by jason

So does this issue have anything to do with @interact? Or is it @parallel that has the problem?

comment:2 Changed 7 years ago by was

  • Summary changed from major @interact (hence pyprocessing) new bug in 3.1.3, still in 3.1.4 to major @paralllel (hence pyprocessing) new bug in 3.1.3, still in 3.1.4

comment:3 Changed 7 years ago by mabshoff

  • Milestone changed from sage-3.2.1 to sage-3.2

Bug Day 15 material? This certainly should get fixed in 3.2.

Cheers,

Michael

comment:4 Changed 7 years ago by mabshoff

  • Milestone changed from sage-3.2.1 to sage-3.2

comment:5 Changed 7 years ago by was

  • Summary changed from major @paralllel (hence pyprocessing) new bug in 3.1.3, still in 3.1.4 to [with patch; needs review] major @paralllel (hence pyprocessing) new bug in 3.1.3, still in 3.1.4

I've posted a hack-ish patch that at least fixes this problem. Something better might be to modify @parallel to more properly transfer all _sage_const*'s to subprocesses or something.

Changed 7 years ago by was

Changed 7 years ago by craigcitro

comment:6 Changed 7 years ago by craigcitro

  • Summary changed from [with patch; needs review] major @paralllel (hence pyprocessing) new bug in 3.1.3, still in 3.1.4 to [with patch; with positive review] major @paralllel (hence pyprocessing) new bug in 3.1.3, still in 3.1.4

Looks good.

I made a new ticket to have someone find an actual fix, which is #4545. I also edited the patch to have this info in it, and posted that above.

comment:7 Changed 7 years ago by mabshoff

  • Resolution set to fixed
  • Status changed from new to closed

Merged sage-4312-edited.patch in Sage 3.2.rc2

Note: See TracTickets for help on using tickets.