Static resource instances in memory


i've been learning how use windbg , noticed appears strange behavior in application.

as example, running !dumpheap -stat noticed following:

0868fb84 918 11016 ui.silverlight.converters.accountaddresstostringconverter

indicating have 918 instances of accountaddresstostringconverter in memory. in reality i'm implementing once static resource in resource dictionary this:

<ftconverters:accountaddresstostringconverter x:key="accountaddresstostringconverter" />

i'm not referencing static resource anywhere in code.  perhaps don't have complete understanding of how static resources work seems me there should 1 instance of accountaddresstostringconverter in memory.

further investigation shows of 18 converters i'm declaring static resources in same resource dictionary of them have 918 instances in memory.

as said i'm new windbg don't know go here continue troubleshooting issue.  i'm including output of !gcroot 1 of 918 instances in case helps.  any community appreciated.

note: roots found on stacks may false positives. run "!help gcroot" for
more info.
scan thread 5 osthread 1380
scan thread 22 osthread c58
scan thread 23 osthread 1f0c
domain(074c1a90):handle(pinned):54412f4:root: 0a666260(system.object[])->
09dd1c4c(microsoft.practices.servicelocation.servicelocatorprovider)->
09dcf784(ui.silverlight.app+<>c__displayclass1)->
09dcf790(cuttingedge.servicelocation.simpleservicelocator)->
09dcf820(system.collections.generic.dictionary`2[[system.type, mscorlib],[system.func`1[[system.object, mscorlib]], system.core]])->
09dd18ec(system.collections.generic.dictionary`2+entry[[system.type, mscorlib],[system.func`1[[system.object, mscorlib]], system.core]][])->
09dd1580(system.func`1[[system.object, mscorlib]])->
09dd155c(cuttingedge.servicelocation.simpleservicelocator+<>c__displayclass1`1[[ui.silverlight.utilities.isessionmanager, ui.silverlight]])->
09dcf8c0(ui.silverlight.utilities.sessionmanager)->
09f384d0(system.eventhandler)->
09de12d8(ui.silverlight.viewmodels.mainviewmodel)->
09ed8784(system.eventhandler)->
09f384f0(ui.silverlight.views.mainview)->
09e0b438(ui.silverlight.controls.notificationsystemcontrol)->
09e9977c(system.windows.controls.listbox)->
09e99850(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09e9989c(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09e998d8(system.collections.generic.dictionary`2[[system.uint32, mscorlib],[system.windows.dependencyobject, system.windows]])->
09e9a374(system.collections.generic.dictionary`2+entry[[system.uint32, mscorlib],[system.windows.dependencyobject, system.windows]][])->
09e126b4(system.windows.datatemplate)->
09e12708(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09e12754(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09e12790(system.collections.generic.dictionary`2[[system.uint32, mscorlib],[system.windows.dependencyobject, system.windows]])->
09e127dc(system.collections.generic.dictionary`2+entry[[system.uint32, mscorlib],[system.windows.dependencyobject, system.windows]][])->
09e125cc(ms.internal.templatecontent)->
09e1261c(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09e12668(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09e124ec(system.windows.resourcedictionary)->
09e12544(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09e12590(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
0968ba08(system.windows.style)->
0968ba58(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
0968baa4(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
0968b9a4(system.windows.setterbasecollection)->
0968bae0(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
0968bb2c(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
0968b834(system.windows.setter)->
0968b884(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
0968b8d0(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
0968b90c(system.collections.generic.dictionary`2[[system.uint32, mscorlib],[system.windows.dependencyobject, system.windows]])->
0968b958(system.collections.generic.dictionary`2+entry[[system.uint32, mscorlib],[system.windows.dependencyobject, system.windows]][])->
0968b7e0(system.windows.controls.controltemplate)->
09689d70(system.windows.resourcedictionary)->
0968bb88(ms.internal.resourcedictionarycollection)->
0968bbec(system.windows.resourcedictionary)->
096827c0(ms.internal.resourcedictionarycollection)->
09682824(system.windows.resourcedictionary)->
0969dfb8(ms.internal.resourcedictionarycollection)->
0969e0fc(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
0969e148(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
096a37f0(system.windows.resourcedictionary)->
096a3848(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
096a3894(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
096a378c(ms.internal.resourcedictionarycollection)->
096a38d0(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dcf24c(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09b70194(system.windows.resourcedictionary)->
09b701ec(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09b70238(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09b70130(ms.internal.resourcedictionarycollection)->
09b70274(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09b702c0(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dced50(system.windows.resourcedictionary)->
09dceda8(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dcedf4(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dcecec(ms.internal.resourcedictionarycollection)->
09dcee30(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dcee7c(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09b71a0c(system.windows.resourcedictionary)->
09b71a64(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09b71ab0(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09b719a8(ms.internal.resourcedictionarycollection)->
09b71aec(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09b71b38(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09b877dc(system.windows.resourcedictionary)->
09b87834(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09b87880(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09b87778(ms.internal.resourcedictionarycollection)->
09b878bc(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09d63a60(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dce890(system.windows.resourcedictionary)->
09dce8e8(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dce934(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dce82c(ms.internal.resourcedictionarycollection)->
09dce970(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dce9bc(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dc4764(system.windows.resourcedictionary)->
09dc47bc(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dc4808(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dc4700(ms.internal.resourcedictionarycollection)->
09dc4844(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dc4890(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dc6a44(system.windows.resourcedictionary)->
09dc6a9c(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dc6ae8(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dc69e0(ms.internal.resourcedictionarycollection)->
09dc6b24(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dcc9bc(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dce2ec(system.windows.resourcedictionary)->
09dce344(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dce390(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dce288(ms.internal.resourcedictionarycollection)->
09dce3cc(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dce418(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dce068(system.windows.resourcedictionary)->
09dce0c0(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dce10c(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dce004(ms.internal.resourcedictionarycollection)->
09dce148(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dce194(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dccb58(system.windows.resourcedictionary)->
09dccc24(system.collections.generic.dictionary`2[[system.string, mscorlib],[system.object, mscorlib]])->
09dcdcec(system.collections.generic.dictionary`2+entry[[system.string, mscorlib],[system.object, mscorlib]][])->
09dcdf48(ui.silverlight.converters.accountaddresstostringconverter)
domain(074c1a90):handle(pinned):54412f8:root: 0a664260(system.object[])->
09f384f0(ui.silverlight.views.mainview)->
09e0b438(ui.silverlight.controls.notificationsystemcontrol)->
09e9977c(system.windows.controls.listbox)->
09e99850(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09e9989c(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09e998d8(system.collections.generic.dictionary`2[[system.uint32, mscorlib],[system.windows.dependencyobject, system.windows]])->
09e9a374(system.collections.generic.dictionary`2+entry[[system.uint32, mscorlib],[system.windows.dependencyobject, system.windows]][])->
09e126b4(system.windows.datatemplate)->
09e12708(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09e12754(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09e12790(system.collections.generic.dictionary`2[[system.uint32, mscorlib],[system.windows.dependencyobject, system.windows]])->
09e127dc(system.collections.generic.dictionary`2+entry[[system.uint32, mscorlib],[system.windows.dependencyobject, system.windows]][])->
09e125cc(ms.internal.templatecontent)->
09e1261c(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09e12668(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09e124ec(system.windows.resourcedictionary)->
09e12544(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09e12590(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
0968ba08(system.windows.style)->
0968ba58(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
0968baa4(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
0968b9a4(system.windows.setterbasecollection)->
0968bae0(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
0968bb2c(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
0968b834(system.windows.setter)->
0968b884(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
0968b8d0(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
0968b90c(system.collections.generic.dictionary`2[[system.uint32, mscorlib],[system.windows.dependencyobject, system.windows]])->
0968b958(system.collections.generic.dictionary`2+entry[[system.uint32, mscorlib],[system.windows.dependencyobject, system.windows]][])->
0968b7e0(system.windows.controls.controltemplate)->
09689d70(system.windows.resourcedictionary)->
0968bb88(ms.internal.resourcedictionarycollection)->
0968bbec(system.windows.resourcedictionary)->
096827c0(ms.internal.resourcedictionarycollection)->
09682824(system.windows.resourcedictionary)->
0969dfb8(ms.internal.resourcedictionarycollection)->
0969e0fc(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
0969e148(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
096a37f0(system.windows.resourcedictionary)->
096a3848(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
096a3894(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
096a378c(ms.internal.resourcedictionarycollection)->
096a38d0(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dcf24c(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09b70194(system.windows.resourcedictionary)->
09b701ec(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09b70238(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09b70130(ms.internal.resourcedictionarycollection)->
09b70274(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09b702c0(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dced50(system.windows.resourcedictionary)->
09dceda8(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dcedf4(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dcecec(ms.internal.resourcedictionarycollection)->
09dcee30(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dcee7c(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09b71a0c(system.windows.resourcedictionary)->
09b71a64(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09b71ab0(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09b719a8(ms.internal.resourcedictionarycollection)->
09b71aec(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09b71b38(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09b877dc(system.windows.resourcedictionary)->
09b87834(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09b87880(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09b87778(ms.internal.resourcedictionarycollection)->
09b878bc(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09d63a60(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dce890(system.windows.resourcedictionary)->
09dce8e8(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dce934(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dce82c(ms.internal.resourcedictionarycollection)->
09dce970(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dce9bc(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dc4764(system.windows.resourcedictionary)->
09dc47bc(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dc4808(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dc4700(ms.internal.resourcedictionarycollection)->
09dc4844(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dc4890(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dc6a44(system.windows.resourcedictionary)->
09dc6a9c(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dc6ae8(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dc69e0(ms.internal.resourcedictionarycollection)->
09dc6b24(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dcc9bc(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dce2ec(system.windows.resourcedictionary)->
09dce344(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dce390(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dce288(ms.internal.resourcedictionarycollection)->
09dce3cc(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dce418(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dce068(system.windows.resourcedictionary)->
09dce0c0(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dce10c(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dce004(ms.internal.resourcedictionarycollection)->
09dce148(system.collections.generic.dictionary`2[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]])->
09dce194(system.collections.generic.dictionary`2+entry[[ms.internal.imanagedpeerbase, system.windows],[system.object, mscorlib]][])->
09dccb58(system.windows.resourcedictionary)->
09dccc24(system.collections.generic.dictionary`2[[system.string, mscorlib],[system.object, mscorlib]])->
09dcdcec(system.collections.generic.dictionary`2+entry[[system.string, mscorlib],[system.object, mscorlib]][])->
09dcdf48(ui.silverlight.converters.accountaddresstostringconverter)

hi,

the problem did use accountaddresstostringconverter, if use in template of list control, listbox or gridview, then, count of the instances of converter count of items in element.



Silverlight  >  Performance Profiling and Optimization with Silverlight



Comments

Popular posts from this blog

Conditional formatting a graph vertical axis in SSRS 2012 charts

Register with Power BI failed

SQL server replication error Cannot find the dbo or user defined function........