Db_dotnet - Compare delegate being collected

I traced down a problem I am having to the following simple test case. (see code below)
If we remove the EntryComparisonDelegate from the the secondary database config, everything works fine.
Otherwise I get either of the following errors:
CallbackOnCollectedDelegate was detected
Message: A callback was made on a garbage collected delegate of type 'libdb_dotnet50!BerkeleyDB.Internal.BDB_CompareDelegate::Invoke'. This may cause application crashes, corruption and data loss. When passing delegates to unmanaged code, they must be kept alive by the managed application until it is guaranteed that they will never be called.
at this location
     libdb_dotnet50.dll!BerkeleyDB.Internal.DB.put(BerkeleyDB.Internal.DB_TXN txn = null, BerkeleyDB.DatabaseEntry key = {BerkeleyDB.DatabaseEntry}, BerkeleyDB.DatabaseEntry data = {BerkeleyDB.DatabaseEntry}, uint flags = 0) Line 273 + 0x6e bytes     C#or
System.AccessViolationException was unhandled
Message=Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Source=libdb_dotnet50
StackTrace:
at BerkeleyDB.Internal.libdb_csharpPINVOKE.DB_put(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, UInt32 jarg5)
at BerkeleyDB.Internal.DB.put(DB_TXN txn, DatabaseEntry key, DatabaseEntry data, UInt32 flags) in Z:\db-5.0.26\csharp\Internal\DB.cs:line 273
at BerkeleyDB.Database.Put(DatabaseEntry key, DatabaseEntry data, Transaction txn, UInt32 flags) in Z:\db-5.0.26\csharp\Database.cs:line 650
at BerkeleyDB.Database.Put(DatabaseEntry key, DatabaseEntry data, Transaction txn) in Z:\db-5.0.26\csharp\Database.cs:line 595
at BerkeleyDB.Database.Put(DatabaseEntry key, DatabaseEntry data) in Z:\db-5.0.26\csharp\Database.cs:line 576
at ConsoleApplication1.Program.Main(String[] args) in c:\users\administrator\documents\visual studio 10\Projects\ConsoleApplication10\ConsoleApplication1\Program.cs:line 44
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
class Program
          static DatabaseEntry keyGen(DatabaseEntry k, DatabaseEntry d)
               return new DatabaseEntry(new byte[] { 1, 2, 3, 4 });
          static int comp(DatabaseEntry k1, DatabaseEntry k2)
               return 0;
          static void Main(string[] args)
               if (File.Exists("data.db")) File.Delete("data.db");
               Database db = BTreeDatabase.Open("data.db", "master", new BTreeDatabaseConfig()
                    Creation = CreatePolicy.IF_NEEDED
               SecondaryDatabase sdb = SecondaryBTreeDatabase.Open("data.db", "index", new SecondaryBTreeDatabaseConfig(db, keyGen)
                    Creation = CreatePolicy.IF_NEEDED,
                    Duplicates = DuplicatesPolicy.SORTED,
                    Compare = comp
               for (int i = 0; i < 100; i++)
                    byte[] b = BitConverter.GetBytes(i).Reverse().ToArray();
                    db.Put(new DatabaseEntry(b), new DatabaseEntry(b));
GC.Collect();
               sdb.Close();
               db.Close();
I am using
db-5.0.26
visual studio 2010 / .net 4.0
windows 2008 server
Any ideas on what I am doing wrong?

Hello,
Thank you for reporting this issue. We are aware of the problem and it is currently
being tracked internally as #18935.
Thanks again,
Sandra

Similar Messages

  • In the privacy policy, it states that percentages and durations of books read are being collected to ensure that publishers can have a metered price model, prices depending on how the book was read. Give me an example of a company with such a price model?

    In your privacy policy, you state that the percentages and durations of books read are being collected to ensure that publishers can choose a metered price model. Prices which depends on the duration for which the book was read.
    Give me an example of a company with such a price model? Are the information being collected even where the companies have not asked for the information, even when the metered price models are not being used?
    Here is an extract från the privacy policy:
    What information does Adobe Digital Editions collect and how is it used?
    The following information may be collected when an eBook with DRM is opened in Adobe Digital Editions software. If an eBook does not have any DRM associated with it, then no information is collected.
    User GUID: The User GUID is a unique value assigned in place of your User ID and is used to authenticate you.
    Device GUID: The Device GUID is a unique value generated to identify your device. It is used to ensure that the eBook may be viewed on your device and that the number of devices permitted by the license is not exceeded.
    Certified App ID: This ID represents the application that is being used to view the eBook, in this case Adobe Digital Editions. It is necessary to ensure that only a certified application may display an eBook. This helps to minimize piracy and theft of eBooks.
    Device IP (Internet Protocol): This identifies the country you are located in when you purchase an eBook.  It is used by eBook providers for the enablement of localized pricing models. Only the country identifier of the Device IP is stored.
    Duration for Which the Book was Read: This information may be collected to facilitate limited or metered pricing models entered into between eBook providers, such as publishers and distributors. These models are based on how long a reader has read an eBook. For example, you may borrow an eBook for a period of 30 days. While some publishers and distributors may charge libraries and resellers for 30 days from the date of the download, others may follow a metered pricing model and charge them for the actual time you read the eBook.
    Percentage of the eBook Read: The percentage of the eBook read may be collected to allow eBook providers such as publishers to implement subscription pricing models where they charge based on the percentage of the eBook read.
    Information provided by eBook providers relating to the eBook you have purchased: The following information is provided by the eBook provider to enable the delivery of the eBook to your device:Date of eBook purchase/download
    Distributor ID and Adobe Content Server Operator URL
    Metadata of the eBook, such as title, author, language, publisher list price, ISBN number
    How is the information transmitted?
    The data is sent periodically to Adobe via a secure transmission using HTTPS.
    How is the information used?
    Adobe uses the information collected about the eBook you have opened in Adobe Digital Editions software to ensure it is being viewed in accordance with the type of DRM license that accompanies that eBook. The type of license is determined by the eBook provider. For more information on how each piece of data is used, please see above.

    In your privacy policy, you state that the percentages and durations of books read are being collected to ensure that publishers can choose a metered price model. Prices which depends on the duration for which the book was read.
    Give me an example of a company with such a price model? Are the information being collected even where the companies have not asked for the information, even when the metered price models are not being used?
    Here is an extract från the privacy policy:
    What information does Adobe Digital Editions collect and how is it used?
    The following information may be collected when an eBook with DRM is opened in Adobe Digital Editions software. If an eBook does not have any DRM associated with it, then no information is collected.
    User GUID: The User GUID is a unique value assigned in place of your User ID and is used to authenticate you.
    Device GUID: The Device GUID is a unique value generated to identify your device. It is used to ensure that the eBook may be viewed on your device and that the number of devices permitted by the license is not exceeded.
    Certified App ID: This ID represents the application that is being used to view the eBook, in this case Adobe Digital Editions. It is necessary to ensure that only a certified application may display an eBook. This helps to minimize piracy and theft of eBooks.
    Device IP (Internet Protocol): This identifies the country you are located in when you purchase an eBook.  It is used by eBook providers for the enablement of localized pricing models. Only the country identifier of the Device IP is stored.
    Duration for Which the Book was Read: This information may be collected to facilitate limited or metered pricing models entered into between eBook providers, such as publishers and distributors. These models are based on how long a reader has read an eBook. For example, you may borrow an eBook for a period of 30 days. While some publishers and distributors may charge libraries and resellers for 30 days from the date of the download, others may follow a metered pricing model and charge them for the actual time you read the eBook.
    Percentage of the eBook Read: The percentage of the eBook read may be collected to allow eBook providers such as publishers to implement subscription pricing models where they charge based on the percentage of the eBook read.
    Information provided by eBook providers relating to the eBook you have purchased: The following information is provided by the eBook provider to enable the delivery of the eBook to your device:Date of eBook purchase/download
    Distributor ID and Adobe Content Server Operator URL
    Metadata of the eBook, such as title, author, language, publisher list price, ISBN number
    How is the information transmitted?
    The data is sent periodically to Adobe via a secure transmission using HTTPS.
    How is the information used?
    Adobe uses the information collected about the eBook you have opened in Adobe Digital Editions software to ensure it is being viewed in accordance with the type of DRM license that accompanies that eBook. The type of license is determined by the eBook provider. For more information on how each piece of data is used, please see above.

  • Compare fields in collection model to display which fields differ

    Hi all
    I have a previous post, which I may not have clearly enough stated my objective, and hence I feel as I may have been given an incorrect directive.
    Anyway, I aim to be able to compare fields in collection model to display which fields differ between records. Ie, in my collection model, the SQL query may return 3 records. I want to be able to compare field A (rowindex 1) to field A (rowindex 2). I want to do this, so that I can use some EL or other method to change the text color presented to the user.
    The problem here is that the SQL query has over 100 fields, so I definitely need a generic / reusable / programmatic way of doing this.
    My initial approach was to create a bean that referenced values in the current and previous record set / iterator. Really, I am looking for a validation of my approach or any other alternatives.
    My last resort will be to modify the SQL query, and duplicate each column with a 'changed flag'.
    Thanks in advance,
    Simo

    Sure,
    you should create a transient attribute in your VO and in method getters and setters in the view row class implement your bussiness logic. There are several posts in this forum about this subject. For example, how to create a transient attribute in a VO in r12
    Regards,

  • Is it possible to have a phone line connected to a Mac Mini (OS X10.8.2) so you can use your computer with Parallels (Windows xp) to dial into a modem to download data being collected and stored at the remote location?

    Is it possible to have a phone line connected to a Mac Mini (OS X10.8.2) so you can use your computer with Parallels (Windows xp) to dial into a modem to download data being collected and stored at the remote location?

    Hi, do you mean a real Dial-up Modem as in the old days?
    As I recall, the Apple USB Modem won't work in 64 bit OSes, but there are others that will, I think this is one of them...
    http://www.zoomtel.com/products/dial_up_external_usb.html
    Or is the Modem on the other end Cable/DSL/FiberOptic?

  • How to compare values in collection.

    Hi,
    I am using oracle 11g XE, I am doing a validation using bulk collect collection.
    DECLARE
    TYPE TEM IS TABLE OF VARCHAR2(1000);
    EM TEM;
    P_MAIL VARCHAR2(1000);
    BEGIN
    P_MAIL := UPPER('[email protected]');
    SELECT EMAIL BULK COLLECT INTO EM FROM
    SELECT UPPER(EMAIL_ID)   AS  EMAIL FROM SONARA_CONSULTANT_DETAILS
    UNION
    SELECT EMAIL_ID_2 AS  EMAIL FROM SONARA_CONSULTANT_DETAILS
    ) WHERE EMAIL IS NOT NULL;
      FOR I IN EM.FIRST..EM.LAST LOOP  
        IF  P_MAIL = EM(I) THEN    // Here i am comparing the mail id with collection but it always goes to INVALID
        DBMS_OUTPUT.PUT_LINE('VALID');       
         ELSE
         DBMS_OUTPUT.PUT_LINE('INVALID');       
        END IF;
      END LOOP;
    END;
    } Please suggest me how to do the comparison
    Thanks
    Sudhir

    It seems that you don't compare everywhere in uppercase, so for me this is rather a letter case problem in your string addresses. The following works for me
    DECLARE
        TYPE TEM IS TABLE OF VARCHAR2(1000);
        EM TEM;
        P_EMAIL VARCHAR2(1000) := '[email protected]';
    BEGIN
        WITH SONARA_CONSULTANT_DETAILS AS
            SELECT '[email protected]' AS emailAddr FROM DUAL UNION
            SELECT '[email protected]' AS emailAddr FROM DUAL UNION
            SELECT '[email protected]'  AS emailAddr FROM DUAL UNION
            SELECT '[email protected]' AS emailAddr FROM DUAL UNION
            SELECT '[email protected]' AS emailAddr FROM DUAL UNION
            SELECT '[email protected]' AS emailAddr FROM DUAL UNION
            SELECT '[email protected]' AS emailAddr FROM DUAL UNION
            SELECT '[email protected]' AS emailAddr FROM DUAL
        SELECT emailAddr BULK COLLECT INTO EM
        FROM SONARA_CONSULTANT_DETAILS;
        FOR indx IN EM.FIRST .. EM.LAST
        LOOP
            IF UPPER(P_EMAIL) = UPPER(EM(indx))
            THEN
                DBMS_OUTPUT.PUT_LINE('VALID');
            ELSE
                DBMS_OUTPUT.PUT_LINE('INVALID');
            END IF;
        END LOOP;
    END;
    /Which gives me the following result
    INVALID
    INVALID
    INVALID
    INVALID
    INVALID
    INVALID
    INVALID
    VALID
    PL/SQL procedure successfully completed.
    SQL> Regards,
    Dariyoosh

  • Google Calendar delegates being listed twice

    About two months ago this problem started happening. I have several google calendars that I access with MacOS Calendar (Mountain Lion).
    As usual, the main calendar shows up under "GMail" in the sidebar and all the other sshow up under "Delegates". But recently, all the calendars in delegates have also been showing up under "GMail", creating duplicate event entries in the calendar view. This happens intermitently. It will just appear and disappear periodically. Everytime it happens, I need to unselect all the calendars under 'Gmail' so I don't see the duplicates, then after a while they will disappear altogether, then reappear later, selected.
    Anyone else seeing this? Any solution?
    Geoff
    p.s. I find the Google calendar support pretty flaky in general. Get a lot of server errors here and there, and find the whole way "delegates" to be handled is very cumborsome, curiously much more complicated than in calendar.google.com.

    Are you seeing the double calendar problem on iOS? I'm not. I think the architecture is different on iOS because it doesn't require the Delegates setup that iCal/Calendar on Mac OS requires to access multiple calendars. I proposed BusyCal as a solution to the Mac iCal/Calendar issues before I heard that Google was making changes to their calendar service, apparently to remove the need for delegates...
    https://groups.google.com/a/googleproductforums.com/d/msg/calendar/-/tgyr5MbVYS0 J
    This would be a nice improvement, but it appears that the production rollout of this change has caused serious problems that have been wreaking havoc on users for a couple of weeks now. In addition to the double calendars appearing and disappearing, I also cannot create alerts from Mac iCal/Calendar. I'm not seeing either of these problems on iOS Calendars (an iPhone running iOS 6 and an iPad running iOS 5.) I also do not have either of these problems with the Google Calendar Website.
    I'd love to hear from anyone who uses BusyCal, to know if they're seeing either of these problems. There is a trial version at http://www.busymac.com/busycal/ which I'm going to try when I get a little time to mess with it. I'd buy it (it's only $30), but I'm really fine with iCal/Calendar... if it would just work. The fixes and improvements in Calendar on Mt Lion are a solid step in the right direction, so I'm hopeful in the long term.

  • Analog and Encoder being collected only on encoder pulses.

    I currently have the setup below and the XValue timestamps from the Write to Measurement File are not exactly at the rate I specified in the DAQ Assistant.  The DAQ Assistant just has analog channels with Samples to Read set as 10 (or 1, which does not affect this example) and the Sample Rate (Hz) set to 10 Hz.  The main problem that I am having is that the analog channels seem to follow the Frequency Counter in the sense that it alters the XValue timestamps in the Write to Measurement File and will only log the analogs and frequency channel when the encoder (frequency counter) encounters the edge of a pulse.  How do I get the analog channels in the DAQ Assistant to log as well as getting the Frequency Counter to log simultaneously with the correct XValue timestamps from the Write to Measurement File with or without the encoder moving? 
    Also, is the 100 ms Wait Until Next ms Multiple needed for the Frequency Counter?
    Thanks in advance for the help.

    The *.vi works correctly except for the fact that when the encoder is not reading any pulses, not moving, it delays all data acquisition for all channels (analog and counter) until the encoder rotates again or the counter channel for the encoder times out according to the timeout specified.  I would like for all of the channels to be able to continue logging at the specified rate in the DAQ Assistant for the analog channels and the specified rate for the counter channel (encoder) if the encoder is not reading any pulses.  Also, when the counter channel is reading pulses, the timestamp XValue of the Write to Measurement File is not at the exact rate I specify in the DAQ Assistant.  An example of some data is shown below.
    X_Value
                  Analog
           Encoder
    0
    2.231008
    0
    9.237507
    0.942442
    0
    20.366281
    3.523876
    5.227699
    20.725778
    -4.150966
    1.09365
    22.304438
    6.117589
    70.197237
    When the encoder is not receiving counts, it halts all data to be written to the Write to Measurement File and the X_Value timestamps are not exactly at 10Hz as I requested in the DAQ Assistant.
    Thanks again for any help.

  • ICal Server - Delegates being deleted, have to always re-add

    Hi all,
    I have a new mini snow leopard server working well, except shared calendars are causing me issues. For one I can't get the group calendars working or added, so I decided to make shared calendars under one user account then give access to the staff. This solution works fine, however after an hour or so all the user access list completely deletes itself and I have to add them again. Very frustrating for something that should be so simple. I'm not even quitting iCal when this happens.
    Thoughts?
    ryan.

    I am struggling with this: how is it supposed to work in the first place?
    I fear I have done the necessary, but it did not work - and that leaves me wondering what I did.
    Group calendars not working or added would explain why I can't find them.
    Anthony

  • Collection class comparation

    Dear all,
    Could you tell me the performance benmark comparation between the collection class (List, Map, Set, Queue, and also class in java.util.concurrent package...)
    Could you give me when to use one class?
    Thank a lot for support.
    Best regards,
    VKnight

    VKnight wrote:
    Dear all,
    Could you tell me the performance benmark comparation between the collection class (List, Map, Set, Queue, and also class in java.util.concurrent package...)There is no "fastest collection." Different collections have different big-O performance metrics in different situations. You'll learn what these are when you learn about the collections.
    Could you give me when to use one class? When you study the collections and learn what each one does, you'll understand which one is appropriate to use in which case.
    There's plenty of information already available for these very broad questions, in books and on the web. There's no point in somebody repeating it here. After you've done your research, if you have a more specific question, feel free to ask.

  • Loop Problems: data collection being halted by program excecution.

    Sorry for the vague subject line, I'm finding it difficult to specify exactly what my problem is, so I'll start with what I want to happen. I'm working in a lab in which we are studying pain. The specifics are not mine to disclose but suffice it to say that based on certain input given by the subject we want to excecute a piece of hardware. The goal is to do this on a second to second basis, so if the subjects input warrants excecution in one second, the hardware will excecute for the next second, and will continue if the requirements continue to be met. I have programs both for recieving subject data, and for excecuting the hardware, the issue is that the conditions are being measured with a while loop, and the hardware is also excecuted with a while loop, so when the conditions are met the hardware activates and data stops being collected. I havnt figured out a way around this and I'm wondering if anyone can help me.
    "There will be water if God wills it"

    Yeah, if you get the data flow to work right, these will run simultaneously. To get that information across loops, try using Local Variables. They can be memory-heavy if you use too many, but they could help you here.
    http://zone.ni.com/reference/en-XX/help/371361H-01/lvhowto/creating_local_variables/
    Ravi A.
    National Instruments | Applications Engineer

  • Strange memory behaviour using the System.Collections.Hashtable in object reference

    Dear all,
    Recently I came across a strange memory behaviour when comparing the system.collections.hashtable versus de scripting.dictionary object and thought to analyse it a bit in depth. First I thought I incorrectly destroyed references to the class and
    child classes but even when properly destroying them (and even implemented a "SafeObject" with deallocate method) I kept seeing strange memory behaviour.
    Hope this will help others when facing strange memory usage BUT I dont have a solution to the problem (yet) suggestions are welcome.
    Setting:
    I have a parent class that stores data in child classes through the use of a dictionary object. I want to store many differenct items in memory and fetching or alteging them must be as efficient as possible using the dictionary ability of retrieving key
    / value pairs. When the child class (which I store in the dictionary as value) contains another dictionary object memory handeling is as expected where all used memory is release upon the objects leaving scope (or destroyed via code). When I use a system.collection.hashtable
    no memory is released at all though apears to have some internal flag that marks it as useable for another system.collection.hashtable object.
    I created a small test snippet of code to test this behaviour with (running excel from the Office Plus 2010 version) The snippet contains a module to instantiate the parent class and child classes that will contain the data. One sub will test the Hash functionality
    and the other sub will test the dictionary functionality.
    Module1
    Option Explicit
    Sub testHash()
    Dim Parent As parent_class
    Dim d_Count As Double
    'Instantiate parent class
    Set Parent = New parent_class
    'Create a child using the hash collection object
    Parent.AddChildHash "TEST_hash"
    Dim d_CycleCount As Double
    d_CycleCount = 50000
    'Add dummy data records to the child container with x amount of data For d_Count = 0 To d_CycleCount
    Parent.ChildContainer("TEST_hash").InsertDataToHash CStr(d_Count), "dummy data"
    Next
    'Killing the parent when it goes out of scope should kill the childs. (Try it out and watch for the termination debug messages)
    'According to documentation and debug messages not really required!
    Set Parent.ChildContainer("TEST_hash") = Nothing
    'According to documentation not really as we are leaving scope but just to be consistent.. kill the parent!
    Set Parent = Nothing
    End Sub
    Sub testDict()
    Dim Parent As parent_class
    Dim d_Count As Double
    'Instantiate parent class
    Set Parent = New parent_class
    'Create a child using the dictionary object
    Parent.AddChildDict "TEST_dict"
    Dim d_CycleCount As Double
    d_CycleCount = 50000
    'Blow up the memory with x amount of records
    Dim s_SheetCycleCount As String
    s_SheetCycleCount = ThisWorkbook.Worksheets("ButtonSheet").Range("K2").Value
    If IsNumeric(s_SheetCycleCount) Then d_CycleCount = CDbl(s_SheetCycleCount)
    'Add dummy data records to the child container
    For d_Count = 0 To d_CycleCount
    Parent.ChildContainer("TEST_dict").InsertDataToDict CStr(d_Count), "dummy data"
    Next
    'Killing the parent when it goes out of scope should kill the childs. (Try it out and watch for the termination debug messages)
    'According to documentation and debug messages not really required!
    Set Parent.ChildContainer("TEST_dict") = Nothing
    'According to documentation not really as we are leaving scope but just to be consistent.. kill the parent!
    Set Parent = Nothing
    End Sub
    parent_class:
    Option Explicit
    Public ChildContainer As Object
    Private Counter As Double
    Private Sub Class_Initialize()
    Debug.Print "Parent initialized"
    Set ChildContainer = CreateObject("Scripting.dictionary")
    End Sub
    Public Sub AddChildHash(ByRef ChildKey As String)
    If Not ChildContainer.Exists(ChildKey) Then
    Dim TmpChild As child_class_hashtable
    Set TmpChild = New child_class_hashtable
    ChildContainer.Add ChildKey, TmpChild
    Counter = Counter + 1
    Set TmpChild = Nothing
    End If
    End Sub
    Public Sub AddChildDict(ByRef ChildKey As String)
    If Not ChildContainer.Exists(ChildKey) Then
    Dim TmpChild As child_class_dict
    Set TmpChild = New child_class_dict
    ChildContainer.Add ChildKey, TmpChild
    Counter = Counter + 1
    Set TmpChild = Nothing
    End If
    End Sub
    Private Sub Class_Terminate()
    Debug.Print "Parent being killed, first kill all childs (if there are any left!) - muahaha"
    Set ChildContainer = Nothing
    Debug.Print "Parent killed"
    End Sub
    child_class_dict
    Option Explicit
    Public MemmoryLeakObject As Object
    Private Sub Class_Initialize()
    Debug.Print "Child using Scripting.Dictionary initialized"
    Set MemmoryLeakObject = CreateObject("Scripting.Dictionary")
    End Sub
    Public Sub InsertDataToDict(ByRef KeyValue As String, ByRef DataValue As String)
    If Not MemmoryLeakObject.Exists(KeyValue) Then MemmoryLeakObject.Add KeyValue, DataValue
    End Sub
    Private Sub Class_Terminate()
    Debug.Print "Child using Scripting.Dictionary terminated"
    Set MemmoryLeakObject = Nothing
    End Sub
    child_class_hash:
    Option Explicit
    Public MemmoryLeakObject As Object
    Private Sub Class_Initialize()
    Debug.Print "Child using System.Collections.Hashtable initialized"
    Set MemmoryLeakObject = CreateObject("System.Collections.Hashtable")
    End Sub
    Public Sub InsertDataToHash(ByRef KeyValue As String, ByRef DataValue As String)
    If Not MemmoryLeakObject.ContainsKey(KeyValue) Then MemmoryLeakObject.Add KeyValue, DataValue
    End Sub
    Private Sub Class_Terminate()
    Debug.Print "Child using System.Collections.Hashtable terminated"
    Set MemmoryLeakObject = Nothing
    End Sub
    Statistics:
    TEST: (Chronologically ordered)
    1.1 Excel starting memory: 25.324 kb approximately
    Max memory usage after hash (500.000 records) 84.352 kb approximately
    Memory released: 0 %
    1.2 max memory usages after 2nd consequtive hash usage 81.616 kb approximately
    "observation:
    - memory is released then reused
    - less max memory consumed"
    1.3 max memory usages after 3rd consequtive hash usage 80.000 kb approximately
    "observation:
    - memory is released then reused
    - less max memory consumed"
    1.4 Running the dictionary procedure after any of the hash runs will start from the already allocated memory
    In this case from 80000 kb to 147000 kb
    Close excel, free up memory and restart excel
    2.1 Excel starting memory: 25.324 kb approximately
    Max memory usage after dict (500.000 records) 90.000 kb approximately
    Memory released: 91,9%
    2.2 Excel starting memory 2nd consequtive dict run: 27.552 kb approximately
    Max memory usage after dict (500.000 records) 90.000 kb approximately
    Memory released: 99,4%
    2.3 Excel starting memory 3rd consequtive dict run: 27.712 kb approximately
    Max memory usage after dict (500.000 records) 90.000 kb approximately
    Memory released:

    Hi Cor,
    Thank you for going through my post and took the time to reply :) Most apreciated. The issue I am facing is that the memory is not reallocated when using mixed object types and is not behaving the same. I not understand that .net versus the older methods
    use memory allocation differently and perhaps using the .net dictionary object (in stead of the scripting.dictionary) may lead to similar behaviour. {Curious to find that out -> put to the to do list of interesting thingies to explore}
    I agree that allocated memory is not a bad thing as the blocks are already assigned to the program and therefore should be reallocated with more performance. However the dictionary object versus hashtable perform almost identical (and sometimes even favor
    the dictionary object)
    The hashtable is clearly the winner when dealing with small sets of data.
    The issue arises when I am using the hash table in conjunction with another type, for example a dictionary, I see that the dictionary object's memory is stacked on top of the claimed memory space of the hashtable. It appears that .net memory allocation and
    reuse is for .net references only. :) (Or so it seems)
    In another example I got with the similar setup, I see that the total used memory is never released or reclaimed and leakage of around 20% allocated memory remains to eventually crash the system with the out of memory message. (This is when another class
    calls the parent class that instantiates the child class but thats not the point of the question at hand)
    This leakage drove me to investigate and create the example of this post in the first place. For the solution with the class -> parent class -> child class memory leak I switched all to dictionaries and no leakage occurs anymore but nevertheless thought
    it may be good to share / ask if anyone else knows more :D (Never to old to learn something new)

  • Customer Name on Sales Order not in Data Collections

    Hi,
    I am looking for some help. My company just did an upgrade from 11i to R12 in the middle of May. As part of the upgrade we installed ASCP. We have noticed that certain customers are not being collected when running Standard Data Collections. We have open sales orders in the system for the customer. The sales order are being collected properly and appear in the plan. When we show the Customer field in the 'Supply/Demand Screen' in ASCP, the field is blank for select customers. Is there anything on the customer master or sales order line that would prevent the customer name from being collected? Any insight would be helpful.
    Thanks
    Rich

    You can go to order organizer screen select the OA NO which you are not able to see in the ASCP workbench, go to line items---using show field get the Demand visible
    tab on screen-----default value should be 'Y' if blank then then that could be the one of the reason.

  • Please help, cannot compare images in full screen mode

    I am not able to compare 2 images in full screen mode. I am using a MBP and a ACD 23". The main image will remain in the ACD while the image being compare is being shown in the MBP.
    I am able to compare images in the viewer mode.
    My main display is the ACD 23 which I selected using the display preferences under 'Arrangement' with the menu bar located on the ACD. In Aperture, Secondary Viewer is set to Blank.
    I had also tried different combinations of Main Viewer and Secondary Viewer settings but was not successful.
    Am I missing something? Anyone have the solution?Thanks in advance for any help.
    norheng

    Anyone have any suggestions to using Aperture to edit images using a MBP and ACD so that it best utilize Aperture full screen mode in comparing and narrowing down to the pick.
    I am now trying to use the MBP as the main display and ACD as the secondary. This way I am able to compare images with the MBP in the Browser mode and the ACD display the compare images full screen. It work with the secondary display - ACD set to mirror, span and alternate mode.
    It would be best if only one screen is use and hence save energy consumption (reducing global warming and bill, if it help).
    Thanks in advance for any suggestions or and solutions.
    norheng

  • Unable to collect Update/Transfer rules Info & Data sources from BI content

    Hi,
    We are tyring to activate Infoprovider 0PY_CO2 from BI content by selecting the option - In data before. BI is unable to collect all corresponding objects such as Update rules, Info source, transfer rules and the data source for the selected Infoprovider. Only Info area and associated info objects are being collected for the installation.
    We are experiencing same problem whilst acitvating most of the info providers. However, in some cases, either of these objects get activated but not all the necessary objects that feed data to the Infoprovider (cube or multi provider).
    Also, Infopackages and Info object catalogs are not being collected for any objects activated/installed so fare from the BI content.
    We are trying to activate BW 3.5 content on the BI 7.0 environment. BI Content release is 703 and support pack level is 008.
    Kindly share any pointers to troubleshoot this probelm please.
    Thanks
    Venkat

    Shiv,
    For some Info providers, all associated info objects(including transfer & update rules and info source and data sources) are getting collected and got successfuly installed. But this is true for only 10% of the Info providers that we have installed so far.
    Remaining all the objects, we are unable to proceed further.
    Thanks
    Venkat.

  • St03N not collecting all data

    HI
    does anyone know why would st03n not collect all proper data, we found out recently that a user had scheduled a program as a background job to run and it ran successfully but when we look on that date we don't see that it had run and even that user doesn't come out in the history
    any ideas why?
    regards

    Sorry Sujit that I wasn't clear
    the job i was referring to was a z program that was run be a user in the background.
    that is how we started knowing that there were missing data in st03n
    we were trying to see how many time that program ran and who ran it
    so we went to see in st03n but we found out that there was no history for that program in there or any history for the user who ran the z program in the background.
    there is no connection to SAP_COLLECTOR_FOR_PERFMONITOR background job. this job is running successful in our system and all other data is being collected
    so the data that was missing was on the 14th of march and then we found out that there is no entry of any sort in st03n for 15th of march, but we have data for 16th of march.
    so now we want to know what happened
    i hope this is clear now
    regards

Maybe you are looking for

  • Convert an image file to Base64 or other string value

    Hi, I need to read the content of an image file (JPEG, PNG, TIFF) and convert that file to Base64 string. Does anyone know if you can do these things on Javascript, in InDesign? Thanks for any help EDIT: I forgot to add that I know my image path on t

  • Call of constant function in where clause

    Hi there, I want to execute the following query select a_field from a_table where another_field = a_func('10') where a_func is a stored function and returns a value dependent on its argument. Same argument returns same result. How to see, the argumen

  • Found grease on disks after burning DVDs or CDs

    I own a brand new iMAC G5. After burning couple DVDs using the super drive, I found some grease spots on some of the disks. The grease spots had caused the DVDs unusable/unreadable anymore. I called AppleCare, they said they will replace my drive. Gr

  • Is there an ipad interactive tutorial in spanish

    Looking for an ipad tutorial, preferably in Spanish language.

  • Regarding Receiver Determination

    Hi Everyone,       Would anyone clarify, in <b>Receiver Determination</b> under <b>Receiver details</b> <b>"Party"</b> and <b>"Service" values are" * "by default.</b> <b>why these values are * ?</b> Regards, Varun Reddy.K