Skip to content

Undefined conversion error while running specs #2118

Closed
parndt opened this Issue Jan 6, 2013 · 5 comments

2 participants

@parndt
parndt commented Jan 6, 2013

Similar to #2030 but a new issue. See the failing CI job

Steps to reproduce should be in #2030 too. Please let me know if you need more information.

Note: I tried to reproduce this locally using the latest master but I'm getting https://gist.github.com/fff2af82c986d0c7a147 after running 46 specs successfully.

@parndt
parndt commented Jan 6, 2013
$ rbx --version
rubinius 2.0.0.rc1 (1.9.3 dcf1bd9a yyyy-mm-dd JI) [x86_64-apple-darwin12.2.1]
@dbussink dbussink added a commit that referenced this issue Jan 7, 2013
@dbussink dbussink Always enable finalizers for Data objects
Even when no finalizer is specified, but only a mark function is, we
have to make sure we register one. This is needed because the
finalization will cleanup C-API handles so they aren't kept alive
when the shouldn't.

This is especially a problem if during a young GC we have to update
marks for Data objects that are mature. It could be that the mature
object we're marking then has already been finalized, so we shouldn't
try to mark it again in that case.

This is ensured by this change because it will deallocate the handle, so
the code tracking all handles to mature objects to call the mark
function won't see the finalized object.

Fixes the crash mentioned in #2118
95435f9
@dbussink
Rubinius member
dbussink commented Jan 7, 2013

I ran all the specs from RefineryCMS and they pass here locally now. Closing this issue. If you still see an issue, please let us know!

@dbussink dbussink closed this Jan 7, 2013
@parndt
parndt commented Jan 7, 2013
@parndt
parndt commented Jan 7, 2013
$ rbx -v
rubinius 2.0.0.rc1 (1.9.3 37598b95 yyyy-mm-dd JI) [x86_64-apple-darwin12.2.1]

Now getting:

