-
Notifications
You must be signed in to change notification settings - Fork 803
Multiple Inheritance + Polymorphism Seg Fault #188
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
Comments
I have this same bug on my system, is there any workaround? |
No solution yet, I haven't had the time to look into it. Potentially related issue discussed on the mailing list here: https://groups.google.com/forum/#!topic/cerealcpp/ifoi4a36C5k |
@bbouzan on my project where I hit this I simply removed multiple inheritance. (In my case it was simply a output class that I could do that without any trouble.) That isn't really a solution though... But the key here is the internal code is casting a class to a void* then back to another of the types. |
Hello, |
All progress is on a mini-hiatus until December, when I'll have time to tackle the various issues. I can't estimate how long fixing this one individual bug will take, but that's the point when I'd start trying to fix it. If this timeframe won't work for you, take a look at our boost transition page. It may be possible for you to easily switch to cereal once the issue is resolved as we support an identical syntax to that found in boost serialization. |
Thanks for the information, we'll wait for December |
Small update on this: I've investigated the problem and know what is causing it though I haven't come up with a solution yet. David Bond correctly identified the source of the issue on the mailing list, we're ending up at an incorrect address do a void * cast. |
So we'll basically have to implement something very much like boost's |
I have this fixed locally, finishing up documentation and cleanup and will push it through soon. This will involve a breaking change for certain polymorphic serialization situations. |
thanks for updating! |
Needs to be done in load direction + unit tests + attribution + cleanup
Added support for up and downcasting for polymorphism, see issue #188 Still needs final documentation + cleanup
Also some changes to make sandbox things work with the new casting Made it so base_class doesn't need to know about polymorphism to work All relates to #188
-removed some debug messages -spruced up some documentation -modified main.cpp for MSVC tests to properly compile given previously made changes in common.hpp relates issue #188
resolves #188 still need to update website doc
See discussion on mailing list and related issue #187.
Minimal example provided by David Bond:
The text was updated successfully, but these errors were encountered: