Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#2 perl crash in t/10_opengl_array.t tests

open
nobody
None
5
2014-05-12
2011-07-25
Chris Marshall
No

There are a large number of new tests in t/10_opengl_array.t to check/verify
the fixes implemented in the OpenGL::Array and especially OpenGL::RPN.
While the tests are marked as TODO so any FAILs should be ignored during
testing, some of the failures result in segfaults which kill perl and cause the
test to FAIL anyway.

To do:
(1) debug remaining test failures
(2) either make the skip work in event of perl crashes or remove
the new tests from the release tests untill they are debugged.

Discussion

  • Mithaldu
    Mithaldu
    2014-05-03

    I debugged and fixed this today. There are two commits in this branch:

    https://github.com/wchristian/OpenGL.pm/tree/debuggery

    The first one adds a check to rpn_push, which causes a croak if it tries to push past the allocated memory for the rpn stack. This is a necessary fix and causes the exception to occur at the actually broken call, instead of a random free() later on.

    The second one i'm less sure about: It adds 1 to the allocation size for rpn stacks for the operators =, > and <. This means after these operations are done, the stack has, due to the behavior pop has on an empty stack, one float of 0.0 in there, as well as a float indicating failure or success of these ops. If this is correct, then yay, otherwise someone smarter than me needs to figure out what the real fix is.

    As it is, this branch causes all tests to pass.

     
  • Chris Marshall
    Chris Marshall
    2014-05-12

    Applied patches for these two commits to the POGL code repo. Thanks.