Closed Guitlle closed 9 years ago
I debugged it a bit and the problem is in the JSON deserializer. I found one bug where it mistakenly puts an object into m_queues
in msgpack_from_json_handler::Int()/Int64(), and then another one from Uint64() to which it redirects. That's one too many, so I fixed that bug locally. However, it doesn't seem to change anything for this particular use case apparently.
m_queues
has 5 objects in the queue when it gets back to the last EndObject(), and I presume there should be less (like 2 or so). Looking through the code, I don't really see where the extra objects would come from. So I guess it's more debugging. Not sure if I'll do this tonight still.
@efidler helped out with some more debugging and we found that the issue is with m_queued
being resized and m_containers
still containing a pointer to an old m_queued
item (before it was moved to a bigger array). I'm working on a patch.
Thanks for the awesome test case, by the way. It's really helpful :)
I'm running bonefish in a docker container. When I try this simple javascript, I get this on bonefish:
After I close the browser tab it says this:
The dockerfile is here, so hopefully it is easily reproducible: https://gist.github.com/DuGuille/1eca9a127ca281aa0ea9