You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I bisected an issue down to Rust 1.78.0 (works well with 1.77.0) with Rutie 0.8.4 and 0.9.0, on Ruby 2.5.9. No data type can be converted anymore, at least on method arguments. Here comes an example:
// Call via: pp EntityReference.new('test')methods!(EntityReference,
itself,fn new(args:RString) -> AnyObject{
println!("{:?}", args);
println!("{:?}", args.unwrap().ty());return ruby::nil();})// Err(#<TypeError: Error converting to String>)// thread '<unnamed>' panicked at src/ruby/entity_reference.rs:83:31:// called `Result::unwrap()` on an `Err` value: #<TypeError: Error converting to String>
Stack trace
0: 0x7ffbbf5b40d7 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hffecb437d922f988
1: 0x7ffbbf57792c - core::fmt::write::hd9a8d7d029f9ea1a
2: 0x7ffbbf5b9114 - std::sys_common::backtrace::print::he907f6ad7eee41cb
3: 0x7ffbbf5b8e1b - std::panicking::default_hook::{{closure}}::h3926193b61c9ca9b
4: 0x7ffbbf5b9810 - std::panicking::rust_panic_with_hook::h0ad14d90dcf5224f
5: 0x7ffbbf5b9380 - std::panicking::begin_panic_handler::{{closure}}::h4a1838a06f542647
6: 0x7ffbbf5b92d6 - std::sys_common::backtrace::__rust_end_short_backtrace::h77cc4dc3567ca904
7: 0x7ffbbf5b92c3 - rust_begin_unwind
8: 0x7ffbbf56e224 - core::panicking::panic_fmt::h940d4fd01a4b4fd1
9: 0x7ffbbf56e5a2 - core::result::unwrap_failed::h5119205a73b72b0d
10: 0x7ffbbf5728f0 - restless::ruby::entity_reference::new::hafb7461ff4177bf2
11: 0x7ffbc040a199 - vm_call_cfunc_with_frame
at /usr/src/ruby/vm_insnhelper.c:1918:12
12: 0x7ffbc040a199 - vm_call_cfunc
at /usr/src/ruby/vm_insnhelper.c:1934:12
13: 0x7ffbc041be8c - vm_call_method_each_type
at /usr/src/ruby/vm_insnhelper.c:2232:9
14: 0x7ffbc041c50b - vm_call_method_each_type
at /usr/src/ruby/vm_insnhelper.c:2380:16
15: 0x7ffbc041c50b - vm_call_method
at /usr/src/ruby/vm_insnhelper.c:2384:14
16: 0x7ffbc041c50b - vm_call_method
at /usr/src/ruby/vm_insnhelper.c:2351:1
17: 0x7ffbc0414eee - vm_exec_core
at /usr/src/ruby/insns.def:915:5
18: 0x7ffbc0419fdd - vm_exec
at /usr/src/ruby/vm.c:1778:11
19: 0x7ffbc041abab - invoke_block
at /usr/src/ruby/vm.c:979:12
20: 0x7ffbc041abab - invoke_iseq_block_from_c
at /usr/src/ruby/vm.c:1031:9
21: 0x7ffbc041af11 - vm_yield_with_cref
at /usr/src/ruby/vm.c:1086:12
22: 0x7ffbc041af11 - yield_under
at /usr/src/ruby/vm_eval.c:1587:12
23: 0x7ffbc040a199 - vm_call_cfunc_with_frame
at /usr/src/ruby/vm_insnhelper.c:1918:12
24: 0x7ffbc040a199 - vm_call_cfunc
at /usr/src/ruby/vm_insnhelper.c:1934:12
25: 0x7ffbc041be8c - vm_call_method_each_type
at /usr/src/ruby/vm_insnhelper.c:2232:9
26: 0x7ffbc041c50b - vm_call_method_each_type
at /usr/src/ruby/vm_insnhelper.c:2380:16
27: 0x7ffbc041c50b - vm_call_method
at /usr/src/ruby/vm_insnhelper.c:2384:14
28: 0x7ffbc041c50b - vm_call_method
at /usr/src/ruby/vm_insnhelper.c:2351:1
29: 0x7ffbc0415963 - vm_exec_core
at /usr/src/ruby/insns.def:850:5
30: 0x7ffbc0419fdd - vm_exec
at /usr/src/ruby/vm.c:1778:11
31: 0x7ffbc04204c5 - invoke_block
at /usr/src/ruby/vm.c:979:12
32: 0x7ffbc04204c5 - invoke_iseq_block_from_c
at /usr/src/ruby/vm.c:1031:9
33: 0x7ffbc04204c5 - invoke_block_from_c_bh
at /usr/src/ruby/vm.c:1049:13
34: 0x7ffbc04204c5 - vm_yield_force_blockarg
at /usr/src/ruby/vm.c:1110:12
35: 0x7ffbc04204c5 - rb_yield_force_blockarg
at /usr/src/ruby/vm_eval.c:1035:12
36: 0x7ffbc0240fac - rb_ary_collect
at /usr/src/ruby/array.c:2758:2
37: 0x7ffbc040a199 - vm_call_cfunc_with_frame
at /usr/src/ruby/vm_insnhelper.c:1918:12
38: 0x7ffbc040a199 - vm_call_cfunc
at /usr/src/ruby/vm_insnhelper.c:1934:12
39: 0x7ffbc0415963 - vm_exec_core
at /usr/src/ruby/insns.def:850:5
40: 0x7ffbc0419fdd - vm_exec
at /usr/src/ruby/vm.c:1778:11
41: 0x7ffbc04204c5 - invoke_block
at /usr/src/ruby/vm.c:979:12
42: 0x7ffbc04204c5 - invoke_iseq_block_from_c
at /usr/src/ruby/vm.c:1031:9
43: 0x7ffbc04204c5 - invoke_block_from_c_bh
at /usr/src/ruby/vm.c:1049:13
44: 0x7ffbc04204c5 - vm_yield_force_blockarg
at /usr/src/ruby/vm.c:1110:12
45: 0x7ffbc04204c5 - rb_yield_force_blockarg
at /usr/src/ruby/vm_eval.c:1035:12
46: 0x7ffbc0240fac - rb_ary_collect
at /usr/src/ruby/array.c:2758:2
47: 0x7ffbc040a199 - vm_call_cfunc_with_frame
at /usr/src/ruby/vm_insnhelper.c:1918:12
48: 0x7ffbc040a199 - vm_call_cfunc
at /usr/src/ruby/vm_insnhelper.c:1934:12
49: 0x7ffbc0415963 - vm_exec_core
at /usr/src/ruby/insns.def:850:5
50: 0x7ffbc0419fdd - vm_exec
at /usr/src/ruby/vm.c:1778:11
51: 0x7ffbc04204c5 - invoke_block
at /usr/src/ruby/vm.c:979:12
52: 0x7ffbc04204c5 - invoke_iseq_block_from_c
at /usr/src/ruby/vm.c:1031:9
53: 0x7ffbc04204c5 - invoke_block_from_c_bh
at /usr/src/ruby/vm.c:1049:13
54: 0x7ffbc04204c5 - vm_yield_force_blockarg
at /usr/src/ruby/vm.c:1110:12
55: 0x7ffbc04204c5 - rb_yield_force_blockarg
at /usr/src/ruby/vm_eval.c:1035:12
56: 0x7ffbc0240fac - rb_ary_collect
at /usr/src/ruby/array.c:2758:2
57: 0x7ffbc040a199 - vm_call_cfunc_with_frame
at /usr/src/ruby/vm_insnhelper.c:1918:12
58: 0x7ffbc040a199 - vm_call_cfunc
at /usr/src/ruby/vm_insnhelper.c:1934:12
59: 0x7ffbc041be8c - vm_call_method_each_type
at /usr/src/ruby/vm_insnhelper.c:2232:9
60: 0x7ffbc041c50b - vm_call_method_each_type
at /usr/src/ruby/vm_insnhelper.c:2380:16
61: 0x7ffbc041c50b - vm_call_method
at /usr/src/ruby/vm_insnhelper.c:2384:14
62: 0x7ffbc041c50b - vm_call_method
at /usr/src/ruby/vm_insnhelper.c:2351:1
63: 0x7ffbc0415963 - vm_exec_core
at /usr/src/ruby/insns.def:850:5
64: 0x7ffbc0419fdd - vm_exec
at /usr/src/ruby/vm.c:1778:11
65: 0x7ffbc04204c5 - invoke_block
at /usr/src/ruby/vm.c:979:12
66: 0x7ffbc04204c5 - invoke_iseq_block_from_c
at /usr/src/ruby/vm.c:1031:9
67: 0x7ffbc04204c5 - invoke_block_from_c_bh
at /usr/src/ruby/vm.c:1049:13
68: 0x7ffbc04204c5 - vm_yield_force_blockarg
at /usr/src/ruby/vm.c:1110:12
69: 0x7ffbc04204c5 - rb_yield_force_blockarg
at /usr/src/ruby/vm_eval.c:1035:12
70: 0x7ffbc0240fac - rb_ary_collect
at /usr/src/ruby/array.c:2758:2
71: 0x7ffbc040a199 - vm_call_cfunc_with_frame
at /usr/src/ruby/vm_insnhelper.c:1918:12
72: 0x7ffbc040a199 - vm_call_cfunc
at /usr/src/ruby/vm_insnhelper.c:1934:12
73: 0x7ffbc041be8c - vm_call_method_each_type
at /usr/src/ruby/vm_insnhelper.c:2232:9
74: 0x7ffbc041c50b - vm_call_method_each_type
at /usr/src/ruby/vm_insnhelper.c:2380:16
75: 0x7ffbc041c50b - vm_call_method
at /usr/src/ruby/vm_insnhelper.c:2384:14
76: 0x7ffbc041c50b - vm_call_method
at /usr/src/ruby/vm_insnhelper.c:2351:1
77: 0x7ffbc0415963 - vm_exec_core
at /usr/src/ruby/insns.def:850:5
78: 0x7ffbc0419fdd - vm_exec
at /usr/src/ruby/vm.c:1778:11
79: 0x7ffbc02b7ed4 - ruby_exec_internal
at /usr/src/ruby/eval.c:247:2
80: 0x7ffbc02b9d4d - ruby_exec_node
at /usr/src/ruby/eval.c:311:12
81: 0x7ffbc02bc7be - ruby_run_node
at /usr/src/ruby/eval.c:303:12
82: 0x6206de64b0eb - main
at /usr/src/ruby/./main.c:42:9
83: 0x7ffbbfdfd09b - __libc_start_main
84: 0x6206de64b11a - _start
85: 0x0 - <unknown>
---
Using the AnyObject as input data type, I can call the method, but I'm unable to convert it to a RString. See:
I'm unsure why this happens, as this works well since quite long time. I tested it down to Rust 1.75.0 which works as expected. I've tested the following combinations:
Rust
Ruby
Works
1.77.0
2.5.9p229
✔️
1.77.0
2.7.8p225
✔️
1.77.0
3.0.7p220
✔️
1.78.0
2.5.9p229
❌
1.78.0
2.7.8p225
❌
1.78.0
3.0.7p220
❌
So it looks like it's at the Rust side of things. Does anybody have an idea?
The text was updated successfully, but these errors were encountered:
Hey there,
I bisected an issue down to Rust 1.78.0 (works well with 1.77.0) with Rutie 0.8.4 and 0.9.0, on Ruby 2.5.9. No data type can be converted anymore, at least on method arguments. Here comes an example:
Stack trace
Using the
AnyObject
as input data type, I can call the method, but I'm unable to convert it to aRString
. See:I'm unsure why this happens, as this works well since quite long time. I tested it down to Rust 1.75.0 which works as expected. I've tested the following combinations:
So it looks like it's at the Rust side of things. Does anybody have an idea?
The text was updated successfully, but these errors were encountered: