<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote">On Sat, Jun 15, 2013 at 3:15 PM, Julian Taylor <span dir="ltr"><<a href="mailto:jtaylor.debian@googlemail.com" target="_blank">jtaylor.debian@googlemail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="im">On 15.06.2013 21:12, Charles R Harris wrote:<br>
><br>
><br>
> On Sat, Jun 15, 2013 at 9:50 AM, Warren Weckesser<br>
</div><div class="im">> <<a href="mailto:warren.weckesser@gmail.com">warren.weckesser@gmail.com</a> <mailto:<a href="mailto:warren.weckesser@gmail.com">warren.weckesser@gmail.com</a>>> wrote:<br>
><br>
><br>
>     On Sat, Jun 15, 2013 at 11:43 AM, Warren Weckesser<br>
</div><div><div class="h5">>     <<a href="mailto:warren.weckesser@gmail.com">warren.weckesser@gmail.com</a> <mailto:<a href="mailto:warren.weckesser@gmail.com">warren.weckesser@gmail.com</a>>> wrote:<br>
><br>
>         I'm getting a seg. fault in master when I run the tests.  I'm on<br>
>         Ubuntu 12.04 64 bit, with Python 3.3.2 (64 bits):<br>
><br>
>         $ python3 -c "import numpy as np; np.test('full')"<br>
>         Running unit tests for numpy<br>
>         NumPy version 1.8.0.dev-fa5bc1c<br>
>         NumPy is installed in<br>
>         /home/warren/local_py332/lib/python3.3/site-packages/numpy<br>
>         Python version 3.3.2 (default, Jun 14 2013, 12:12:22) [GCC 4.6.3]<br>
>         nose version 1.3.0<br>
>         .............................S.........................................................................................................................................................S.......................................................................................................................................................S....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................<br>

 .........<br>
.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................K............................................................................................................................................................................................SSS.<br>

 .........<br>
.......................................................................................K.....................................................................................................................................................................................Segmentation<br>

