- Package:
- octave-ltfat
- Source:
- octave-ltfat
- Description:
- Large Time/Frequency Analysis Toolbox
- Submitter:
- Charlie Hagedorn
- Date:
- 2015-05-25 15:48:18 UTC
- Severity:
- important
Dear Maintainer, I've had inconsistent Octave seg-faults on several jessie machines that I've traced to at least the octave-ltfat package. The seg-faults are triggered calls to the Octave function rcond. Installing octave-ltfat makes it break, uninstalling restores expected behavior (i.e. not crashing Octave). I discovered this problem when chasing down a segmentation fault in octave-optim's leasqr function. rcond breaks only on matrices of size greater than 9 (31 is used below), so it will only turn up when fitting functions of ten or more parameters. Example breakage: cah49@charlie:~$ octave --quiet octave:1> rcond(magic(31)) ans = 0.030391 octave:2> cah49@charlie:~$ cah49@charlie:~$ sudo apt-get install octave-ltfat Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: octave-ltfat 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/561 kB of archives. After this operation, 7,074 kB of additional disk space will be used. Selecting previously unselected package octave-ltfat. (Reading database ... 100497 files and directories currently installed.) Preparing to unpack .../octave-ltfat_2.0.1-1_amd64.deb ... Unpacking octave-ltfat (2.0.1-1) ... Setting up octave-ltfat (2.0.1-1) ... cah49@charlie:~$ octave --quiet octave:1> rcond(magic(31)) Segmentation fault cah49@charlie:~$ sudo apt-get remove octave-ltfat Reading package lists... Done Building dependency tree Reading state information... Done The following package was automatically installed and is no longer required: octave-ltfat-common Use 'apt-get autoremove' to remove it. The following packages will be REMOVED: octave-ltfat 0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. After this operation, 7,074 kB disk space will be freed. Do you want to continue? [Y/n] y (Reading database ... 100544 files and directories currently installed.) Removing octave-ltfat (2.0.1-1) ... cah49@charlie:~$ octave --quiet octave:1> rcond(magic(31)) ans = 0.030391 octave:2> I will update this bug report if I find any other packages that break *** Reporter, please consider answering these questions, where appropriate *** * What was the outcome of this action? * What outcome did you expect instead? *** End of the template - remove these template lines ***
* Charlie Hagedorn <charlie.hagedorn@gmail.com> [2015-04-20 14:29]:
I am unable to reproduce this bug on two different Debian testing systems
I have access. I get on both of them:
$ dpkg -l octave-ltfat octave-ltfat-common octave | grep ^ii
ii octave 3.8.2-4 i386 GNU Octave language for numerical computations
ii octave-ltfat 2.0.1-1 i386 Large Time/Frequency Analysis Toolbox
ii octave-ltfat-common 2.0.1-1 all Large Time/Frequency Analysis Toolbox (arch-indep files)
$ echo "rcond(magic(31))" | octave -q
ans = 0.030391
It is pretty surprising for me that the presence or not of the
octave-ltfat package will have an effect on the behavior of rcond, which
is in Octave core:
$ echo "which rcond" | octave -q
'rcond' is a built-in function from the file libinterp/corefcn/rcond.cc
Rafael
I agree that there's no obvious way for a subcomponent package to affect a core-compiled function, but I see this effect on all three machines I have access to today, all running testing ( vanilla testing install, upgraded crouton install, upgraded Compute Engine instance) . For the machines where I initially discovered this crashing problem, uninstalling the ltfat package appears to have resolved the problem with rcond completely. Here's the octave-related package list from a machine that displays the problem (minus octave-ltfat) : $ dpkg -l 'octave*' | grep ^ii ii octave 3.8.2-4 amd64 GNU Octave language for numerical computations ii octave-audio 1.1.4-5 amd64 functions to work with audio files in Octave ii octave-bim 1.1.5-1 all PDE solver using a finite element/volume approach in Octave ii octave-common 3.8.2-4 all architecture-independent files for octave ii octave-communications 1.2.0-2+b1 amd64 communications package for Octave ii octave-communications-common 1.2.0-2 all communications package for Octave (arch-indep files) ii octave-control 2.6.6-1 amd64 control functions for Octave from Octave-Forge ii octave-data-smoothing 1.3.0-3 all functions to do data smoothing on noisy data ii octave-dataframe 1.0.1-1 all manipulate data in Octave similar to R data.frame ii octave-econometrics 1:1.1.1-2+b1 amd64 econometrics functions for Octave ii octave-financial 0.4.0-2 all financial manipulation and plotting functions ii octave-fpl 1.3.4-2 all plot data on unstructured triangular and tetrahedral meshes in Octave ii octave-ga 0.10.0-2 all genetic optimization code for Octave ii octave-general 1.3.4-2 amd64 provide extra general functions for Octave ii octave-geometry 1.7.0-2 amd64 geometric computing functions for Octave ii octave-gsl 1.0.8-6 amd64 GSL binding for Octave ii octave-image 2.2.2-1 amd64 image manipulation for Octave ii octave-io 2.2.4-1 amd64 input/output data functions for Octave ii octave-linear-algebra 2.2.0-3 amd64 additional linear-algebra functions for Octave ii octave-ltfat-common 2.0.1-1 all Large Time/Frequency Analysis Toolbox (arch-indep files) ii octave-msh 1.0.10-1 amd64 create and manage meshes for FE or FV solvers in Octave ii octave-optim 1.4.0-1 amd64 unconstrained non-linear optimization toolkit for Octave ii octave-signal 1.3.0-1 amd64 signal processing functions for Octave ii octave-splines 1.2.7-2 all cubic spline functions for Octave ii octave-struct 1.0.10-2 amd64 additional structure manipulation functions for Octave $ Thanks for looking into this so quickly! By uninstalling the package, it's no longer a blocker for my work, but after spending more than a day narrowing down the problem, I'd like to save someone else the effort! :). Charlie
* Charlie Hagedorn <charlie.hagedorn@gmail.com> [2015-04-20 16:14]: The fact that I cannot replicate the bug does not mean that the problem does not exist. It only means that the problem cannot be confidently diagnosed. I am afraid we will be able to act on this bug report only after the root of the problem gets exposed. Thanks, Rafael
I am unable to reproduce this problem either. % echo 'which rcond' | octave -q 'rcond' is a built-in function from the file libinterp/corefcn/rcond.cc % echo 'rcond(magic(31))' | octave -q ans = 0.030391 I get the same output whether octave-ltfat package is installed or not. Could the OP please show the output of % echo 'which rcond' | octave -q both before and after the octave-ltfat package is insalled? That would at least confirm which rcond is being called. FWIW, here are the packages I have installed. ii libatlas3-base [liblapack.so.3] 3.10.1-4 ii libblas3 [libblas.so.3] 1.2.20110419-7 ii libc6 2.19-15 ii libfftw3-double3 3.3.4-1 ii libfftw3-single3 3.3.4-1 ii libgcc1 1:4.9.1-19 ii libgfortran3 4.9.1-19 ii liblapack3 [liblapack.so.3] 3.5.0-2 ii liboctave2 3.8.2-4 ii libquadmath0 4.9.1-19 ii libstdc++6 4.9.1-19 ii octave 3.8.2-4 ii octave-ltfat-common 2.0.1-1