Skip to content

scipy.cluster.hierarchy.single segmentation fault with 2**16 datapoints #6107

@timbalam

Description

@timbalam

Hi,

Running the following code in the interactive prompt executes successfully:

>>> import scipy.cluster, numpy.random
>>> scipy.cluster.hierarchy.single(numpy.random.random_sample((2**15, 10)))

The following code results in a segmentation fault:

>>> import scipy.cluster, numpy.random
>>> scipy.cluster.hierarchy.single(numpy.random.random_sample((2**16, 10)))

Thanks,
Tim

gdb output:

GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /srv/sw/python/2.7.4/bin/python...done.
(gdb) run -c "import scipy.cluster, numpy.random; scipy.cluster.hierarchy.single(num
py.random.random_sample((2**16,10)))"
Starting program: /srv/sw/python/2.7.4/bin/python -c "import scipy.cluster, numpy.ra
ndom; scipy.cluster.hierarchy.single(numpy.random.random_sample((2**16,10)))"
warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7f
fff7ffa000
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
__pyx_pf_5scipy_7cluster_10_hierarchy_26slink (__pyx_v_n=65536, __pyx_v_Z=...,
    __pyx_v_dists=..., __pyx_self=<optimised out>)
    at scipy/cluster/_hierarchy.c:10392
10392   scipy/cluster/_hierarchy.c: No such file or directory.

gdb backtrace:

(gdb) bt
#0  __pyx_pf_5scipy_7cluster_10_hierarchy_26slink (__pyx_v_n=65536, __pyx_v_Z=...,
    __pyx_v_dists=..., __pyx_self=<optimised out>)
    at scipy/cluster/_hierarchy.c:10392
#1  __pyx_pw_5scipy_7cluster_10_hierarchy_27slink (__pyx_self=<optimised out>,
    __pyx_args=<optimised out>, __pyx_kwds=<optimised out>)
    at scipy/cluster/_hierarchy.c:10160
#2  0x000000000049ec5d in call_function (oparg=<optimised out>,
    pp_stack=0x7fffffffd530) at Python/ceval.c:4021
#3  PyEval_EvalFrameEx (f=<optimised out>, throwflag=<optimised out>)
    at Python/ceval.c:2666
#4  0x00000000004a0806 in PyEval_EvalCodeEx (co=<optimised out>,
    globals=<optimised out>, locals=<optimised out>, args=<optimised out>,
    argcount=1, kws=0xd1dc40, kwcount=2, defs=0xf525c0, defcount=2, closure=0x0)
    at Python/ceval.c:3253
#5  0x000000000049e6e5 in fast_function (nk=<optimised out>, na=1,
    n=<optimised out>, pp_stack=0x7fffffffd720, func=0xfc2cf8)
    at Python/ceval.c:4117
#6  call_function (oparg=<optimised out>, pp_stack=0x7fffffffd720)
    at Python/ceval.c:4042
#7  PyEval_EvalFrameEx (f=<optimised out>, throwflag=<optimised out>)
    at Python/ceval.c:2666
#8  0x00000000004a0806 in PyEval_EvalCodeEx (co=<optimised out>,
    globals=<optimised out>, locals=<optimised out>, args=<optimised out>,
    argcount=1, kws=0x85c568, kwcount=0, defs=0x0, defcount=0, closure=0x0)
    at Python/ceval.c:3253
#9  0x000000000049e6e5 in fast_function (nk=<optimised out>, na=1,
    n=<optimised out>, pp_stack=0x7fffffffd910, func=0xfc29b0)
    at Python/ceval.c:4117
#10 call_function (oparg=<optimised out>, pp_stack=0x7fffffffd910)
    at Python/ceval.c:4042
#11 PyEval_EvalFrameEx (f=<optimised out>, throwflag=<optimised out>)
    at Python/ceval.c:2666
#12 0x00000000004a0806 in PyEval_EvalCodeEx (co=<optimised out>,
    globals=<optimised out>, locals=<optimised out>, args=<optimised out>,
    argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0)
    at Python/ceval.c:3253
#13 0x00000000004a0932 in PyEval_EvalCode (co=<optimised out>,
    globals=<optimised out>, locals=<optimised out>) at Python/ceval.c:667
#14 0x00000000004c5b2a in run_mod (arena=0x85ddb0, flags=<optimised out>,
    locals=0x7f65f0, globals=0x7f65f0, filename=0x51e326 "<string>",
    mod=<optimised out>) at Python/pythonrun.c:1365
#15 PyRun_StringFlags (flags=<optimised out>, locals=0x7f65f0, globals=0x7f65f0,
    start=257, str=<optimised out>) at Python/pythonrun.c:1328
#16 PyRun_SimpleStringFlags (command=<optimised out>, flags=<optimised out>)
    at Python/pythonrun.c:969
#17 0x00000000004152d5 in Py_Main (argc=3, argv=<optimised out>)
    at Modules/main.c:584
#18 0x00007ffff711d76d in __libc_start_main (main=0x4149e0 <main>, argc=3,
    ubp_av=0x7fffffffdc98, init=<optimised out>, fini=<optimised out>,
    rtld_fini=<optimised out>, stack_end=0x7fffffffdc88) at libc-start.c:226
#19 0x0000000000414a11 in _start ()

Metadata

Metadata

Assignees

No one assigned

    Labels

    defectA clear bug or issue that prevents SciPy from being installed or used as expectedscipy.cluster

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions