New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AbstractLinearCode.canonical_representative not properly wrapped in sig_on and sig_off #21628
Comments
Commit: |
Author: Johan Rosenkilde |
comment:2
I've added calls to I'm not exactly sure how the interruption works, but it now seems to me to be responsive and not crash. I also don't know if there might be memory leaks left after the interruption :-S New commits:
|
comment:3
The call to In this case, you should use |
comment:4
Replying to @jdemeyer:
Thanks. Of course you're the mastermind behind cysignals, but the documentation of cysignals does say: "You should put sig_on() before and sig_off() after any Cython code which could potentially take a long time.". Which is why I thought it would be OK to do that. Further, removing that
Further leading me to believe I've tried to look closer at Also, it's not clear to me why Sage segfaults on Best, |
comment:5
Well, the cysignals documentation also has a warning box with
|
comment:6
Replying to @johanrosenkilde:
That's probably an independent problem. I strongly suggest that you first fix this segfault before moving on. It is pointless to build on top of a broken foundation. Do you have a GDB backtrace (if you have gdb installed, such a backtrace will be shown automatically) or a way for me to reproduce that segfault? |
comment:7
Replying to @jdemeyer:
Haha, good point :-)
Hmm, OK. What I run to produce the segfault is the following:
|
comment:8
The backtrace from gdb is:
|
comment:9
Replying to @johanrosenkilde:
No, it's not :-) That's the backtrace from glibc. The backtrace from gdb should be below that. |
comment:10
Replying to @jdemeyer:
Ah ok. It says "Attaching gdb to process id 10318." and then "Saved trace to ". But that log file is empty. |
comment:11
Replying to @johanrosenkilde:
Probably you don't have gdb or it's the wrong version... |
comment:12
I do have gdb since gdb launches when I type gdb. It's not hard to test. How do I know if it's "the right version"? It's 7.11.1. My gcc is 6.1.1. Presumably they fit together since they're in my package manager? |
Dependencies: #21651 |
comment:14
I created #21651 for the existing segfault issue. |
comment:15
As far as I can tell, this issue is completely fixed by #21651. |
comment:16
Yes, I think so. I tried some days ago to make it crash again, but was unable. I wanted to get back to it and try harder, but never got around to it. Since you also tried since then, it's probably true that the issue got fixed. Let's close it. |
Reviewer: Johan Rosenkilde, Jeroen Demeyer |
Changed author from Johan Rosenkilde to none |
Pressing
C-c
either seems to have no effect, throws an exception which is not caught and computation continues, or segfaults.This is very unfortunate because this is a function commonly tried but interrupted due to long run-time.
Depends on #21651
CC: @sagetrac-tfeulner
Component: coding theory
Keywords: linear_code
Branch/Commit: u/jsrn/21628_canonical_representative_interrupting @
40269b9
Reviewer: Johan Rosenkilde, Jeroen Demeyer
Issue created by migration from https://trac.sagemath.org/ticket/21628
The text was updated successfully, but these errors were encountered: