Skip to content

TST: bus error on sparc: pandas/hashtable.c:7282 while pandas.io.tests.test_pytables:TestHDFStore.test_encoding #3892

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
yarikoptic opened this issue Jun 13, 2013 · 5 comments · Fixed by #3898
Labels
Testing pandas testing functions or related to the test suite
Milestone

Comments

@yarikoptic
Copy link
Contributor

v0.11.0-492-gb204e14

test_encoding (pandas.io.tests.test_pytables.TestHDFStore) ...
Program received signal SIGBUS, Bus error.
__pyx_pf_6pandas_9hashtable_14Int64HashTable_16map_locations (__pyx_v_values=<optimized out>, __pyx_v_self=0xf7cc0900) at pandas/hashtable.c:7282
7282        __pyx_v_val = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_values.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_values.diminfo[0].strides));
(gdb) bt
#0  __pyx_pf_6pandas_9hashtable_14Int64HashTable_16map_locations (__pyx_v_values=<optimized out>, __pyx_v_self=0xf7cc0900) at pandas/hashtable.c:7282
#1  __pyx_pw_6pandas_9hashtable_14Int64HashTable_17map_locations (__pyx_v_self=<pandas.hashtable.Int64HashTable at remote 0xf7cc0900>, __pyx_v_values=<optimized out>) at pandas/hashtable.c:7190
#2  0x0007c2f0 in PyCFunction_Call (func=<built-in method map_locations of pandas.hashtable.Int64HashTable object at remote 0xf7cc0900>, arg=(<numpy.ndarray at remote 0x145d610>,), kw=0x0)
    at ../Objects/methodobject.c:101
#3  0x00031228 in PyObject_Call (func=<built-in method map_locations of pandas.hashtable.Int64HashTable object at remote 0xf7cc0900>, arg=(<numpy.ndarray at remote 0x145d610>,), kw=0x0) at ../Objects/abstract.c:2529
#4  0xf6536a00 in __pyx_f_6pandas_5index_11IndexEngine_initialize (__pyx_v_self=0x13515f0) at pandas/index.c:4804
#5  0xf6533124 in __pyx_f_6pandas_5index_11IndexEngine__ensure_mapping_populated (__pyx_v_self=0x13515f0) at pandas/index.c:4716
#6  __pyx_pf_6pandas_5index_11IndexEngine_2__contains__ (__pyx_v_val='columns', __pyx_v_self=0x13515f0) at pandas/index.c:2502
#7  __pyx_pw_6pandas_5index_11IndexEngine_3__contains__ (__pyx_v_self=<pandas.index.Int64Engine at remote 0x13515f0>, __pyx_v_val='columns') at pandas/index.c:2471
#8  0x000329e0 in PySequence_Contains (seq=<pandas.index.Int64Engine at remote 0x13515f0>, ob='columns') at ../Objects/abstract.c:2387
#9  0x000e96bc in cmp_outcome (w=<optimized out>, v='columns', op=<optimized out>) at ../Python/ceval.c:4463
#10 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:2287
(gdb) l 7270
7265        /* "pandas/hashtable.pyx":429
7266     * 
7267     *         for i in range(n):
7268     *             val = values[i]             # <<<<<<<<<<<<<<
7269     *             k = kh_put_int64(self.table, val, &ret)
7270     *             self.table.vals[k] = i
7271     */
7272        __pyx_t_3 = __pyx_v_i;
7273        __pyx_t_4 = -1;
7274        if (__pyx_t_3 < 0) {
(gdb) 
7275          __pyx_t_3 += __pyx_pybuffernd_values.diminfo[0].shape;
7276          if (unlikely(__pyx_t_3 < 0)) __pyx_t_4 = 0;
7277        } else if (unlikely(__pyx_t_3 >= __pyx_pybuffernd_values.diminfo[0].shape)) __pyx_t_4 = 0;
7278        if (unlikely(__pyx_t_4 != -1)) {
7279          __Pyx_RaiseBufferIndexError(__pyx_t_4);
7280          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7281        }
7282        __pyx_v_val = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_values.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_values.diminfo[0].strides));
7283    
7284        /* "pandas/hashtable.pyx":430
(gdb) 
7285     *         for i in range(n):
7286     *             val = values[i]
7287     *             k = kh_put_int64(self.table, val, &ret)             # <<<<<<<<<<<<<<
7288     *             self.table.vals[k] = i
7289     * 
7290     */
7291        __pyx_v_k = kh_put_int64(__pyx_v_self->table, __pyx_v_val, (&__pyx_v_ret));
7292    
7293        /* "pandas/hashtable.pyx":431
7294     *             val = values[i]

cython 0.19+git51-g3078752-1 (Debian build)

@jreback
Copy link
Contributor

jreback commented Jun 13, 2013

can u show versions of Numexpr and pytables
and did they install successfully ?
what python version?

@yarikoptic
Copy link
Contributor Author

everything installed just fine AFAIK... fresh numexpr is still in NEW queue, so now it is with an elderly one -- if you suspect that it is numexpr issue, let me know -- I could try building/installing fresh numexpr/tables

(sid)yoh@vagus:~/deb/gits/fail2ban$ dpkg -l python-{numexpr,tables}; python --version
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                              Version                       Architecture                  Description
+++-=================================================-=============================-=============================-=======================================================================================================
ii  python-numexpr                                    2.0.1-3                       sparc                         Fast numerical array expression evaluator for Python and NumPy
ii  python-tables                                     2.3.1-3                       sparc                         hierarchical database for Python based on HDF5
Python 2.7.5+

@jreback
Copy link
Contributor

jreback commented Jun 13, 2013

can you tell me which line it broke on in the test_encoding test?

@yarikoptic
Copy link
Contributor Author

if I traced it right

test_pytables.py(489):             result = store.select('df',Term('columns=A',encoding='ascii'))

and then around actual bus error:

internals.py(1229):         tot_items = sum(len(x.items) for x in self.blocks)

@jreback
Copy link
Contributor

jreback commented Jun 13, 2013

can you try my PR #3898, should fix/skip all of these tests ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Testing pandas testing functions or related to the test suite
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants