What am I missing? (Things to look into on Saturday)

I'm still seeing failures in OpenGL-ctypes in the nurbs and evaluator calls. I've traced through them, compared them to C versions of the code and have basically run out of reasons for it to fail. What I'm left with is the possibility that I've started tickling a ctypes-on-amd64 error or that I'm doing something monumentally stupid and simple that I just can't see because I've stared at the code for so long.

At this point I really wish, when I'd seen this code working, I had thought to record a CVS tag saying "evaluators working now" with notes of the ctypes version etceteras. Of course, back then it wasn't a particularly big thing that it was working, so who'd record such a tag. Oh well.


  1. Rene Dudfield

    Rene Dudfield on 12/13/2006 4:18 p.m. #

    Can you search your blog for the date when it was working? If so, you can do a checkout based on date.

  2. Melbourne web developer

    Melbourne web developer on 12/13/2006 4:22 p.m. #

    btw... here's how you update based on date.<br />
    <br />
    <br />
    cvs update -D "19 Apr 1999"<br />
    <br />
    There are more detailed notes about it in the book, and manual.<br />
    http://cvsbook.red-bean.com/cvsbook.html#Getting%20Snapshots%20(Dates%20And%20Tagging)<br />
    <br />

  3. Aaron Bentley

    Aaron Bentley on 12/14/2006 12:27 p.m. #

    Bisect tools can often help with problems like this, so long as you can write a test for whether evaluators are working. Here's one for CVS: <a href="http://wingolog.org/archives/2006/01/20/cvs-bisect">cvs-bisect</a>

  4. Mike Fletcher

    Mike Fletcher on 12/15/2006 10:57 a.m. #

    Thanks for the tips all. I've done date-based CVS checkouts before, but the idea of a binary search through the tree doing checkouts never occurred to me. Unfortunately, no, I really don't know when it was working, I just know that it was at some point "in the past". I remember seeing it work on this computer with the ctypes version of PyOpenGL, though, so I could simply start from day one and see when it finds the failure. Would need to have the ctypes versions linked into the CVS... or I guess I can just do the bisection once with each version of ctypes, if one of the runs doesn't find a working version, that's the broken ctypes version :) ... otherwise it can find the happy puppy.<br />
    <br />
    Testing for the evaluators should be fairly straightforward, they aren't crashing, they're just not working. With PyGame I can control the mainloop, so I can do a test and clean up fairly readily.

  5. Alisdair

    Alisdair on 12/18/2006 8:49 a.m. #

    "I could simply start from day one and see when it finds the failure"<br />
    <br />
    Don't start from the beginning -- do a binary search!

Comments are closed.


Pingbacks are closed.