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

Java8 lambda expression in PriorityQueue cannot be serialized #421

Open
Jiayi-Liao opened this issue Apr 22, 2020 · 4 comments
Open

Java8 lambda expression in PriorityQueue cannot be serialized #421

Jiayi-Liao opened this issue Apr 22, 2020 · 4 comments

Comments

@Jiayi-Liao
Copy link

When I'm using PriorityQueueSerializer from chill-java package, I got NPE when serializing PriorityQueue instance like this:

PriorityQueue<String> pq = new PriorityQueue<>((o1, o2) -> o1.length() - o2.length() - 1);
pq.add("1234135");
pq.add("12323424135");
java.lang.NullPointerException
	at com.esotericsoftware.kryo.util.DefaultClassResolver.writeClass(DefaultClassResolver.java:80)
	at com.esotericsoftware.kryo.Kryo.writeClass(Kryo.java:488)
	at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:593)

Perhaps it's because the lambda expression is not serializable. But the strange thing is that when I removed the registration of PriorityQueueSerializer from kryo's registrations, the serialization works.

Is this expected?

@johnynek
Copy link
Collaborator

thanks for the bug report. This isn't expected. So, this is a bug. Would you be willing to open a PR with a test that shows the bug?

@johnynek
Copy link
Collaborator

@johnynek
Copy link
Collaborator

@Jiayi-Liao
Copy link
Author

@johnynek Hi, I've created a PR to reproduce the problem (not a NPE but the same strange phenomenon). Could you take a look ?

By the way I notice that this project is still using java 1.6, does it mean that the project doesn't support java 1.8 and also dosen't take the java 1.8 lambda expression into consideration?

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

2 participants