Closed
Description
gory details
Starting program: /usr/bin/python2.7-dbg /usr/bin/nosetests -s -v -a \!network pandas/tests/test_frame.py:TestDataFrame.test_from_records_sequencelike
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabi/libthread_db.so.1".
Program received signal SIGILL, Illegal instruction.
Program received signal SIGILL, Illegal instruction.
test_from_records_sequencelike (pandas.tests.test_frame.TestDataFrame) ...
Program received signal SIGSEGV, Segmentation fault.
0xb59b5478 in __pyx_pf_6pandas_3lib_122is_string_array (__pyx_self=0x0, __pyx_v_values=0x1727668) at pandas/lib.c:32348
32348 __Pyx_INCREF((PyObject*)__pyx_t_3);
(gdb) bt
#0 0xb59b5478 in __pyx_pf_6pandas_3lib_122is_string_array (__pyx_self=0x0, __pyx_v_values=0x1727668) at pandas/lib.c:32348
#1 0xb59b4248 in __pyx_pw_6pandas_3lib_123is_string_array (__pyx_self=0x0, __pyx_v_values=<numpy.ndarray at remote 0x1727668>) at pandas/lib.c:32136
#2 0x0009e498 in PyCFunction_Call (func=<built-in function is_string_array>, arg=(<numpy.ndarray at remote 0x1727668>,), kw=0x0) at ../Objects/methodobject.c:101
#3 0x0002e178 in PyObject_Call (func=<built-in function is_string_array>, arg=(<numpy.ndarray at remote 0x1727668>,), kw=0x0) at ../Objects/abstract.c:2529
#4 0xb59abe48 in __pyx_pf_6pandas_3lib_108infer_dtype (__pyx_self=0x0, __pyx_v__values=<numpy.ndarray at remote 0x1727668>) at pandas/lib.c:30465
#5 0xb59a81d8 in __pyx_pw_6pandas_3lib_109infer_dtype (__pyx_self=0x0, __pyx_v__values=<numpy.ndarray at remote 0x1727668>) at pandas/lib.c:29761
#6 0x00152aa4 in call_function (pp_stack=0xbeffaa74, oparg=1) at ../Python/ceval.c:4009
#7 0x0014d524 in PyEval_EvalFrameEx (
f=Frame 0x12bf850, for file /home/yoh/pandas/pandas-0.12.0/pandas/core/common.py, line 1220, in _possibly_cast_to_datetime (value=<numpy.ndarray at remote 0x1727668>, dtype=None, coerce=False, v=<numpy.ndarray at remote 0x1727668>), throwflag=0) at ../Python/ceval.c:2666
python backtrace
(gdb) py-bt
#7 Frame 0x12bf850, for file /home/yoh/pandas/pandas-0.12.0/pandas/core/common.py, line 1220, in _possibly_cast_to_datetime (value=<numpy.ndarray at remote 0x1727668>, dtype=None, coerce=False, v=<numpy.ndarray at remote 0x1727668>)
inferred_type = lib.infer_dtype(v)
#11 Frame 0x12a37b0, for file /home/yoh/pandas/pandas-0.12.0/pandas/core/series.py, line 3318, in _try_cast (arr=<numpy.ndarray at remote 0x1727668>, take_fast_path=True)
arr = com._possibly_cast_to_datetime(arr, dtype)
#15 Frame 0x115d810, for file /home/yoh/pandas/pandas-0.12.0/pandas/core/series.py, line 3349, in _sanitize_array (data=<numpy.ndarray at remote 0x1727668>, index=<Int64Index(name=None) at remote 0x17289d8>, dtype=None, copy=False, raise_cast_failure=False, _try_cast=<function at remote 0x1728a30>, subarr=<numpy.ndarray at remote 0x1727668>)
subarr = _try_cast(data, True)
#19 Frame 0x17579c0, for file /home/yoh/pandas/pandas-0.12.0/pandas/core/frame.py, line 5936, in _homogenize (data=[<numpy.ndarray at remote 0x1723ea8>, <numpy.ndarray at remote 0x1723f68>, <numpy.ndarray at remote 0x17273e8>, <numpy.ndarray at remote 0x1727668>, <numpy.ndarray at remote 0x17271a8>, <numpy.ndarray at remote 0x17274e8>, <numpy.ndarray at remote 0x1727228>, <numpy.ndarray at remote 0x17270e8>], index=<Int64Index(name=None) at remote 0x17289d8>, dtype=None, _sanitize_array=<function at remote 0x10f1b90>, oindex=None, homogenized=[<numpy.ndarray at remote 0x1723ea8>, <numpy.ndarray at remote 0x1723f68>, <numpy.ndarray at remote 0x17273e8>], v=<numpy.ndarray at remote 0x1727668>)
raise_cast_failure=False)
#23 Frame 0x17571e0, for file /home/yoh/pandas/pandas-0.12.0/pandas/core/frame.py, line 5675, in _arrays_to_mgr (arrays=[<numpy.ndarray at remote 0x1723ea8>, <numpy.ndarray at remote 0x1723f68>, <numpy.ndarray at remote 0x17273e8>, <numpy.ndarray at remote 0x1727668>, <numpy.ndarray at remote 0x17271a8>, <numpy.ndarray at remote 0x17274e8>, <numpy.ndarray at remote 0x1727228>, <numpy.ndarray at remote 0x17270e8>], arr_names=<Index(name=None) at remote 0x17286c0>, index=<Int64Index(name=None) at remote 0x17289d8>, columns=<...>, dtype=None)
arrays = _homogenize(arrays, index, dtype)
#27 Frame 0x17ce8a0, for file /home/yoh/pandas/pandas-0.12.0/pandas/core/frame.py, line 1124, in from_records (cls=<type at remote 0x129f680>, data=<recarray at remote 0x165dc40>, index=None, exclude=set([]), columns=<Index(name=None) at remote 0x17286c0>, coerce_float=False, nrows=None, arr_columns=<...>, arrays=[<numpy.ndarray at remote 0x1723ea8>, <numpy.ndarray at remote 0x1723f68>, <numpy.ndarray at remote 0x17273e8>, <numpy.ndarray at remote 0x1727668>, <numpy.ndarray at remote 0x17271a8>, <numpy.ndarray at remote 0x17274e8>, <numpy.ndarray at remote 0x1727228>, <numpy.ndarray at remote 0x17270e8>], result_index=None)
columns)
and here what I think was original/generated code
(gdb) bt 1
#0 0xb59b5478 in __pyx_pf_6pandas_3lib_122is_string_array (__pyx_self=0x0, __pyx_v_values=0x1727668) at pandas/lib.c:32348
(More stack frames follow...)
(gdb) l 32335
32330 /* "pandas/src/inference.pyx":230
32331 *
32332 * for i in range(n):
32333 * if not PyString_Check(objbuf[i]): # <<<<<<<<<<<<<<
32334 * return False
32335 * return True
32336 */
32337 __pyx_t_13 = __pyx_v_i;
32338 __pyx_t_8 = -1;
32339 if (__pyx_t_13 < 0) {
(gdb)
32340 __pyx_t_13 += __pyx_pybuffernd_objbuf.diminfo[0].shape;
32341 if (unlikely(__pyx_t_13 < 0)) __pyx_t_8 = 0;
32342 } else if (unlikely(__pyx_t_13 >= __pyx_pybuffernd_objbuf.diminfo[0].shape)) __pyx_t_8 = 0;
32343 if (unlikely(__pyx_t_8 != -1)) {
32344 __Pyx_RaiseBufferIndexError(__pyx_t_8);
32345 {__pyx_filename = __pyx_f[1]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
32346 }
32347 __pyx_t_3 = (PyObject *) *__Pyx_BufPtrStrided1d(PyObject **, __pyx_pybuffernd_objbuf.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_objbuf.diminfo[0].strides);
32348 __Pyx_INCREF((PyObject*)__pyx_t_3);
32349 __pyx_t_7 = ((!(PyString_Check(__pyx_t_3) != 0)) != 0);
any obvious clues? ;)