Skip to content

Conversation

@aykevl
Copy link
Member

@aykevl aykevl commented Aug 10, 2019

Linked lists are usually implemented as follows:

type linkedList struct {
    next *linkedList
    data int // whatever
}

This caused a stack overflow while writing out the reflect run-time type
information. This has now been fixed by splitting the allocation of a
named type number from setting the underlying type in the sidetable.


Oh man, this bug took so long to fix! I somehow just couldn't grasp the problem well enough, causing me to work on it for a whole day...
This should fix the remaining issue in #466 that causes the build to fail there. (That doesn't mean that PR is mergeable, but should get CI green at least).

aykevl added 2 commits August 10, 2019 21:44
Linked lists are usually implemented as follows:

    type linkedList struct {
        next *linkedList
        data int // whatever
    }

This caused a stack overflow while writing out the reflect run-time type
information. This has now been fixed by splitting the allocation of a
named type number from setting the underlying type in the sidetable.
@deadprogram
Copy link
Member

Wow, this is one intense bugfix.

Merging.

@deadprogram deadprogram merged commit ea8e407 into dev Aug 11, 2019
@deadprogram deadprogram deleted the reflect-fix-linked-list branch August 11, 2019 13:00
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.

3 participants