Comments (4)
Hi,
Thanks for the feedback.
I got the same issue on my computer :(
It's a threading issue so I've added a lock on the data reader to avoid this.
Not very statisfied with this fix as lock is slow and "root path" command calls "CountReferers" a lot of time but it will fix the bug until I find a better solution.
from memoscope.net.
Note for me: during GUI refresh, some modules calls "CountReferers" while the RootPath command is running in another thread and calling the method too.
from memoscope.net.
This is a great project.
I was playing with tables with a sqllite browser.
CREATE INDEX IdxInstanceAddress ON Instances (Address)
CREATE INDEX IdxReferencesRefBy ON InstanceReferences (RefByAddress)
select * from (
WITH RECURSIVE
allreferences(address, level) AS (
values(435582892, 0)
union
SELECT refbyaddress, allreferences.level+1 FROM instancereferences, allreferences
WHERE instancereferences.instanceaddress=allreferences.address and allreferences.level < 5
)
SELECT* FROM allreferences ) r, instances ins , types t where r.address = ins.address and ins.typeid=t.id
But sqllite doesnt allow more complex queries and this doesnt go anywhere with this.
-should run without level
-exclude already included addresses
-differentiate if this is a leaf node
etc
I am gonna try a different approach for finding root path(s) with changing actual sources.
However not sure, how to show them in UI.
This is in my mind for now
-Create a new table CLRROOT (probably simply address column)
-Populate this table in the init stage
-Create RootPath table (not sure but; analyseaddress, level, leaf, address, refbyaddress etc)
Instead of beginning with clrroots, begin with just the address of given object, go for referers until a clrroot found.
This way it should be more faster and also all roothpaths can be found.
(our clrroot objects are like 2.3M)
from memoscope.net.
btw, i had a few other sqllite errors before, those looked like some concurrent usage atm.
(while rootcommand is running and as it takes too much time, I tried to do run some other)
I am taking a look at source code, I think each command should have its own con/trx.
If i am not mistaken they are using ClrDumpCache con/trx with could cause concurrency problems with sqllite
from memoscope.net.
Related Issues (20)
- Object must be a root directory ("C:\") or a drive letter ("C"). HOT 4
- Question: Viewing a breakdown of the types that allocated the instances of a certain type HOT 6
- ClrRoot: display static variable's name HOT 2
- NullRef when loading "Lone Targets" HOT 7
- Automatic deadlocks detection HOT 4
- Cannot dump memory on a vmware virtual machine? HOT 4
- [Feature Request] also display total size in string analysis HOT 2
- x32 image, dumped with x64 task manager loading error HOT 2
- just wanted to say thank you HOT 1
- Download links are broken HOT 2
- "Unable to find dac file" error when trying to load dump from another machine HOT 10
- an example to get DLL from dump HOT 7
- I guess there no Mono or Unity3d support? HOT 1
- Download links for binaries are not available anymore HOT 4
- Can you advise how to extract .dll files from dmp HOT 1
- NullReferenceException when trying to init strings module HOT 3
- [FeatureIdea] Export instance to Json... HOT 1
- Failed to init module - Exception: Specified cast is not valid. HOT 1
- Failed to initRuntime - Exception: Failure loading DAC: Create DAC instance failed
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 memoscope.net.