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

open
nobody
None
5
2014-05-12
2011-07-25
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.

     

Log in to post a comment.