Comments (6)
Hi, without a reproducable example it's impossible to say what's going on.
from aqlaserializer.
The setup is complicated and involves many core business objects in our system. So I don't know how to create a reproducible example for you to take a look. However, I can debug into Aqla, are there some classes or methods I should watch closely in order to trouble shoot this issue?
from aqlaserializer.
In deserialization, does Aqla follow the object reference chain? For example, if class A has a field "b" which reference class B, would Aqla deserialize B before finish up deserializing A?
from aqlaserializer.
I noticed that there are two kinds of call stacks in deserialization:
AqlaSerializer.Serializers.CompiledSerializer.AqlaSerializer.Serializers.IProtoSerializer.Read Line 74
AqlaSerializer.Meta.RuntimeTypeModel.Deserialize Line 1080
AqlaSerializer.ProtoReader.ReadTypedObject Line 787
AqlaSerializer.ProtoReader.ReadObject Line 773
and
AqlaSerializer.NetObjectCache.GetKeyedObject Line 46
AqlaSerializer.NetObjectHelpers.ReadNetObject_End Line 37
The second one is the failed one. Does this indicate something abnormal?
from aqlaserializer.
The setup is complicated and involves many core business objects in our system. So I don't know how to create a reproducible example for you to take a look.
Try removing fields one by one until you find which one causes this. Then you can make a reproducable example to post here.
This exception tells that there is an attempt to retrieve object reference which was not constructed yet. It's impossible to say anything more from the compiled stacktrace. At least you should try disabling RuntimeTypeModel.AutoCompile
.
I would put a few breakpoints inside NetObjectHelpers methods to understand what's going on. You can also make use of RuntimeTypeModel.GetDebugSchema
method to understand the structure of serializers.
In deserialization, does Aqla follow the object reference chain? For example, if class A has a field "b" which reference class B, would Aqla deserialize B before finish up deserializing A?
Usually yes but there is an index of all keyed objects at the start of stream unless you use some switches of ProtoCompatibility
.
from aqlaserializer.
I figured this out, it's a problem on our side. Thanks a lot for the help!
from aqlaserializer.
Related Issues (20)
- RuntimeTypeModel.Default.CompileInPlace is too slow HOT 5
- Non-public member cannot be used with full dll compilation HOT 12
- AqlaSerializer.ProtoException: Trap count > 1, will be mismatched with next NoteObject HOT 15
- Dynamic type is not a contract-type
- Un-defined enum values HOT 1
- Unexpected sub-type HOT 4
- How to setup Aqla for complicated object relationships HOT 4
- Wrong group was ended
- Recursion depth exceeded safe limit HOT 2
- "Unable to determine member" when running obfuscated code HOT 1
- A deferred key does not have a value yet (NoteObject call missed?) HOT 10
- How to unregister or re-register a type? HOT 6
- Can you please publish the latest code?
- Failed to clone a dictionary with enum value
- Unable to Serialize a string object dictionary containing a string array as object
- Is Aqla's metadata inspection thread-safe? HOT 2
- Is there a way to re-compile the runtime type model as a dll? HOT 2
- Can we reformat the source code? HOT 1
- Reference tracking error message only for release build but not for debug build
- When a SortedDictionary is serialized, does Aqla keep the "Comparer" of it? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aqlaserializer.