gsl: interp.c:38: ERROR: insufficient number of points for interpolation type

Bug #814499 reported by Evgeny Kurbatov
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Galacticus
Fix Released
High
Andrew Benson
V0.9.1
Fix Released
High
Andrew Benson

Bug Description

Hello, Andrew!

I'm trying to run v0.9.1, without any modifications, and get the following output (with verbosityLevel=5):

......a big dump.....

        -> Tabulating stellar luminosities for Salpeter IMF, luminosity 1
   0% [ ]gsl: interp.c:38: ERROR: insufficient number of points for interpolation type
Default GSL error handler invoked.
Aborted

I'm using gsl-1.14. Everything was compiled with gcc-4.6.
bzr says the last revision the distro had with 'bzr update' is 518.

Regards,
Evgeny Kurbatov

Revision history for this message
Andrew Benson (abenson) wrote :

Hi Evgeny:

Thanks for the bug report. I'll see if I can reproduce this later today. Two questions: 1) were you using the standard parameters.xml file that comes with Galacticus, or some other parameter file? (if it was another file could you post it here so that I can use it?); 2) was Galacticus compiled with OpenMP parallelism switched on (i.e. is there an "-fopenmp" in your Makefile)?

Thanks,
Andrew,

Changed in galacticus:
assignee: nobody → Andrew Benson (abenson)
importance: Undecided → High
tags: added: gsl interpolation
Revision history for this message
Andrew Benson (abenson) wrote :

Confirmed in v0.9.1 when including stellar luminosity calculations.

Revision history for this message
Andrew Benson (abenson) wrote :

OK - I'm seeing a similar and probably related problem (the exact error generated probably depends on exactly what the two or more threads are doing at the time). Running v0.9.1 using gsl 1.14 and including a single band for stellar luminosities I get:

 0: -> Tabulating stellar luminosities for Salpeter IMF, luminosity 1
   0% [ ]
Program received signal 11 (SIGSEGV): Segmentation fault.

Backtrace for this error:
  + [0x40000400]
  + function __instruments_filters_MOD_filter_extent (0x80A3823)
    at line 119 of file instruments.filters.F90
  + function __stellar_population_luminosities_MOD_stellar_population_luminosity (0x819A758)
    at line 214 of file stellar_populations.luminosities.F90
  + function __stellar_population_properties_luminosities_MOD_stellar_population_luminosities_get (0x819D2EB)
    at line 139 of file stellar_populations.properties.luminosities.F90
  + function __stellar_population_properties_instantaneous_MOD_stellar_population_properties_rates_instantaneous (0x819BDD3)
    at line 162 of file stellar_populations.properties.instantaneous.F90
  + function __stellar_population_properties_MOD_stellar_population_properties_rates (0x819E969)
    at line 186 of file stellar_populations.properties.F90
  + function __tree_node_methods_exponential_disk_MOD_tree_node_disk_stellar_mass_rate_compute_exponential (0x810EEBC)
    at line 648 of file objects.tree_node.methods.disk.exponential.F90
  + function __merger_trees_MOD_tree_node_compute_derivatives (0x80E4175)
    at line 20 of file objects.tree_node.derivatives.inc
  + function tree_node_odes (0x80E797C)
    at line 608 of file objects.merger_trees.F90
  + /usr/lib/libgsl.so.0(gsl_odeiv_evolve_apply+0x390) [0x48cf94f0]
  + function __fgsl_MOD_fgsl_odeiv_evolve_apply (0x8306000)
  + function __ode_solver_MOD_ode_solve (0x80D8626)
    at line 131 of file numerical.ODE_solver.F90
  + function __merger_trees_MOD_tree_node_evolve (0x80E80A2)
    at line 540 of file objects.merger_trees.F90
  + function __merger_trees_evolve_MOD_merger_tree_evolve_to (0x80C5A5C)
    at line 223 of file merger_trees.evolve.F90
  + function __galacticus_tasks_evolve_tree_MOD_galacticus_task_evolve_tree._omp_fn.0 (0x80A0F05)
    at line 188 of file galacticus.tasks.evolve_tree.F90
  + function __galacticus_tasks_evolve_tree_MOD_galacticus_task_evolve_tree (0x80A0C19)
    at line 147 of file galacticus.tasks.evolve_tree.F90
  + function __galacticus_tasks_MOD_galacticus_task_do (0x80A1238)
    at line 6 of file galacticus.tasks.task_rules.inc
  + function galacticus (0x8090A18)
    at line 101 of file Galacticus.F90
  + /lib/libc.so.6(__libc_start_main+0xf3) [0x458da413]

Revision history for this message
Andrew Benson (abenson) wrote :

The problem was some code which reads filter tracings when computing stellar luminosities which had been commented out at some point in the past (probably for debugging purposes) and was never reinstated. I've fixed this in revision 535 (http://bazaar.launchpad.net/~abenson/galacticus/v0.9.1/revision/535). This now runs OK for me. Let me know if this solves the problem for you also.

-Andrew.

Changed in galacticus:
status: New → Fix Committed
Revision history for this message
Evgeny Kurbatov (evgenykurbatov) wrote : Re: [Bug 814499] Re: gsl: interp.c:38: ERROR: insufficient number of points for interpolation type

Thank you, Andrew! Everything works fine, except one post-processing
perl script, but I'll try to fix it myself. The error is:

kurbatov$ scripts/plotting/Plot_K_Luminosity_Function.pl galacticus-lowres.hdf5 myrun-lowres

Warning: Non-Scalar Dataspace for Attribute name 'luminosityRedshift' Dataspace in PDL::IO::HDF5::Group:get at perl/Galacticus/HDF5.pm line 104
Warning: Non-Scalar Dataspace for Attribute name 'luminosityFilter' Dataspace in PDL::IO::HDF5::Group:get at perl/Galacticus/HDF5.pm line 104
Warning: Non-Scalar Dataspace for Attribute name 'luminosityType' Dataspace in PDL::IO::HDF5::Group:get at perl/Galacticus/HDF5.pm line 104
Warning: Non-Scalar Dataspace for Attribute name 'outputRedshifts' Dataspace in PDL::IO::HDF5::Group:get at perl/Galacticus/HDF5.pm line 104
Warning: Non-Scalar Dataspace for Attribute name 'coolingFunctionMethods' Dataspace in PDL::IO::HDF5::Group:get at perl/Galacticus/HDF5.pm line 104

Argument "rr^?M-L@M-^U+@" isn't numeric in subroutine entry at perl/Galacticus/HDF5.pm line 36.

Argument "\0\0\0\0\0\0M-p?" isn't numeric in subroutine entry at perl/Galacticus/HDF5.pm line 37.

Select_Output(): Unable to find
matching redshift. Requested redshift was: 0 Available redshifts are:
-0.999999994216225 Try adding the requested redshift to the
'outputRedshifts' paremeter in Galacticus.

I'll try to figure it out then tell the result.

Regards,
Evgeny Kurbatov

Revision history for this message
Andrew Benson (abenson) wrote :

Bug is fixed.

Changed in galacticus:
status: Fix Committed → Fix Released
Revision history for this message
Andrew Benson (abenson) wrote :

On Monday, July 25, 2011, you wrote:
> Thank you, Andrew! Everything works fine, except one post-processing
> perl script, but I'll try to fix it myself. The error is:
>
> kurbatov$ scripts/plotting/Plot_K_Luminosity_Function.pl galacticus-
> lowres.hdf5 myrun-lowres
>
> Warning: Non-Scalar Dataspace for Attribute name 'luminosityRedshift'
> Dataspace in PDL::IO::HDF5::Group:get at perl/Galacticus/HDF5.pm line 104
> Warning: Non-Scalar Dataspace for Attribute name 'luminosityFilter'
> Dataspace in PDL::IO::HDF5::Group:get at perl/Galacticus/HDF5.pm line 104
> Warning: Non-Scalar Dataspace for Attribute name 'luminosityType'
> Dataspace in PDL::IO::HDF5::Group:get at perl/Galacticus/HDF5.pm line 104
> Warning: Non-Scalar Dataspace for Attribute name 'outputRedshifts'
> Dataspace in PDL::IO::HDF5::Group:get at perl/Galacticus/HDF5.pm line 104
> Warning: Non-Scalar Dataspace for Attribute name 'coolingFunctionMethods'
> Dataspace in PDL::IO::HDF5::Group:get at perl/Galacticus/HDF5.pm line 104
>
> Argument "rr^?M-L@M-^U+@" isn't numeric in subroutine entry at
> perl/Galacticus/HDF5.pm line 36.
>
> Argument "\0\0\0\0\0\0M-p?" isn't numeric in subroutine entry at
> perl/Galacticus/HDF5.pm line 37.
>
> Select_Output(): Unable to find
> matching redshift. Requested redshift was: 0 Available redshifts are:
> -0.999999994216225 Try adding the requested redshift to the
> 'outputRedshifts' paremeter in Galacticus.
>
>
> I'll try to figure it out then tell the result.

That looks like it's having problems when it tries to read attributes that
have multiple values (i.e. are arrays rather than scalars). Check that you
have the latest version of the PDL::IO::HDF5 module either from:

http://www.ctcp.caltech.edu/galacticus/tools/PDL-IO-HDF5-0.6.tar.bz2

or using bzr from lp:~abenson/galacticus/PDL-IO-HDF5-0.6_galacticus

I added extra functionality to this module to allow it to read non-scalar
attributes.

-Andrew.

--

* Andrew Benson: http://www.tapir.caltech.edu/~abenson/contact.html

* Galacticus: http://sites.google.com/site/galacticusmodel

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.