Skip to content

Fatal error when a decoupling results in a destructive collision #1553

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
eggrobin opened this issue Sep 8, 2017 · 7 comments
Closed

Fatal error when a decoupling results in a destructive collision #1553

eggrobin opened this issue Sep 8, 2017 · 7 comments
Labels
Milestone

Comments

@eggrobin
Copy link
Member

eggrobin commented Sep 8, 2017

Present in Чебышёв, see #1552.
I have a journal at 5bddb35.

@eggrobin
Copy link
Member Author

I0910 18:45:29.810271  5360 part.cpp:158] Removing part solidBooster (B9C0AB7F) from its pile up at 0000000001C9E120
I0910 18:45:29.815271  5360 part.cpp:158] Removing part stackDecouplerMini (105415E8) from its pile up at 0000000001C9E120
I0910 18:45:29.819272  5360 part.cpp:158] Removing part probeCoreSphere (Decoupling tester) (5EBF5586) from its pile up at 0000000001C9E2C0
I0910 18:45:29.822273  5360 part.cpp:158] Removing part rtg (41FC3ADA) from its pile up at 0000000001C9E2C0
I0910 18:45:29.826273  5360 part.cpp:42] Destroying part rtg (41FC3ADA)
I0910 18:45:29.830273  5360 part.cpp:139] Adding part stackDecouplerMini (105415E8) to the pile up at 0000000001C9E2C0
I0910 18:45:29.833273  5360 part.cpp:139] Adding part  (D2003ADA) to the pile up at 0000000001C9E2C0
I0910 18:45:29.836274  5360 part.cpp:139] Adding part solidBooster (B9C0AB7F) to the pile up at 0000000001C9E2C0
I0910 18:45:29.839274  5360 part.cpp:139] Adding part probeCoreSphere (Decoupling tester) (5EBF5586) to the pile up at 0000000001C9E120

F0910 18:45:29.967288 14400 pile_up.cpp:258] Check failed: parts_.size() == apparent_part_degrees_of_freedom_.size() (3 vs. 2)
parts_: stackDecouplerMini (105415E8), (388B95DB),solidBooster (B9C0AB7F)
apparent_part_degrees_of_freedom_: solidBooster (B9C0AB7F),stackDecouplerMini (105415E8)
this: 0000000001C9E2C0

The part whose name is the empty string (388B95DB) that somehow appears here does not have apparent degrees of freedom.

@eggrobin
Copy link
Member Author

The unnamed part changes ID between attempts at reproducing the bug even though (when reloading) the IDs of the other parts are kept, so this nameless part is somehow created here.

@pleroy pleroy added the bug label Sep 11, 2017
@eggrobin
Copy link
Member Author

The Part in question seems to never be constructed; replaying the journal in debug yields a different check failure. Probably some use-after-free somewhere?

I0911 18:52:31.903559  4376 part.cpp:160] Removing part solidBooster (B9C0AB7F) from its pile up at 00000000002ECBD0
I0911 18:52:31.906560  4376 part.cpp:160] Removing part stackDecouplerMini (105415E8) from its pile up at 00000000002ECBD0
I0911 18:52:31.908560  4376 part.cpp:160] Removing part probeCoreSphere (Decoupling tester) (5EBF5586) from its pile up at 00000000002ECE10
I0911 18:52:31.911561  4376 part.cpp:160] Removing part rtg (41FC3ADA) from its pile up at 00000000002ECE10
I0911 18:52:31.914561  4376 part.cpp:43] Destroying part rtg (41FC3ADA)
I0911 18:52:31.917562  4376 part.cpp:141] Adding part stackDecouplerMini (105415E8) to the pile up at 00000000002ECE10
F0911 18:52:31.920562  4376 part.cpp:140] Check failed: !is_piled_up()

@eggrobin
Copy link
Member Author

Note the shared bytes between 41FC3ADA (the destroyed RTG) and D2003ADA (the mysterious part).
Similarly, 77F82CC2 vs. D2022CC2 in the logs in #1552.

Sorry, something went wrong.

@eggrobin
Copy link
Member Author

More traces, failing earlier:

I0912 00:23:35.765283   392 part.cpp:158] Removing part solidBooster (B9C0AB7F) from its pile up at 000000000032CBD0
I0912 00:23:35.767283   392 part.cpp:158] Removing part stackDecouplerMini (105415E8) from its pile up at 000000000032CBD0
E0912 00:23:35.768283   392 pile_up.cpp:255] Destroying pile up at 000000000032CBD0
I0912 00:23:35.769284   392 part.cpp:158] Removing part probeCoreSphere (Decoupling tester) (5EBF5586) from its pile up at 000000000032CE10
I0912 00:23:35.771284   392 part.cpp:158] Removing part rtg (41FC3ADA) from its pile up at 000000000032CE10
E0912 00:23:35.773284   392 pile_up.cpp:255] Destroying pile up at 000000000032CE10
E0912 00:23:35.774284   392 part_subsets.cpp:92] <<< MERGING
E0912 00:23:35.776284   392 part_subsets.cpp:94] stackDecouplerMini (105415E8)
E0912 00:23:35.778285   392 part_subsets.cpp:96] === WITH
E0912 00:23:35.779284   392 part_subsets.cpp:98] rtg (41FC3ADA)
E0912 00:23:35.781286   392 part_subsets.cpp:100] >>>
I0912 00:23:35.783285   392 part.cpp:42] Destroying part rtg (41FC3ADA)
E0912 00:23:35.785285   392 part_subsets.cpp:92] <<< MERGING
E0912 00:23:35.786285   392 part_subsets.cpp:94] stackDecouplerMini (105415E8)
unknown file: error: C++ exception with description "bad allocation" thrown in the test body.

Sorry, something went wrong.

@eggrobin
Copy link
Member Author

Note that we are merging the stack decoupler with the RTG, then destroying the RTG (before constructing the pile ups), which seems erroneous.

Sorry, something went wrong.

@eggrobin
Copy link
Member Author

The issue seems to be that we are reporting a collision with a part that has ceased to exist:

I0912 01:13:28.013182  8852 plugin.cpp:463] Collision between stackDecouplerMini (105415E8) and rtg (41FC3ADA)
I0912 01:13:28.015182  8852 part.cpp:158] Removing part solidBooster (B9C0AB7F) from its pile up at 000000000041CBD0
I0912 01:13:28.022182  8852 part.cpp:158] Removing part stackDecouplerMini (105415E8) from its pile up at 000000000041CBD0
E0912 01:13:28.024183  8852 pile_up.cpp:255] Destroying pile up at 000000000041CBD0
I0912 01:13:28.026183  8852 part.cpp:158] Removing part probeCoreSphere (Decoupling tester) (5EBF5586) from its pile up at 000000000041CE10
I0912 01:13:28.028183  8852 part.cpp:158] Removing part rtg (41FC3ADA) from its pile up at 000000000041CE10
E0912 01:13:28.030184  8852 pile_up.cpp:255] Destroying pile up at 000000000041CE10
E0912 01:13:28.033185  8852 part_subsets.cpp:92] <<< MERGING
E0912 01:13:28.035184  8852 part_subsets.cpp:94] stackDecouplerMini (105415E8)
E0912 01:13:28.037184  8852 part_subsets.cpp:96] === WITH
E0912 01:13:28.039185  8852 part_subsets.cpp:98] rtg (41FC3ADA)
E0912 01:13:28.041184  8852 part_subsets.cpp:100] >>>
I0912 01:13:28.043185  8852 part.cpp:42] Destroying part rtg (41FC3ADA)
E0912 01:13:28.045186  8852 part_subsets.cpp:92] <<< MERGING
E0912 01:13:28.047185  8852 part_subsets.cpp:94] stackDecouplerMini (105415E8)
unknown file: error: C++ exception with description "bad allocation" thrown in the test body.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants