#330 Ruby Correct tracking code

None
closed-fixed
Klaus Kämpf
None
5
2015-09-13
2012-10-29
Anonymous
No

This is a patch to resolve bug #2034216.
The bug is that the tracking code uses a ruby hash and thus may allocate objects (Bignum) while running the GC. This was tolerated in 1.8 but is invalid (raises an exception) in 1.9.
The patch uses a C hash (also used by ruby) instead.

Discussion

  • Comment has been marked as spam. 
    Undo

    You can see all pending comments posted by this user  here


    Anonymous
    2012-10-29

     
    Attachments
  • Klaus Kämpf
    Klaus Kämpf
    2012-12-14

    • assigned_to: nobody --> kkaempf
     
  • Klaus Kämpf
    Klaus Kämpf
    2012-12-20

    The patch fails to compile with recent versions of GCC, complaining about use of (...) without initial named parameter.

     
  • Comment has been marked as spam. 
    Undo

    You can see all pending comments posted by this user  here


    Anonymous
    2012-12-20

    I'll take a look at this, hold on ;-)

     
  • Klaus Kämpf
    Klaus Kämpf
    2012-12-25

    Replacing the ellipsis with ANYARGS (defined in Ruby st.h) fixes this.

     
  • Pascal Hurni
    Pascal Hurni
    2012-12-26

    Should I update the patch with this, or I let you do that on your own?

    (I just created a regular sf account, the one with my openid didn't let me comment anymore).

    Regards

     
  • Klaus Kämpf
    Klaus Kämpf
    2013-01-03

    Pascal, I already have an updated patch and will run regression tests on it. Thanks !

     
  • Klaus Kämpf
    Klaus Kämpf
    2013-01-03

    Hmm, applying this patch doesn't change any result in running "make test" in swig 2.0.9. Looks like we need a testcase covering bug #2034216.

     
  • William Fulton
    William Fulton
    2015-09-05

    Pascal, Klaus, please take a look at https://github.com/swig/swig/issues/225 which has a similar patch and let me know your thoughts. Thanks. William

     
  • William Fulton
    William Fulton
    2015-09-13

    • status: open --> closed-fixed
    • Group: -->