FastMM5 Freed object class: Unknown

Home Forums kbmMW FastMM5 Freed object class: Unknown

Viewing 6 reply threads
  • Author
    Posts
    • #54865
      chmichael
      Participant

      Hello,

      After running the server for a couple hours i start to get reports of “Freed object class: Unknown” with FastMM5.

      FastMM5 Debug Log: https://www.creationpower.gr/EventLog.txt

      Any ideas ?

      Thank you

    • #54866
      kimbomadsen
      Keymaster

      I can see two of them are related to ElevateDB indexes being freed. kbmMW as such do not do anything with EDB indexes, however what I notice is that you have several debugging layers enabled, MadExcept (which seems to trigger first in all cases), kbmMW’s memory debugging and finally FastMM5’s tracker.

      I wonder if MadExcept is “doing something”?

      • #54867
        chmichael
        Participant

        Hello,
        I disabled kbmdebugmemory and madexcept so the new log is pure FastMM5:
        https://www.creationpower.gr/EventLog2.txt

        Thank you

        • #54868
          kimbomadsen
          Keymaster

          Thanks.

          It looks like that the transport is not disconnected before application shutdown. Can you add a transport.DontListen call and see if the errors disappears?

          best regards

          Kim/C4D

          • #54878
            chmichael
            Participant

            Hello,
            The server isn’t shutting down when the error occurs!
            It usually does this when the user is loggin/out.

            Thank you

    • #54911
      chmichael
      Participant

      Kim,
      Do you have any idea how to debug this in order to find the problem ?

      Thank you

      • #54941
        kimbomadsen
        Keymaster

        Hi,

        Im not aware about any reuse of freed objects in kbmMW. There can be issues on shutdown, if things are not closed in an orderly fashion, but that is not the case you are seeing.

        I have many apps that are running 24×7 using kbmMW messaging that do not exhibit any instabillity issues.

        I will however, get a license for FastMM5 and check it out more closely.

        best regards

        Kim/C4D

    • #54953
      chmichael
      Participant

      Hello Kim,
      Any news on this ?

      • #54958
        kimbomadsen
        Keymaster

        Hi,

        I have just run some tests using FastMM5 sending batches of 10001 messages using the WIB in handshake mode (the most complex way of using the WIB because it will attempt retransmission if handshake has not been received for a group of messages within a certain time), on a memory constrained system, sending a million messages from a client node to the server node, and have had no complaints at all from FastMM5.

        What I however did discover, is that FastMM5 do not tolerate kbmMW’s memory debugger to be activated at the same time. Then various memory access exceptions will occur in FastMM5 code.

    • #54965
      chmichael
      Participant

      Hello Kim,
      Well to me after while it freezes the connections/server.
      I’ll try to make out a sample project, where can i send it ?

      Thank you

      • #54966
        kimbomadsen
        Keymaster

        Hi,
        Please send a simple sample (not requiring 3rdparty controls/databases) to kbm@components4developers.com
        best regards
        Kim/C4D

    • #55072
      chmichael
      Participant

      Hello Kim,
      I moved the data from EDB to SQL Express, removed all EDB components, added the necessery MSSQL components to my Server and the problem dissapeared! (No errors or anything for about 12 hours so far)

      Can you please check the code of the EDB Sever components that can lead to deadlocks or these kind of FastMM5 reports ?

      Thank you

    • #55073
      chmichael
      Participant
      • #55082
        kimbomadsen
        Keymaster

        Ah… ok… that will be a problem then….
        Since each thread will need to instantiate its own database connection when needed, you should move the connection pool onto the query service instead.

        It will defeat the connection pool mechanism, but will ensure that the connection is living in the thread space of the query service instance.

        • #55083
          chmichael
          Participant

          I’ve modified kbmMWEDB to create a new session with lock and it seems to be working! As soon as i finish the testing i’ll send you the fix!

          Thank you

Viewing 6 reply threads
  • You must be logged in to reply to this topic.