[with patch; with positive review] matrix_window  easy to segfault sage at command line
See trac #4346 first and apply that patch.
 In this patch, matrix_window does *not* do bounds checking by default. This is because there is a bunch of internal usage of matrix_window for strassen algorithms, which actually relies on matrix_window not being bounds checked (it's ok as used by those algorithms). However, a bunch of code would have to be changed to make bounds checking of matrix_window the default. That said it is currently easy (even with this patch) to segfault sage interactively:
sage: a = matrix([1]).matrix_window(1,1,1,1)
sage: a
Matrix window of size 1 x 1 at (1,1):
[1]
sage: a[0,0] = 1

Unhandled SIGSEGV: A segmentation fault occured in SAGE.
This probably occured because a *compiled* component
of SAGE has a bug in it (typically accessing invalid memory)
or is not properly wrapped with _sig_on, _sig_off.
You might want to run SAGE under gdb with 'sage gdb' to debug this.
SAGE will now terminate (sorry).

Change History (6)
Summary: 
matrix_window  easy to segfault sage at command line →
[with patch; needs review] matrix_window  easy to segfault sage at command line

Summary: 
[with patch; needs review] matrix_window  easy to segfault sage at command line →
[with patch; with positive review] matrix_window  easy to segfault sage at command line

Resolution: 
→ fixed

Status: 
new →
closed

NOTE: In writing this patch, I discovered that there was an offbyone bug in the patch for #4346, which is fixed here. That was why the strassen code wasn't working. Now by default everything uses bounds checking. Very nice.
Note: the bugs in modular abelian varieties homspaces (trac #4351) are also fixed.