Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-2379

Memmory leaking while using multithreading in C++ server.

    XMLWordPrintableJSON

Details

    • Question
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.9.1
    • 0.9.2
    • C++ - Library
    • Linux Ubuntu 12.10 x64

    Description

      I have a problem, with memory leakin in apache thrift, I tried to ask at IRC yesterday, but that didn't help.
      I'm using Apache Thrift framework, I'm writing a application, that has server on C++ and python client. The application has big resources object, that are using during the life. My application need to have a reload method, that should delete all resources, and load new instances from the disk. I wrote the cleannig method, and calling it before reload method. That's work, if I use TSimpleServer. But when I'm starting to use ThreadedServer or TNonBlocking server. Cleannig method doesn't work, as I can see, It's calling but it doesn't cleans . Server just starting to use twice amount of memmory. I tried to use a mutex during cleaning method, but that didn't help.
      I think th matter is multithreading, other method doesn't allow to release old resources, but I'm not shure.

      I wrote example code that has the same issue, and it's quite clear for understaing, I think.
      Code example:
      http://pastebin.com/qW8Ab1xQ
      Full code availble in zip archive:
      https://docs.google.com/file/d/0B73BxCSXgnuzbXlncllSU0NDQkE/edit

      Attachments

        Activity

          People

            Unassigned Unassigned
            briskly Nikita Vdovushkin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: