# These are unfreed memory (still reachable blocks) detected in python
{
  Python leak
  Memcheck:Leak
  fun:malloc
  fun:*
  fun:PyString_InternInPlace
}
{
  Python leak
  Memcheck:Leak
  fun:malloc
  fun:*
  fun:PyEval_EvalFrameEx
}
{
  From opensuse 11.2 (python 2.6)
  Memcheck:Leak
  fun:malloc
  obj:*libpython*
  fun:PyDict_Merge
}
{
  From opensuse 11.2 (python 2.6)
  Memcheck:Leak
  fun:malloc
  obj:*libpython*
  fun:PyObject_GenericSetAttr
}
{
  From opensuse 11.2 (python 2.6)
  Memcheck:Leak
  fun:malloc
  obj:*libpython*
  obj:*_gobject.so*
  obj:*atk.so*
}
{
  From opensuse 11.2 (python 2.6)
  Memcheck:Leak
  fun:malloc
  obj:*libpython*
  obj:*_gobject.so*
  obj:*pango.so*
  fun:initpango
}
{
  From opensuse 11.2 (python 2.6)
  Memcheck:Leak
  fun:malloc
  obj:*libpython*
  obj:*_gobject.so*
  obj:*gio.so*
  fun:init_gio
}
{
  From opensuse 11.2 (python 2.6)
  Memcheck:Leak
  fun:realloc
  fun:g_realloc
  fun:g_type_set_qdata
  obj:*_gobject.so*
  fun:init_gobject
}
{
  From opensuse 11.2 (python 2.6)
  Memcheck:Leak
  fun:malloc
  obj:*libpython*
  obj:*_gobject.so
  obj:*_gtk.so
  fun:init_gtk
}
{
  From opensuse 11.2 (python 2.6)
  Memcheck:Leak
  fun:malloc
  obj:*libpython*
  fun:_PyInt_Init
}
{
  From opensuse 11.2 (python 2.6)
  Memcheck:Leak
  fun:malloc
  obj:*libpython*
  fun:PyType_Ready
}
{
  From opensuse 11.2 (python 2.6)
  Memcheck:Leak
  fun:malloc
  fun:PyString_FromStringAndSize
}
{
  From opensuse 11.2 (python 2.6)
  Memcheck:Leak
  fun:malloc
  obj:*libpython*
  obj:*libpython*
  fun:PyObject_Call
}
{
  From opensuse 11.2 (python 2.6)
  Memcheck:Leak
  fun:malloc
  obj:*libpython*
  fun:PyInt_FromLong
}
{
  From opensuse 11.2 (python 2.6)
  Memcheck:Leak
  fun:malloc
  fun:_PyObject_GC_Malloc
}
{
  From opensuse 11.2 (python 2.6)
  Memcheck:Leak
  fun:malloc
  obj:*libpython*
  obj:*libpython*
  fun:PyEval_EvalFrameEx
}
{
  Python leak
  Memcheck:Leak
  fun:malloc
  fun:*
  fun:PyDict_SetItemString
}
{                                                                               
   Python leak (ignore all memory allocated by python itself....)
   Memcheck:Leak                                                                
   fun:malloc                                                                   
   fun:_PyObject_GC_Malloc                                                      
   fun:PyType_GenericAlloc  
}
{
  Python leak (ignore all memory allocated by python itself....)
  Memcheck:Leak
  fun:malloc
  fun:PyObject_Malloc
}
{
  Python leak (ignore all memory allocated by python itself....)
  Memcheck:Leak
  fun:realloc
  fun:_PyObject_GC_Resize
}
{
  Python leak (ignore all memory allocated by python itself....)
  Memcheck:Leak
  fun:realloc
  fun:_PyObject_GC_NewVar
}
{
  Python leak (ignore all memory allocated by python itself....)
  Memcheck:Leak
  fun:malloc
  fun:_PyObject_GC_NewVar
}
{
  Python leak
  Memcheck:Leak
  fun:malloc
  fun:_PyObject_GC_NewVar
  fun:PyFrame_New
  fun:PyEval_EvalCodeEx
  fun:function_call
}
{
  Python leak (Python 2.6)
  Memcheck:Leak
  fun:malloc
  fun:_PyObject_GC_Malloc
  fun:_PyObject_GC_NewVar
  fun:PyFrame_New
}
{
  GNAT does not release the secondary stack
  Memcheck:Leak
  fun:malloc
  fun:__gnat_malloc
  fun:system__secondary_stack__ss_allocate
}
{
   Python 2.6 leak
   Memcheck:Leak
   ...
   fun:Py_InitializeEx
   fun:Py_Initialize
   fun:Py_Main
}
{
   From NumPy 1.3.0 (python 2.6) - PyAST_*
   Memcheck:Leak
   ...
   fun:PyAST_*
}
{
   From NumPy 1.3.0 (python 2.6)
   Memcheck:Leak
   fun:malloc
   ...
   fun:build_class
}
{
   From NumPy 1.3.0 (python 2.6)
   Memcheck:Leak
   ...
   fun:realloc
   fun:list_resize
   fun:app1
}
{
   From NumPy 1.3.0 (python 2.6)
   Memcheck:Leak
   ...
   fun:PyEval_EvalFrameEx
   fun:PyEval_EvalCodeEx
   fun:fast_function
}
{
   From NumPy 1.3.0 (python 2.6) - PyMarshal_*
   Memcheck:Leak
   fun:malloc
   ...
   fun:PyMarshal_*
}
{
   From NumPy 1.3.0 (python 2.6)
   Memcheck:Leak
   fun:malloc
   fun:PyString_FromString
   ...
   fun:import_submodule
   
}
{
   From NumPy 1.3.0 (python 2.6)
   Memcheck:Leak
   fun:malloc
   fun:dictresize
}
{
   From DistNumPy (python 2.6) - non-freed ufunc in slave processes.
   Memcheck:Leak
   fun:malloc
   ...
   fun:PyUFunc_FromFuncAndDataAndSignature
   ...
   fun:initumath
}



