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

Jdk8Serializer.findReferenceSerializer() leads to StackOverflowError in 2.8.9 #33

Closed
gmokki opened this issue Jun 20, 2017 · 3 comments
Closed
Milestone

Comments

@gmokki
Copy link

gmokki commented Jun 20, 2017

The commit 4d71c27 made the Jdk8Serializer.findReferenceSerializer method to go into infinite recursion if the matched reference type is not found.

Before the commit the method returned null, I think the author intended to call super.findReferenceSerializer at the end like the code does in the findSerializer method.

Currently 2.8.9 release is unusable for code that registers Jdk8Module

@cowtowncoder
Copy link
Member

cowtowncoder commented Jun 20, 2017

Oh shoot. Yes, that's... not good. And yes, author may have planned to do super.findXxx() (which would be no-op). Too bad I didn't notice this on reviewing the patch.

Failing test could perhaps try serializing AtomicReference, the only reference type that jackson-databind provides.

Do you know if this might also be the case for 2.9.0.pr4?

@cowtowncoder cowtowncoder removed the 2.9 label Jun 21, 2017
@cowtowncoder cowtowncoder added this to the 2.8.10 milestone Jun 21, 2017
@cowtowncoder cowtowncoder changed the title Jdk8Serializer findReferenceSerializer has infinite recursion in 2.8.9 Jdk8Serializer.findReferenceSerializer() leads to StackOverflowError in 2.8.9 Jun 21, 2017
@joschi
Copy link

joschi commented Aug 2, 2017

@cowtowncoder Any chance to get this fix in a Jackson 2.8.x bugfix release?

@cowtowncoder
Copy link
Member

@joschi It will be, once 2.8.10 is released:

https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.8.10

but I'll have to figure out when to take time to cut this release, most likely the final full 2.8 release now that 2.9.0 is out.

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

No branches or pull requests

3 participants