Changes between Initial Version and Version 89 of Ticket #13731


Ignore:
Timestamp:
11/29/12 21:46:02 (7 years ago)
Author:
SimonKing
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #13731

    • Property Cc SimonKing fbissey malb added
    • Property Authors changed from to Nils Bruin, Simon King
    • Property Report Upstream changed from N/A to Fixed upstream, in a later stable release.
  • Ticket #13731 – Description

    initial v89  
    1 We have several indications that interaction with libsingular's memory management is tricky. Debugging is hard, because libsingular uses omalloc for its memory management and that hides all allocation/deallocation from conventional memory checking tools. Singular's allocation library is relatively pluggable, though, and (at a speed penalty) one can mostly switch it to using the system malloc for everything. Example spkgs for that are
     1We have several indications that interaction with libsingular's memory management is tricky. Debugging is hard, because libsingular uses omalloc for its memory management and that hides all allocation/deallocation from conventional memory checking tools. Singular's allocation library is relatively pluggable, though, and (at a speed penalty) one can mostly switch it to using the system malloc for everything.
    22
    3 [http://sage.math.washington.edu/home/nbruin/singular-3-1-5.malloc-linux.spkg] (for linux)
     3For that purpose, one can use one of the following:
    44
    5 [http://sage.math.washington.edu/home/nbruin/singular-3-1-5.malloc.spkg] (for OSX)
     5* [http://sage.math.washington.edu/home/nbruin/singular-3-1-5.malloc-linux.spkg] (for linux). It replaces omalloc by the system malloc and tries to keep the changes small. It does build a libsingular library, but the Singular executable does not work.
     6* [http://sage.math.washington.edu/home/nbruin/singular-3-1-5.malloc.spkg] (for OSX). Same as the previous item.
     7* [http://sage.math.washington.edu/home/SimonKing/SAGE/spkgs/singular-3-1-5.p2.spkg] (both linux and OSX).
     8  * It contains [attachment:singular_15435.patch] and [attachment: singular_part_of_changeset_baadc0f7.patch], which backport upstream fixes.
     9  * It usually builds with omalloc. If `export SINGULAR_XALLOC=yes`, then it builds with xalloc, which is a compatibility layer for omalloc on top of malloc. See the discussion on [https://groups.google.com/forum/?hl=en&fromgroups=#!topic/libsingular-devel/AZI-6eZAgus libsingular-devel]
     10  * It builds both a working libsingular library and a Singular executable.
    611
    7 '''WARNING:''' I don't think these packages produce a viable singular executable, so save your original one. The singular library seems to be fine, though. Only install these on a dedicated debugging install!
    8 
    9 Anyway, with this singular on linux:
     12With the [http://sage.math.washington.edu/home/nbruin/singular-3-1-5.malloc-linux.spkg linux spkg], one obtains:
    1013{{{
    1114$ export MALLOC_CHECK_ 3
     
    4245    at sage/rings/polynomial/plural.cpp:12060
    4346}}}
    44 running it in valgrind gets you complaints about the same locations. There's a slim chance this error is an artifact of the way libsingular-malloc is constructed, but I think that's unlikely. I think it's more likely this is a reliable way of detecting the same issues that are haunting us intermittently on various architectures.
     47running it in valgrind gets you complaints about the same locations. Meanwhile two of the underlying problems where found and fixed upstream. [http://sage.math.washington.edu/home/SimonKing/SAGE/spkgs/singular-3-1-5.p2.spkg] contains backports of these fixes.