$ bundle exec rspec ./*/spec
-- create_table(:refinery_crud_dummies, {:force=>true})
   -> 0.0556s
Run options: include {:focus=>true}

All examples were filtered out; ignoring {:focus=>true}
.
---------------------------------------------
CRASH: A fatal error has occurred.

Backtrace:
0   ruby                                0x00000001019f3130 _ZN8rubiniusL12segv_handlerEi + 544
1   libsystem_c.dylib                   0x00007fff86d6d8ea _sigtramp + 26
2   ???                                 0x00007fa54bc68aa0 0x0 + 140347917634208
3   ruby                                0x0000000101b8265d _ZN8rubinius16GarbageCollector15walk_call_frameEPNS_9CallFrameEPNS_19AddressDisplacementE + 491
4   ruby                                0x0000000101ae5a10 _ZN8rubinius2VM7gc_scanEPNS_16GarbageCollectorE + 42
5   ruby                                0x0000000101b82413 _ZN8rubinius16GarbageCollector4scanEPNS_13ManagedThreadEb + 149
6   ruby                                0x0000000101b80561 _ZN8rubinius7BakerGC7collectERNS_6GCDataEPNS_17YoungCollectStatsE + 417
7   ruby                                0x0000000101aabc99 _ZN8rubinius12ObjectMemory13collect_youngERNS_6GCDataEPNS_17YoungCollectStatsE + 67
8   ruby                                0x0000000101aabfba _ZN8rubinius12ObjectMemory13collect_maybeEPNS_5StateERNS_11GCTokenImplEPNS_9CallFrameE + 420
9   ruby                                0x0000000101ae656a _ZN8rubinius2VM13collect_maybeERNS_11GCTokenImplEPNS_9CallFrameE + 52
10  ruby                                0x0000000101af1f6e _ZN8rubinius12_GLOBAL__N_115allocate_packedEPNS_5StateERNS_11GCTokenImplEPNS_5ClassEPNS_9CallFrameE + 302
11  ruby                                0x0000000101af20ed _ZN8rubinius5Class8allocateEPNS_5StateERNS_11GCTokenImplEPNS_9CallFrameE + 61
12  ruby                                0x0000000101a72d79 _ZN8rubinius10Primitives14class_allocateEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE + 341
13  ruby                                0x0000000101a012a6 _ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE + 8774
14  ruby                                0x0000000101a5a994 _ZN8rubinius11MachineCode19execute_specializedINS_11NoArgumentsEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE + 932
15  ruby                                0x0000000101a01182 _ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE + 8482
16  ruby                                0x0000000101a5a577 _ZN8rubinius11MachineCode19execute_specializedINS_16GenericArgumentsEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE + 951
17  ruby                                0x0000000101a012a6 _ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE + 8774
18  ruby                                0x0000000101a5a994 _ZN8rubinius11MachineCode19execute_specializedINS_11NoArgumentsEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE + 932
19  ruby                                0x0000000101a01182 _ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE + 8482
20  ruby                                0x0000000101a5a994 _ZN8rubinius11MachineCode19execute_specializedINS_11NoArgumentsEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE + 932
21  ruby                                0x0000000101a01182 _ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE + 8482
22  ruby                                0x0000000101a5a994 _ZN8rubinius11MachineCode19execute_specializedINS_11NoArgumentsEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE + 932
23  ruby                                0x0000000101a01182 _ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE + 8482
24  ruby                                0x0000000101aee14e _ZN8rubinius16BlockEnvironment19execute_interpreterEPNS_5StateEPNS_9CallFrameEPS0_RNS_9ArgumentsERNS_15BlockInvocationE + 1138
25  ruby                                0x0000000101aee2c0 _ZN8rubinius16BlockEnvironment6invokeEPNS_5StateEPNS_9CallFrameEPS0_RNS_9ArgumentsERNS_15BlockInvocationE + 260
26  ruby                                0x0000000101aee50c _ZN8rubinius16BlockEnvironment4callEPNS_5StateEPNS_9CallFrameERNS_9ArgumentsEi + 68
27  ruby                                0x0000000101a02368 _ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE + 13064
28  ruby                                0x0000000101a5a577 _ZN8rubinius11MachineCode19execute_specializedINS_16GenericArgumentsEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE + 951
29  ruby                                0x0000000101bc90ca rbx_splat_send_private + 234
30  ???                                 0x0000000104447327 0x0 + 4366562087
31  ruby                                0x0000000101a015ea _ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE + 9610
32  ruby                                0x0000000101a5adfd _ZN8rubinius11MachineCode19execute_specializedINS_17SplatOnlyArgumentEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE + 1005
33  ruby                                0x0000000101a013dc _ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE + 9084
34  ruby                                0x0000000101a5b664 _ZN8rubinius11MachineCode19execute_specializedINS_12TwoArgumentsEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE + 948
35  ruby                                0x0000000101a012a6 _ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE + 8774
36  ruby                                0x0000000101aee14e _ZN8rubinius16BlockEnvironment19execute_interpreterEPNS_5StateEPNS_9CallFrameEPS0_RNS_9ArgumentsERNS_15BlockInvocationE + 1138
37  ruby                                0x0000000101aee2c0 _ZN8rubinius16BlockEnvironment6invokeEPNS_5StateEPNS_9CallFrameEPS0_RNS_9ArgumentsERNS_15BlockInvocationE + 260
38  ruby                                0x0000000101aee50c _ZN8rubinius16BlockEnvironment4callEPNS_5StateEPNS_9CallFrameERNS_9ArgumentsEi + 68
39  ruby                                0x0000000101a02317 _ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE + 12983
40  ruby                                0x0000000101aee14e _ZN8rubinius16BlockEnvironment19execute_interpreterEPNS_5StateEPNS_9CallFrameEPS0_RNS_9ArgumentsERNS_15BlockInvocationE + 1138
41  ruby                                0x0000000101aee2c0 _ZN8rubinius16BlockEnvironment6invokeEPNS_5StateEPNS_9CallFrameEPS0_RNS_9ArgumentsERNS_15BlockInvocationE + 260
42  ruby                                0x0000000101aee50c _ZN8rubinius16BlockEnvironment4callEPNS_5StateEPNS_9CallFrameERNS_9ArgumentsEi + 68
43  ruby                                0x0000000101a02368 _ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE + 13064
44  ruby                                0x0000000101a5a577 _ZN8rubinius11MachineCode19execute_specializedINS_16GenericArgumentsEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE + 951
45  ruby                                0x0000000101a013dc _ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE + 9084
46  ruby                                0x0000000101a5a577 _ZN8rubinius11MachineCode19execute_specializedINS_16GenericArgumentsEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE + 951
47  ruby                                0x0000000101a015ea _ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE + 9610
48  ruby                                0x0000000101a5adfd _ZN8rubinius11MachineCode19execute_specializedINS_17SplatOnlyArgumentEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE + 1005
49  ruby                                0x0000000101a013dc _ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE + 9084
50  ruby                                0x0000000101a5a577 _ZN8rubinius11MachineCode19execute_specializedINS_16GenericArgumentsEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE + 951
51  ruby                                0x0000000101a013dc _ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE + 9084
52  ruby                                0x0000000101a5a577 _ZN8rubinius11MachineCode19execute_specializedINS_16GenericArgumentsEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE + 951
53  ruby                                0x0000000101b1a426 _ZN8rubinius6Object9send_primEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsEPNS_6SymbolE + 348
54  ruby                                0x0000000101b1a46a _ZN8rubinius6Object17private_send_primEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE + 28
55  ruby                                0x0000000101a8bc78 _ZN8rubinius10Primitives11object_sendEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE + 130
56  ruby                                0x0000000101a015ea _ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE + 9610
57  ruby                                0x0000000101a5adfd _ZN8rubinius11MachineCode19execute_specializedINS_17SplatOnlyArgumentEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE + 1005
58  ruby                                0x0000000101a012a6 _ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE + 8774
59  ruby                                0x0000000101aee14e _ZN8rubinius16BlockEnvironment19execute_interpreterEPNS_5StateEPNS_9CallFrameEPS0_RNS_9ArgumentsERNS_15BlockInvocationE + 1138
60  ruby                                0x0000000101aee2c0 _ZN8rubinius16BlockEnvironment6invokeEPNS_5StateEPNS_9CallFrameEPS0_RNS_9ArgumentsERNS_15BlockInvocationE + 260
61  ruby                                0x0000000101aee50c _ZN8rubinius16BlockEnvironment4callEPNS_5StateEPNS_9CallFrameERNS_9ArgumentsEi + 68
62  ruby                                0x0000000101bc6ee6 rbx_yield_stack + 134
63  ???                                 0x000000010444a844 0x0 + 4366575684
@dbussink dbussink added a commit that referenced this issue Jan 7, 2013
@dbussink dbussink Revert "Setup finalizer thread as an auxiliary thread"
This reverts commit f0a86ed.

Revert for now since it seems to cause problems (see last comment in
 #2118), so needs further investigation.
75537c1
@dbussink
Rubinius member
dbussink commented Jan 8, 2013

To confirm the question asked in #rubinius, I don't see any spec failures with refinerycms now:

../rubinius/bin/rbx -X19 -G -S rspec ./*/spec
-- create_table(:refinery_crud_dummies, {:force=>true})
   -> 0.0736s
Run options: include {:focus=>true}

All examples were filtered out; ignoring {:focus=>true}
..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Finished in 3 minutes 33.36 seconds
494 examples, 0 failures
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.