GeneAssembly / biosal

biosal is a distributed BIOlogical Sequence Actor Library. THIS IS A MIRROR.
BSD 2-Clause "Simplified" License
6 stars 1 forks source link

track externally-allocated memory in memory pool #639

Closed sebhtml closed 10 years ago

sebhtml commented 10 years ago

see pami ticket #453 (can not reproduce the bug)

sebhtml commented 10 years ago

!/bin/bash

qsub \ -A CompBIO \ -n 4 \ -t 00:60:00 \ -O transport_tester-8 \ --mode c1 \ transport_tester \ -maximum-buffer-size 2097152 \ -event-count 100000 \ -concurrent-event-count 8 \ -transport mpi1_pt2pt_nonblocking_transport

DEBUG Error bsal_memory_allocate returned (nil), 2097152 bytes used / total -> 16744259584 / 17163091968 bsal_tracer_print_stack_backtrace Stack backtrace has 22 frames

0 [0x104ce2c]

1 [0x104ba18]

2 [0x104da98]

3 [0x104d4e8]

4 [0x100d338]

5 [0x1008798]

6 [0x1015594]

7 [0x1000fc8]

8 [0x1000d44]

9 [0x1012ac4]

10 [0x100ba10]

11 [0x1000900]

12 [0x100b0a4]

13 [0x100c1b8]

14 [0x100d910]

15 [0x1010250]

16 [0x1003b00]

17 [0x100371c]

18 [0x10125d8]

19 [0x10005a0]

20 [0x151f238]

21 [0x151f534]

sebhtml commented 10 years ago

I found a memory leak I think...

sebhtml commented 10 years ago

use case

outbound buffers are not being returned to the worker

mpiexec -n 2 ./performance/transport_tester/transport_tester -minimum-buffer_size 20000 -maximum-buffer-size 20000 -event-count 1000 -transport mpi1_pt2pt_transport &> size_20000_mpi1_pt2pt

[boisvert@bigmem biosal]$ grep balance size_20000_mpi1_pt2pt size_20000_bug size_20000_mpi1_pt2pt: balance 0 size_20000_mpi1_pt2pt: balance 1

mpiexec -n 2 ./performance/transport_tester/transport_tester -minimum-buffer_size 20000 -maximum-buffer-size 20000 -event-count 1000 -transport mpi1_pt2pt_nonblocking_transport &> size_20000_bug

size_20000_bug: balance 229 size_20000_bug: balance 229

sebhtml commented 10 years ago

@hubot says: implemented in commit https://github.com/sebhtml/biosal/commit/7a02d86f7f6108122bdb5f73c28f9c77f5619fb6 by @sebhtml !