Opened 10 years ago

Closed 7 years ago

#11985 closed defect (fixed)

lcalc is too verbose (mysterious "Warning: new stack size")

Reported by: was Owned by: jdemeyer
Priority: minor Milestone: sage-6.2
Component: interfaces Keywords: lcalc
Cc: Merged in:
Authors: Jeroen Demeyer Reviewers: Travis Scrimshaw
Report Upstream: N/A Work issues:
Branch: u/jdemeyer/ticket/11985 (Commits, GitHub, GitLab) Commit: f609cb0e20f8b23b95a7f1d9a74f0ab9ef37f899
Dependencies: #9640 Stopgaps:

Status badges

Description

I tried one simple example "by hand" that actually *uses* lcalc, and was not pleased by what happened:

sage: E = EllipticCurve('37a')
sage: L = E.lseries()
sage: L.zeros(10)
  ***   Warning: new stack size = 1030944 (0.983 Mbytes).
[0.000000000, 5.00317001, 6.87039122, 8.01433081, 9.93309835, 10.7751382, 11.7573247, 12.9583864, 15.6038579, 16.1920174]
sage: L.zeros(10)
  ***   Warning: new stack size = 1030944 (0.983 Mbytes).
[0.000000000, 5.00317001, 6.87039122, 8.01433081, 9.93309835, 10.7751382, 11.7573247, 12.9583864, 15.6038579, 16.1920174]

Basically, every time you use lcalc to do anything with elliptic curve L-series, you get some mysterious warning (of course, really output from PARI). However, the problem has been in released Sage for a long time. It was in sage-4.7.

Change History (19)

comment:1 Changed 10 years ago by jdemeyer

  • Dependencies set to #9640

comment:2 Changed 10 years ago by jdemeyer

  • Component changed from elliptic curves to interfaces
  • Owner changed from cremona to jdemeyer

comment:3 Changed 10 years ago by jdemeyer

  • Milestone sage-4.7.3 deleted

Milestone sage-4.7.3 deleted

comment:4 Changed 7 years ago by jdemeyer

  • Branch set to u/jdemeyer/ticket/11985

comment:5 Changed 7 years ago by jdemeyer

  • Modified changed from 01/06/14 13:30:31 to 01/06/14 13:30:31
  • Status changed from new to needs_review

comment:6 Changed 7 years ago by git

  • Commit set to d2ae836f3c5daea16049dbf02531be5429f90fbf

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

d2ae836Use pari_init_stack() instead of old allocatemoremem()

comment:7 Changed 7 years ago by git

  • Commit changed from d2ae836f3c5daea16049dbf02531be5429f90fbf to f609cb0e20f8b23b95a7f1d9a74f0ab9ef37f899

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

f609cb0Use pari_init_stack() instead of old allocatemoremem()

comment:8 Changed 7 years ago by jdemeyer

  • Authors set to Jeroen Demeyer
  • Milestone set to sage-6.1

comment:9 Changed 7 years ago by chapoton

  • Keywords lcalc added

comment:10 Changed 7 years ago by tscrim

  • Reviewers set to Travis Scrimshaw
  • Status changed from needs_review to positive_review

Looks good to me.

comment:11 Changed 7 years ago by vbraun

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

comment:12 Changed 7 years ago by vbraun

  • Resolution fixed deleted
  • Status changed from closed to new

I got this on mod during a doctests (somewhat random failure):

sage -t --long src/sage/schemes/elliptic_curves/lseries_ell.py
**********************************************************************
File "src/sage/schemes/elliptic_curves/lseries_ell.py", line 243, in sage.schemes.elliptic_curves.lseries_ell.Lseries_ell.zeros
Failed example:
    E.lseries().zeros(2)
Expected:
    [0.000000000, 5.00317001]
Got:
      ***   Warning: not enough memory, new stack 1000000000.
    [0.000000000, 5.00317001]
**********************************************************************
File "src/sage/schemes/elliptic_curves/lseries_ell.py", line 246, in sage.schemes.elliptic_curves.lseries_ell.Lseries_ell.zeros
Failed example:
    a = E.lseries().zeros(20)             # long time
Expected nothing
Got:
      ***   Warning: not enough memory, new stack 1000000000.
**********************************************************************
1 item had failures:

This is also with #13163 but I'm pretty sure this ticket is the culprit...

comment:13 Changed 7 years ago by jdemeyer

  • Status changed from new to needs_info

Please confirm that the system you were building this on was not low on memory. From reading the PARI sources, it looks like that message can only occur after a failed malloc(). You should make sure doctests have 2.5GB of memory available.

comment:14 Changed 7 years ago by jdemeyer

  • Status changed from needs_info to positive_review

comment:15 Changed 7 years ago by vbraun

As I said its on mod, so a pretty beefy machine with 128GB ram. Of course I don't know exactly what happened, but I think its pretty unlikely that some runaway process ate everything except 2% of the available ram such that only this doctest failed. Twice in a row.

Last edited 7 years ago by vbraun (previous) (diff)

comment:16 Changed 7 years ago by jdemeyer

Don't forget that mod also runs the Sage Notebook server, which might make your scenario more likely. Were you testing many jobs in parallel? And were those the only doctest failures that you got?

comment:17 Changed 7 years ago by vbraun

That was the only failure in the whole build process and, at least when I checked later, there were tons (~50GB) of free memory. The buildbot always tests the same number of processes, no more, no less.

comment:18 Changed 7 years ago by vbraun_spam

  • Milestone changed from sage-6.1 to sage-6.2

comment:19 Changed 7 years ago by vbraun

  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.