Your message dated Wed, 17 Jun 2009 19:47:07 +0000
with message-id <e1mh16b-0004sw...@ries.debian.org>
and subject line Bug#526527: fixed in pysparse 1.0.1-5.1
has caused the Debian Bug report #526527,
regarding pysparse.superlu broken (segfault)
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
526527: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=526527
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: pysparse
Version: 1.0.1-5
Severity: serious
Tags: patch
Hi Adam,
thanks for maintaining pysparse. If I may venture a request: it would be
nice if pysparse.superlu worked instead of segfaulting. Attached is my
suggestion to fix it. (Yeah, it breaks some options which are
undocumented and in part have changed before without notice and it is
not segfaulting anymore, I would claim that that is strictly better.)
See this message for a test case:
https://lists.ubuntu.com/archives/ubuntu-users/2008-May/148160.html
Note, however, that unlike the claim of his code the output
should not be a vector with all ones.
I have allowed myself to fix some unrelated bogosities.
Kind regards
T.
diff -u pysparse-1.0.1/debian/changelog pysparse-1.0.1/debian/changelog
--- pysparse-1.0.1/debian/changelog
+++ pysparse-1.0.1/debian/changelog
@@ -1,3 +1,11 @@
+pysparse (1.0.1-5.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Fix pysparse.superlu module port to superlu 3 based on reading
+ the docs.
+
+ -- Thomas Viehmann <t...@beamnet.de> Fri, 01 May 2009 20:56:39 +0200
+
pysparse (1.0.1-5) unstable; urgency=low
* Removed removal of /usr/lib and Build-Depends on python-central >= 0.6
diff -u pysparse-1.0.1/Src/superlumodule.c pysparse-1.0.1/Src/superlumodule.c
--- pysparse-1.0.1/Src/superlumodule.c
+++ pysparse-1.0.1/Src/superlumodule.c
@@ -89,8 +89,9 @@
dCreate_Dense_Matrix(&B, self->n, 1, (double *)x->data, self->n, SLU_DN,
SLU_D, SLU_GE);
#endif
+ StatInit(&dummy);
/* Solve the system, overwriting vector x. */
- dgstrs(trans, &self->L, &self->U, self->perm_r, self->perm_c, &B, &dummy,
&info);
+ dgstrs(trans, &self->L, &self->U, self->perm_c, self->perm_r, &B, &dummy,
&info);
/* free memory */
Destroy_SuperMatrix_Store(&B);
@@ -197,20 +198,17 @@
SuperMatrix A; /* A in NC format used by the factorization routine. */
SuperMatrix AC; /* Matrix postmultiplied by Pc */
mem_usage_t mem_usage;
- int lwork = 0;
int *etree;
int info;
- optionst.Trans = NOTRANS;
- optionst.DiagPivotThresh = diag_pivot_thresh;
- statt.panel_histo = &panel_size;
- statt.RefineSteps = relax;
+ set_default_options(&optionst);
+ /* the below comment is interesting because statt is a local variable. eh?
/* make sure StatInit is only called once */
- if (!StatInit_done) {
+ //if (!StatInit_done) {
StatInit(&statt);
- StatInit_done = 1;
- }
+ // StatInit_done = 1;
+ //}
/* Create SuperLUObject */
self = PyObject_New(SuperLUObject, &SuperLUType);
@@ -231,16 +229,17 @@
etree = intMalloc(n);
self->perm_r = intMalloc(n);
self->perm_c = intMalloc(n);
- if (self->perm_r == NULL || self->perm_c == NULL) {
+ if (self->perm_r == NULL || self->perm_c == NULL || etree == NULL) {
PyErr_NoMemory();
goto fail;
}
get_perm_c(permc_spec, &A, self->perm_c); /* calc column permutation */
sp_preorder(&optionst, &A, self->perm_c, etree, &AC); /* apply column
permutation */
-
+ panel_size = sp_ienv(1);
+ relax = sp_ienv(2);
/* Perform factorization */
dgstrf(&optionst, &AC, drop_tol, relax, panel_size,
- etree, NULL, lwork, self->perm_r, self->perm_c,
+ etree, NULL, 0, self->perm_c,self->perm_r,
&self->L, &self->U, &statt, &info);
/* free memory */
@@ -263,8 +262,8 @@
return (PyObject *)self;
fail:
- PyMem_Del(self->perm_r);
- PyMem_Del(self->perm_c);
+ SUPERLU_FREE(self->perm_r);
+ SUPERLU_FREE(self->perm_c);
PyObject_Del(self);
return NULL;
}
--- End Message ---
--- Begin Message ---
Source: pysparse
Source-Version: 1.0.1-5.1
We believe that the bug you reported is fixed in the latest version of
pysparse, which is due to be installed in the Debian FTP archive:
pysparse_1.0.1-5.1.diff.gz
to pool/main/p/pysparse/pysparse_1.0.1-5.1.diff.gz
pysparse_1.0.1-5.1.dsc
to pool/main/p/pysparse/pysparse_1.0.1-5.1.dsc
python-sparse-examples_1.0.1-5.1_all.deb
to pool/main/p/pysparse/python-sparse-examples_1.0.1-5.1_all.deb
python-sparse_1.0.1-5.1_i386.deb
to pool/main/p/pysparse/python-sparse_1.0.1-5.1_i386.deb
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 526...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Thomas Viehmann <t...@beamnet.de> (supplier of updated pysparse package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Fri, 01 May 2009 20:56:39 +0200
Source: pysparse
Binary: python-sparse python-sparse-examples
Architecture: source i386 all
Version: 1.0.1-5.1
Distribution: unstable
Urgency: low
Maintainer: Adam C. Powell, IV <hazel...@debian.org>
Changed-By: Thomas Viehmann <t...@beamnet.de>
Description:
python-sparse - Sparse linear algebra extension for Python
python-sparse-examples - Sparse linear algebra extension for Python:
documentation
Closes: 526527
Changes:
pysparse (1.0.1-5.1) unstable; urgency=low
.
* Non-maintainer upload.
* Fix pysparse.superlu module port to superlu 3 based on reading
the docs. Closes: #526527
Checksums-Sha1:
0a7ef5e00a1149efc5d039155318f80ca6d51060 1263 pysparse_1.0.1-5.1.dsc
abf05b22df367d3450a3162eaa3e06ac739ae50a 8212 pysparse_1.0.1-5.1.diff.gz
0eaa6d71993b2b67acc75e02622c65c2bd55ab8b 171534
python-sparse_1.0.1-5.1_i386.deb
644c1e070231b61483ef513cb3c6d69ae6637126 153670
python-sparse-examples_1.0.1-5.1_all.deb
Checksums-Sha256:
f8e2979593d65d4e9b586bb023b40ca7602d34172e05f290bc39c3894a9ffb24 1263
pysparse_1.0.1-5.1.dsc
5522be2a5897601e42091e995640eed91b82c51faa070a3aedc43ede891152f7 8212
pysparse_1.0.1-5.1.diff.gz
022e3bc615483bb0d9fdac575092ac3df0febdd6479eca9e2eaa4e3bdd1a08ae 171534
python-sparse_1.0.1-5.1_i386.deb
275c7d96617a15fee0d2ba4d243c3f94f2a34268ba282ae4b014a1a2ea3a2cf7 153670
python-sparse-examples_1.0.1-5.1_all.deb
Files:
8a2828148411e79046445a884e59ccf3 1263 python optional pysparse_1.0.1-5.1.dsc
0b5ac839ad35d0a81f000794ad6704e7 8212 python optional
pysparse_1.0.1-5.1.diff.gz
3b06c1e0992d9130ebb5ac37cf12d408 171534 python optional
python-sparse_1.0.1-5.1_i386.deb
a0a08b9426b1d75f55f07fcdeaa73783 153670 python optional
python-sparse-examples_1.0.1-5.1_all.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEARECAAYFAko5RtEACgkQ5ItltUs5T35MoACg9j/KbXuJr6vGfLOwxRR3im5M
Vz4AoK8s9CQkxDzngosyDtCDOrM2LO6O
=XoEu
-----END PGP SIGNATURE-----
--- End Message ---