Hi,

Le 12/03/2015 19:18, Bill Allombert a écrit :
On Sun, Mar 08, 2015 at 04:09:55PM +0100, Julien Puydt wrote:
Hi,

Le 07/03/2015 22:48, Bill Allombert a écrit :
On Sat, Mar 07, 2015 at 12:59:36PM +0100, Julien Puydt wrote:
How does cb_pari_err_recover() work ?

Their cb_pari_err_handle detects if it's a short stack problem
(errnum == e_STACK), in which case it doubles the stack and doesn't
throw an exception. If it's another problem, it blocks exceptions,
throws one and unblock.

Then cb_pari_err_recover gets called: if no exception has been
thrown, it decides the stack was doubled and retries. If an
exception has been thrown, it throws it further.

Why cannot this be done directly by cb_pari_err_handle ?
Rethrow the error seems needlessly complex.

So my conclusion is that the segfault is triggered by calling
closure_func_err! It looks like this function is supposed to make
the error messages more precise : how come it sometimes just
crashes?

I thought the whole point of the exercise was that SAGE did not want
the error message to be printed ?

If you increase the stack, you are probably destroying the informations
needed for closure_func_err() to work. You need to call it before increasing
the stack.

Unfortunately, the sagemath devs have started packaging a snapshot of pari 2.8 and use more non-2.7 features than just error management, so there is no point anymore in trying to restore compatibility :'-(

So we're going to use hand-made pari packages to help us work on sagemath packaging... with still no precise idea how we'll manage to have a sagemath package in debian if upstream doesn't make any effort to release a version which depends on a serious pari version.

Thanks for your kind help and sorry it ended like a waste of time,

Snark on #debian-science


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to