>         fault<br>
><br>
>         The seg. fault is occurring in ma/tests/test_mrecords.py:<br>
><br>
>         $ nosetests test_mrecords.py<br>
>         .Segmentation fault<br>
><br>
>         More info:<br>
><br>
>         $ python3<br>
>         Python 3.3.2 (default, Jun 14 2013, 12:12:22)<br>
>         [GCC 4.6.3] on linux<br>
>         Type "help", "copyright", "credits" or "license" for more<br>
>         information.<br>
>         >>> import numpy as np<br>
>         >>> np.show_config()<br>
>         atlas_threads_info:<br>
>             library_dirs = ['/usr/lib/atlas-base/atlas',<br>
>         '/usr/lib/atlas-base']<br>
>             include_dirs = ['/usr/include/atlas']<br>
>             language = f77<br>
>             libraries = ['lapack', 'ptf77blas', 'ptcblas', 'atlas']<br>
>             define_macros = [('ATLAS_INFO', '"\\"3.8.4\\""')]<br>
>         atlas_blas_threads_info:<br>
>             library_dirs = ['/usr/lib/atlas-base']<br>
>             include_dirs = ['/usr/include/atlas']<br>
>             language = c<br>
>             libraries = ['ptf77blas', 'ptcblas', 'atlas']<br>
>             define_macros = [('ATLAS_INFO', '"\\"3.8.4\\""')]<br>
>         mkl_info:<br>
>           NOT AVAILABLE<br>
>         lapack_opt_info:<br>
>             library_dirs = ['/usr/lib/atlas-base/atlas',<br>
>         '/usr/lib/atlas-base']<br>
>             include_dirs = ['/usr/include/atlas']<br>
>             language = f77<br>
>             libraries = ['lapack', 'ptf77blas', 'ptcblas', 'atlas']<br>
>             define_macros = [('ATLAS_INFO', '"\\"3.8.4\\""')]<br>
>         blas_opt_info:<br>
>             library_dirs = ['/usr/lib/atlas-base']<br>
>             include_dirs = ['/usr/include/atlas']<br>
>             language = c<br>
>             libraries = ['ptf77blas', 'ptcblas', 'atlas']<br>
>             define_macros = [('ATLAS_INFO', '"\\"3.8.4\\""')]<br>
>         lapack_mkl_info:<br>
>           NOT AVAILABLE<br>
>         blas_mkl_info:<br>
>           NOT AVAILABLE<br>
>         >>><br>
><br>
>         gdb:<br>
><br>
>         $ gdb python3<br>
>         GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04<br>
>         Copyright (C) 2012 Free Software Foundation, Inc.<br>
>         License GPLv3+: GNU GPL version 3 or later<br>
>         <<a href="http://gnu.org/licenses/gpl.html" target="_blank">http://gnu.org/licenses/gpl.html</a>><br>
>         This is free software: you are free to change and redistribute it.<br>
>         There is NO WARRANTY, to the extent permitted by law.  Type<br>
>         "show copying"<br>
>         and "show warranty" for details.<br>
>         This GDB was configured as "x86_64-linux-gnu".<br>
>         For bug reporting instructions, please see:<br>
>         <<a href="http://bugs.launchpad.net/gdb-linaro/" target="_blank">http://bugs.launchpad.net/gdb-linaro/</a>>...<br>
>         Reading symbols from /home/warren/local_py332/bin/python3...done.<br>
>         (gdb) run test_mrecords.py<br>
>         Starting program: /home/warren/local_py332/bin/python3<br>
>         test_mrecords.py<br>
>         [Thread debugging using libthread_db enabled]<br>
>         Using host libthread_db library<br>
>         "/lib/x86_64-linux-gnu/libthread_db.so.1".<br>
>         .<br>
>         Program received signal SIGSEGV, Segmentation fault.<br>
>         0x00007ffff5f080a4 in<br>
>         _aligned_strided_to_contig_size8_srcstride0 (dst=<optimized out>,<br>
>             dst_stride=<optimized out>, src=<optimized out>,<br>
>         __NPY_UNUSED_TAGGEDsrc_stride=<optimized out>,<br>
>             N=<optimized out>,<br>
>         __NPY_UNUSED_TAGGEDsrc_itemsize=<optimized out>,<br>
>         __NPY_UNUSED_TAGGEDdata=0x0)<br>
>             at numpy/core/src/multiarray/lowlevel_strided_loops.c.src:190<br>
>         190            *((@type@ *)dst) = temp;<br>
>         (gdb)<br>
><br>
><br>
><br>
><br>
> Is this repeatable? Just asking as I don't see that here with gcc 4.7.2.<br>
> Looks like Julian's changes to lowlevel_strided_loops may be responsible.<br>
><br>
> Chuck<br>
><br>
<br>
</div></div>I can't reproduce it on ubuntu 12.04 with python 3.2 (don't have 3.3.2)<br>
the changes made are very minimal, from looking at them again I don't<br>
see how they could cause this (especially on a x86 platform).<br>
<br>
@warren, can you please bisect the commit causing this?<br></blockquote><div><br><br></div><div>Here's the culprit:<br><br><span style="font-family:courier new,monospace">aef286debfd11a62f1c337dea55624cee7fd4d9e is the first bad commit<br>
commit aef286debfd11a62f1c337dea55624cee7fd4d9e<br>Author: Julian Taylor <<a href="mailto:jtaylor.debian@googlemail.com">jtaylor.debian@googlemail.com</a>><br>Date:   Mon Jun 10 19:38:58 2013 +0200<br><br>    ENH: enable unaligned loads on x86<br>
    <br>    x86 can handle unaligned load and there is no hand vectorized code in<br>    this file. It would be a serious compiler bug if it adds vectorization<br>    without checking for alignment.<br>    Enables fast complex128 copies which are unaligned on 32 bit gcc unless<br>
    compiled with -malign-double.<br><br>:040000 040000 d0948d1e1d942d41d50ce9e57bdc430db9a16f9e 45a48f383353857b8d0dd24e542c7ab6f137448c M  numpy<br></span><br></div><div>Link: <a href="https://github.com/numpy/numpy/commit/aef286debfd11a62f1c337dea55624cee7fd4d9e">https://github.com/numpy/numpy/commit/aef286debfd11a62f1c337dea55624cee7fd4d9e</a><br>
<br></div><div>Warren<br><br> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
_______________________________________________<br>
NumPy-Discussion mailing list<br>
<a href="mailto:NumPy-Discussion@scipy.org">NumPy-Discussion@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/numpy-discussion" target="_blank">http://mail.scipy.org/mailman/listinfo/numpy-discussion</a><br>
</blockquote></div><br></div></div>