25 Apr 2024 |
headius | could be we need to return something that can to_s better than FFI::Pointer | 18:59:29 |
enebo | yeah I need to run between MRI and us to track each thing down | 18:59:34 |
headius | or FFI::Pointer needs a better to_s | 18:59:36 |
enebo | could be ... it may be this is FFI to_s behavior though | 19:00:04 |
enebo | in which case we will need to wrap the pointer into something else | 19:00:18 |
enebo | in fact it is a bit weird to get another libraries return type here but I guess that may be how it will work | 19:00:41 |
enebo | lol I can get every value out of that pointer but the real one | 19:07:23 |
enebo | ok fiddle seems to work in smaller subsets but it is a bigger project | 19:07:49 |
headius | yeah no doubt about that | 19:13:40 |
enebo | in this case the lhs of strcpy did the right thing. It is just testing the ptr returned from it | 19:16:39 |
enebo | I think that pointer is a pointer to our JRuby string since the lhs was an existing string | 19:17:17 |
enebo | Likely this is us not representing a pointer for something not really a pointer | 19:17:47 |
enebo | anyways there is some serious work needed to figure this out | 19:18:18 |
headius | Yeah I'm glad you managed to do what you could but I suspect the long-term best option would be to port the C version so we can track changes and match all behavior | 19:19:14 |
headius | It's probably still possible to do in Ruby with ffi but it might be almost as much work and it's certainly won't perform well | 19:19:40 |
enebo | I mean they are a fairly reasonable set of mappings into libc and struct tests | 19:19:42 |
enebo | if we passed those I am not sure we would need a strict port | 19:19:56 |
enebo | I am just unsure if ffi is capable or not in cases | 19:20:15 |
headius | Maybe not as bad as I think? | 19:20:26 |
headius | Yeah I don't know. I've only ever done small patches to it | 19:20:38 |
enebo | yeah this is like a week long sit side by side between us and MRI and see where we are wrong | 19:21:06 |
enebo | A couple of fixes likely will make a lot more work | 19:21:20 |
enebo | that pointer thing is a bit weirder to understand | 19:21:33 |
enebo | in MRI it is obviously simpler since it will just be a pointer | 19:21:49 |
headius | yeah method by method and make the Ruby match | 19:34:56 |
headius | eager constant change is merged to master and I pushed this for 10: https://github.com/jruby/jruby/pull/8214 | 19:38:17 |
headius | enebo: I think all my fixes are merged in and remaining bugs post-9.4.6.0 are either filed by me or still need more help from the reporter | 19:46:12 |
headius | you have anything else you think I should look at for 9.4.7.0 | 19:46:23 |
headius | ? | 19:46:25 |
enebo | I don't think so | 19:52:50 |