###
### All the suppressions below are special cases.
###
{
   From NumPy 1.3.0 (python 2.6)
   Memcheck:Leak
   fun:realloc
   fun:_PyString_Resize
   fun:string_concatenate
   fun:PyEval_EvalFrameEx
   fun:fast_function
   fun:call_function
   fun:PyEval_EvalFrameEx
   fun:fast_function
   fun:call_function
   fun:PyEval_EvalFrameEx
   fun:PyEval_EvalCodeEx
   fun:PyEval_EvalCode
}
{
   From NumPy 1.3.0 (python 2.6)
   Memcheck:Leak
   fun:realloc
   fun:_PyString_Resize
   fun:PyString_Format
   fun:string_mod
   fun:binary_op1
   fun:binary_op
   fun:PyNumber_Remainder
   fun:PyEval_EvalFrameEx
}
{
   From NumPy 1.3.0 (python 2.6)
   Memcheck:Leak
   fun:malloc
   fun:type_new
   fun:tp_new_wrapper
   fun:PyCFunction_Call
   fun:call_function
   fun:PyEval_EvalFrameEx
   fun:PyEval_EvalCodeEx
   fun:function_call
   fun:PyObject_Call
   fun:slot_tp_new
   fun:type_call
   fun:PyObject_Call
}
{
   From NumPy 1.3.0 (python 2.6)
   Memcheck:Leak
   fun:realloc
   fun:_PyString_Resize
   fun:PyString_FromFormatV
   fun:PyString_FromFormat
   fun:ufunc_get_doc
   fun:getset_get
   fun:PyObject_GenericGetAttr
   fun:PyObject_GetAttr
   fun:PyObject_GetAttrString
   fun:arr_add_docstring
   fun:PyCFunction_Call
   fun:call_function
}
{
   From NumPy 1.3.0 (python 2.6)
   Memcheck:Leak
   fun:malloc
   fun:PyType_GenericAlloc
   fun:s_new
   fun:type_call
   fun:PyObject_Call
   fun:PyObject_CallFunctionObjArgs
   fun:cache_struct
   fun:calcsize
   fun:call_function
   fun:PyEval_EvalFrameEx
   fun:PyEval_EvalCodeEx
   fun:PyEval_EvalCode
}
{
   From NumPy 1.3.0 (python 2.6)
   Memcheck:Leak
   fun:malloc
   fun:prepare_s
   fun:s_init
   fun:type_call
   fun:PyObject_Call
   fun:PyObject_CallFunctionObjArgs
   fun:cache_struct
   fun:calcsize
   fun:call_function
   fun:PyEval_EvalFrameEx
   fun:PyEval_EvalCodeEx
   fun:PyEval_EvalCode
}
{
   From NumPy 1.3.0 (python 2.6)
   Memcheck:Leak
   fun:malloc
   fun:PyMem_Malloc
   fun:alloc_format_string
   fun:PointerType_new
   fun:type_call
   fun:PyObject_Call
   fun:call_function_tail
   fun:PyObject_CallFunction
   fun:POINTER
   fun:call_function
   fun:PyEval_EvalFrameEx
   fun:PyEval_EvalCodeEx
}
{
   From NumPy 1.3.0 (python 2.6)
   Memcheck:Leak
   fun:malloc
   fun:PyString_FromString
   fun:PyString_InternFromString
   fun:new_identifier
}
{
   From NumPy 1.3.0 (python 2.6)
   Memcheck:Leak
   fun:malloc
   fun:PyString_FromString
   fun:PyString_InternFromString
   fun:descr_new
   fun:PyDescr_NewGetSet
   fun:add_getset
   fun:PyType_Ready
   fun:type_new
   fun:type_call
   fun:PyObject_Call
   fun:call_function_tail
   fun:PyObject_CallFunction
}
{
   From NumPy 1.3.0 (python 2.6)
   Memcheck:Leak
   fun:malloc
   fun:PyString_FromString
   fun:PyString_InternFromString
   fun:descr_new
   fun:PyDescr_NewGetSet
   fun:add_getset
   fun:PyType_Ready
   fun:PyObject_GenericGetAttr
   fun:PyObject_GetAttr
   fun:PyObject_GetAttrString
   fun:PyObject_CallMethod
   fun:Py_InitializeEx
}
{
   From NumPy 1.3.0 (python 2.6)
   Memcheck:Leak
   fun:malloc
   fun:PyString_FromString
   fun:PyString_InternFromString
   fun:descr_new
   fun:PyDescr_NewMethod
   fun:add_methods
   fun:PyType_Ready
   fun:PyObject_GenericGetAttr
   fun:PyObject_GetAttr
   fun:PyObject_GetAttrString
   fun:PyObject_CallMethod
   fun:Py_InitializeEx
}
{
   From NumPy 1.3.0 (python 2.6)
   Memcheck:Leak
   fun:malloc
   fun:PyString_FromString
   fun:PyType_Ready
   fun:PyObject_GenericGetAttr
   fun:PyObject_GetAttr
   fun:builtin_getattr
   fun:PyCFunction_Call
   fun:call_function
   fun:PyEval_EvalFrameEx
   fun:gen_send_ex
   fun:gen_iternext
   fun:PyIter_Next
}
{
   From NumPy 1.3.0 (python 2.6)
   Memcheck:Leak
   fun:malloc
   fun:PyString_FromString
   fun:method_get_doc
   fun:getset_get
   fun:PyObject_GenericGetAttr
   fun:PyObject_GetAttr
   fun:PyEval_EvalFrameEx
   fun:fast_function
   fun:call_function
   fun:PyEval_EvalFrameEx
   fun:PyEval_EvalCodeEx
   fun:function_call
}
{
   From DistNumPy (python 2.6) - non-freed in slave processes.
   Memcheck:Leak
   fun:realloc
   fun:list_resize
   fun:listextend
   fun:call_function
   fun:PyEval_EvalFrameEx
   fun:PyEval_EvalCodeEx
   fun:PyEval_EvalCode
   fun:PyImport_ExecCodeModuleEx
   fun:load_source_module
   fun:load_module
   fun:load_package
   fun:load_module
}
{
   From DistNumPy (python 2.6) - non-freed in slave processes.
   Memcheck:Leak
   fun:malloc
   fun:PyList_New
   fun:do_mklist
   fun:do_mkvalue
   fun:va_build_value
   fun:Py_BuildValue
   fun:load_package
   fun:load_module
   fun:import_submodule
   fun:load_next
   fun:import_module_level
   fun:PyImport_ImportModuleLevel
}
{
   From DistNumPy (python 2.6) - non-freed in slave processes.
   Memcheck:Leak
   fun:malloc
   fun:fill_free_list
   fun:PyInt_FromLong
   fun:long_int
   fun:PyNumber_Int
   fun:int_new
   fun:type_call
   fun:PyObject_Call
   fun:do_call
   fun:call_function
   fun:PyEval_EvalFrameEx
   fun:fast_function
}
{
   From DistNumPy (python 2.6) - non-freed in slave processes.
   Memcheck:Leak
   fun:malloc
   fun:fill_free_list
   fun:PyInt_FromLong
   fun:PyLong_FromVoidPtr
   fun:init_ctypes
   fun:_PyImport_LoadDynamicModule
   fun:load_module
   fun:import_submodule
   fun:load_next
   fun:import_module_level
   fun:PyImport_ImportModuleLevel
   fun:builtin___import__
}
{
   From PBSPro (TPP layer) - suppress epoll_pwait() glibc bug
   Memcheck:Param
   epoll_pwait(sigmask)
   fun:epoll_pwait
   fun:tpp_em_pwait
   fun:tpp_em_wait
   fun:work
   fun:start_thread
   fun:clone
}
{
   From PBSPro (TPP layer) - suppress warning about uninitialized bytes in sendto
   Memcheck:Param
   socketcall.sendto(msg)
   fun:send
   fun:send_data
   fun:handle_cmd
   fun:work
   fun:start_thread
   fun:clone
}
{
   From PBSPro (server) - Suppress intentional unfreed memory for pbs_db_get_svr_id
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   fun:strdup
   fun:pbs_db_get_svr_id
   fun:chk_and_update_db_svrhost
   fun:main
}
{
   From PBSPro (server) - Suppress intentional unfreed memory from hook_recov 
   Memcheck:Leak
   fun:malloc
   fun:strdup
   fun:hook_recov
   fun:pbsd_init
   fun:main
}
{
   From PBSPro (server) - Suppress intentional unfreed memory from loading hook script at hook_recov 
   Memcheck:Leak
   fun:malloc
   fun:pbs_python_ext_alloc_python_script
   fun:hook_recov
   fun:pbsd_init
   fun:main
}
{
   From PBSPro (server) - Suppress intentional unfreed memory from loading hook script at hook_recov 
   Memcheck:Leak
   fun:malloc
   fun:strdup
   fun:pbs_python_ext_alloc_python_script
   fun:hook_recov
   fun:pbsd_init
   fun:main
}
{
   From PBSPro (server) - Suppress intentional unfreed memory from allocating hook data at hook_recov 
   Memcheck:Leak
   fun:malloc
   fun:hook_alloc
   fun:hook_recov
   fun:pbsd_init
   fun:main
}
{
   From PBSPro (all deamons) - Suppress memory allocated for log mutex
   Memcheck:Leak
   fun:calloc
   fun:log_mutex_lock
   fun:log_record
   fun:*
}
{
   From PBSPro (mom) - Suppress intentional unfreed memory from python_script_alloc() inside req_copy_hookfile() that is tracked globally in svr_allhooks.
   Memcheck:Leak
   fun:malloc
   ...
   fun:python_script_alloc
   ...
   fun:req_copy_hookfile
   fun:is_request
   fun:do_rpp
   fun:rpp_request
   fun:wait_request
   fun:main
}
{
   From PBSPro (mom) - Suppress intentional unfreed memory from hook_recov() inside req_copy_hookfile() that is tracked globally in svr_allhooks.
   Memcheck:Leak
   fun:malloc
   ...
   fun:hook_recov
   fun:req_copy_hookfile
   fun:is_request
   fun:do_rpp
   fun:rpp_request
   fun:wait_request
   fun:main
}
{
   From PBSPro (server) - Suppress intentional unfreed memory from pbs_python_populae_attributes_to_python_class() that is tracked globally in pbs_resource_value_list.
   Memcheck:Leak
   fun:malloc
   fun:pbs_python_populate_attributes_to_python_class
   fun:*
}
{
   From PBSPro (server) - Suppress intentional unfreed memory from pbs_python_populate_attributes_to_python_class() that is tracked and freed in a local pbs_list_head
   Memcheck:Leak
   fun:malloc
   fun:attrlist_alloc
   fun:attrlist_create
   fun:encode_l
   fun:encode_resc
   fun:pbs_python_populate_attributes_to_python_class
   fun:*
}
{
   From PBSPro (server) - Suppress intentional unfreed memory from pbs_python_populate_attributes_to_python_class() that is tracked and freed in a local pbs_list_head.
   Memcheck:Leak
   fun:malloc
   fun:attrlist_alloc
   fun:attrlist_create
   fun:encode_size
   fun:encode_resc
   fun:pbs_python_populate_attributes_to_python_class
   fun:*
}
{
   From PBSPro (server) - Suppress intentional unfreed memory from pbs_python_populate_attributes_to_python_class() that is tracked and freed in a local pbs_list_head.
   Memcheck:Leak
   fun:malloc
   fun:attrlist_alloc
   fun:attrlist_create
   fun:encode_str
   fun:encode_resc
   fun:pbs_python_populate_attributes_to_python_class
   fun:*
}
{
   From PBSPro (server) - Suppress intentional unfreed memory from pbs_python_populate_attributes_to_python_class() that is tracked and freed in a local pbs_list_head.
   Memcheck:Leak
   fun:malloc
   fun:attrlist_alloc
   fun:attrlist_create
   fun:encode_time
   fun:encode_resc
   fun:pbs_python_populate_attributes_to_python_class
   fun:*
}
{
   From PBSPro (server) - Suppress intentional unfreed memory from loading hook script at mgr_hook_import 
   Memcheck:Leak
   fun:malloc
   fun:strdup
   fun:pbs_python_ext_alloc_python_script
   fun:mgr_hook_import
   fun:req_manager
   fun:dispatch_request
   fun:process_request
   fun:wait_request
   fun:main
}
{
   From PBSPro (server) - Suppress intentional unfreed memory from loading hook script at mgr_hook_import 
   Memcheck:Leak
   fun:malloc
   fun:pbs_python_ext_alloc_python_script
   fun:mgr_hook_import
   fun:req_manager
   fun:dispatch_request
   fun:process_request
   fun:wait_request
   fun:main
}
{
   From PBSPro (server) - Suppress intentional unfreed memory from allocating hook data at mgr_hook_create 
   Memcheck:Leak
   fun:malloc
   fun:hook_alloc
   fun:mgr_hook_create
   fun:req_manager
   fun:dispatch_request
   fun:process_request
   fun:wait_request
   fun:main
}
{
   From PBSPro (server) - Suppress intentional unfreed memory from allocating hook name at mgr_hook_create 
   Memcheck:Leak
   fun:malloc
   fun:strdup
   fun:set_hook_name
   fun:mgr_hook_create
   fun:req_manager
   fun:dispatch_request
   fun:process_request
   fun:wait_request
   fun:main
}
