Skip to content

test_read_through_table_interface crashes Python on Windows 7 with Anaconda #2100

Closed

Description

@astrofrog

Unfortunately there is no error message or useful diagnostics immediately available. I will dig further into this once I have some time, unless someone else has time to look into it first.

Activity

  1. added this to the v0.3.1 milestone on Feb 15, 2014
  2. astrofrog commented on Feb 15, 2014

    @astrofrog
    MemberAuthor

    cc @mdboom since this is in io.votable

  3. modified the milestones: v0.3.2, v0.3.1 on Feb 25, 2014
  4. modified the milestones: , v0.3.2 on May 2, 2014
  5. mdboom commented on May 9, 2014

    @mdboom
    Contributor

    Is this still an issue?

  6. self-assigned this
    on May 9, 2014
  7. astrofrog commented on May 9, 2014

    @astrofrog
    MemberAuthor

    @mdboom - yes, but there is no information beyond just crashing. Not very helpful. Do you have a VM that you can try and reproduce this on?

  8. mdboom commented on May 9, 2014

    @mdboom
    Contributor

    I don't have access to it while telecommuting. I can try this at the office on Tuesday.

  9. astrofrog commented on May 9, 2014

    @astrofrog
    MemberAuthor

    This is not urgent btw (since no users have actually reported the issue, and I was only testing, not using Windows) so no problem.

  10. modified the milestones: v0.4.1, on May 21, 2014
  11. astrofrog commented on Jul 15, 2014

    @astrofrog
    MemberAuthor

    I see the same issue in test_regression in vo_test.py. Specifically, this line causes the segfault:

    https://github.com/astropy/astropy/blob/master/astropy/io/votable/tests/vo_test.py#L139

    Digging into to_xml to see if I can find where the error occurs.

  12. astrofrog commented on Jul 15, 2014

    @astrofrog
    MemberAuthor

    @mdboom - the segfault happens in https://github.com/astropy/astropy/blob/master/astropy/io/votable/tree.py#L2744

    EDIT: some more details - the error specifically happens when _write_string is called, and then calls _buffer_realloc, upon which it crashes at this line: https://github.com/astropy/astropy/blob/master/astropy/io/votable/src/tablewriter.c#L74 - at this point, n is 512 and sizeof(CHAR) is 2. Not sure what could be happening here. I'll let you take it from here ;)

  13. astrofrog commented on Jul 16, 2014

    @astrofrog
    MemberAuthor
  14. mwcraig commented on Aug 9, 2014

    @mwcraig
    Member

    @astrfrog -- I don't think this is an astropy bug, actually, but a mismatch between the way astropy is compiled if you run setup.py in anaconda vs the way they compile when they build conda packages.

    If I navigate to the continuum-provided astropy in site-packages and run the tests with py.test io/votable/table_test.py they succeed on my Win7/64-bit VM.

    If I make a new environment and conda remove astropy (just to be sure I don't pick up anything conda-compiled), download the astropy source and python setup.py test I see the same fail that you are seeing and that occurs on appveyor when compilation there is done with mingw.

    When conda builds packages, though, it builds them with MSVC (see, e.g. this discussion on the conda list, all the way at the bottom: anaconda uses mingw when you python setup.py test/install, but conda build on windows uses MSVC).

    My suggestion would be stick with testing (and supporting) only astropy binaries built with MSVC...now that there exists appveyor, using appveyor to build binary wheels for astropy should be straightforward.

  15. astrofrog commented on Aug 9, 2014

    @astrofrog
    MemberAuthor

    @mwcraig - thanks for your insight into this!

    @embray - since you've also had experience with Windows, in the light of what @mwcraig found, shall we close this?

  16. embray commented on Aug 11, 2014

    @embray
    Member

    That sounds about right. FWIW I built all the binary Windows installers for Astropy with mingw. But I don't think those are used very much to begin with (though maybe it would be better to build them with MSVC)...

  17. mwcraig commented on Aug 11, 2014

    @mwcraig
    Member

    Once appveyor is up and running it can be configured to build binaries (I've seen recipes for wheels and for conda packages on appveyor, the EXEs shouldn't be too bad); that would presumably be tied to tags but would need to be sorted out later.

  18. astrofrog commented on Aug 11, 2014

    @astrofrog
    MemberAuthor

    Ok, sounds good! I'll close this for now in that case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions