Skip to content
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

SocketPool: Initially allocate these as long-lived objects #5235

Closed
wants to merge 1 commit into from

Conversation

jepler
Copy link
Member

@jepler jepler commented Aug 26, 2021

I cannot give a satisfactory account of why, but the crash in #5021 goes away when this object is initially allocated in the long-lived portion of the heap.

Closes: #5021

I cannot give a satisfactory account of _why_, but the crash in adafruit#5021
goes away when this object is initially allocated in the long-lived
portion of the heap.

Closes: adafruit#5021
@jepler jepler requested a review from tannewt August 26, 2021 14:57
@@ -47,7 +47,7 @@
STATIC mp_obj_t socketpool_socketpool_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *args, mp_map_t *kw_args) {
mp_arg_check_num(n_args, kw_args, 1, 1, false);

socketpool_socketpool_obj_t *s = m_new_obj_with_finaliser(socketpool_socketpool_obj_t);
socketpool_socketpool_obj_t *s = m_new_ll_obj_with_finaliser(socketpool_socketpool_obj_t);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see a finaliser for it. Maybe that is the issue?

I'd like to understand our fix before we merge something. This feels similar to my "allocate less long lived and the problem goes away."

@jepler
Copy link
Member Author

jepler commented Aug 26, 2021

Now it makes sense WHY this change could affect anything (the socketpool was the long-lived object at block 1 of the GC heap) but this is not the right fix. we all knew that.

@jepler jepler closed this Aug 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

MagTag Vaccination tracker crash in magtag.network.connect() between 7alpha3 and 7alpha4
2 participants