Hey Sohail,

We've fixed several bugs in Wt::Dbo since 3.1.3 (including memory bugs
and transaction failure handling), any chance you can first see if
this has been fixed with latest Wt (3.1.6) ?

Regards,
koen
KIMI_UNIT_TEST( TestWtMapClassMemoryLeak )
{
  dbo::backend::Sqlite3 connection(":memory:");
  dbo::Session session;
  session.setConnection(connection);

  session.mapClass<Class>("class");
  session.mapClass<Class>("class"); // Second one leaks
}

KIMI_UNIT_TEST( TestWtFlushLeak )
{
  dbo::backend::Sqlite3 connection(":memory:");
  dbo::Session session;
  session.setConnection(connection);

  session.mapClass<Class>("class");

  Wt::Dbo::Transaction t(session);

  dbo::ptr<Class> klass(new Class);
  klass.modify()->integer = 5;
  session.add(klass);

  t.commit(); // This leaks...
}

==27331== 44 (8 direct, 36 indirect) bytes in 1 blocks are definitely lost in 
loss record 3 of 3
==27331==    at 0x402569A: operator new(unsigned int) (vg_replace_malloc.c:255)
==27331==    by 0x80A2A9E: void 
Wt::Dbo::Session::implSave<Class>(Wt::Dbo::MetaDbo<Class>&) (Session_impl.h:180)
==27331==    by 0x80A2561: Wt::Dbo::MetaDbo<Class>::flush() (ptr_impl.h:45)
==27331==    by 0x80B5D88: Wt::Dbo::Session::flush() (Session.C:155)
==27331==    by 0x80B8D7C: Wt::Dbo::Transaction::Impl::commit() 
(Transaction.C:77)
==27331==    by 0x80B8C2A: Wt::Dbo::Transaction::commit() (Transaction.C:51)
==27331==    by 0x809FFD5: TestWtFlushLeak::test_method() 
(test_SchemaManager.cpp:113)
==27331==    by 0x809FE82: TestWtFlushLeak_invoker() (test_SchemaManager.cpp:99)
==27331==    by 0x8052084: boost::unit_test::ut_detail::unused 
boost::unit_test::ut_detail::invoker<boost::unit_test::ut_detail::unused>::invoke<void
 (*)()>(void (*&)()) (callback.hpp:56)
==27331==    by 0x8052066: 
boost::unit_test::ut_detail::callback0_impl_t<boost::unit_test::ut_detail::unused,
 void (*)()>::invoke() (callback.hpp:89)
==27331==    by 0x8193C38: 
boost::unit_test::callback0<boost::unit_test::ut_detail::unused>::operator()() 
const (callback.hpp:118)
==27331==    by 0x8193BD9: boost::unit_test::(anonymous 
namespace)::zero_return_wrapper_t<boost::unit_test::callback0<boost::unit_test::ut_detail::unused>
 >::operator()() (unit_test_monitor.ipp:41)
------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in  U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
witty-interest mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/witty-interest

Reply via email to