Hi Jose, I tried to get my local llvm install again to a point where I can see backtrace information, but still failed to get valgrind/massif to print these nice backtraces. All of the llvm addresses are not resolved so far.
But a appart from that which gl example/test program do you run to see that leakage? And additionally looking at this below backtrace snippet and analyzing the code that is called in llvm: On Wednesday, May 14, 2014 02:45:26 you wrote: > The problem is that when I do this, memory starts leaking for every > compilation (even with LLVM 3.4): > > -> 100.00% (672B): operator new(unsigned long) > -> 100.00% (672B): std::_Rb_tree<llvm::EVT, llvm::EVT, > std::_Identity<llvm::EVT>, llvm::EVT::compareRawBits, > std::allocator<llvm::EVT> >::_M_insert_unique(llvm::EVT const&) > -> 100.00% (672B): llvm::SDNode::getValueTypeList(llvm::EVT) > -> 100.00% (672B): llvm::SelectionDAG::getVTList(llvm::EVT) Ok, I see, this std::set in ./lib/CodeGen/SelectionDAG/SelectionDAG.cpp holds EVT instances which have a possible pointer to llvm::Type objects declared in llvm/IR/Type.h. And such a Type seems to reference a LLVMContext with the 'Context' member in llvm::Type. Since the std::set<EVT, ...>'s less operator treats EVT's to equivalent EVT's referencing llvm::Types originating from different LLVMContext instances differently, this grows with the LLVMContext instances around. Ok, a correct solution inside llvm would be to prune these set entries once the LLVMContext dies. A workaround from our side could probably be to have a LLVMContext private to the GL context as already suggested. That would still grow with the number of GL contexts. But that is a way more unlikely use pattern for an application to create magnitudes of GL contexts. Well it is still a possible scenario, but willing to beat on a GL stack with threads is also a possible scenario ... I have not yet tried something, since I am not yet able to reproduce, but thoughts?? Greetings Mathias _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev