|
From: Filippo M. <in...@gm...> - 2019-05-13 21:20:59
|
Hi all,
I have been struggling over the last two days at undertanding the folloing
error message from valgrind. Some help would be really appreacited. I am
working with Fortran 90. In the following you can find the error message
and the subroutine probably responsible for it. Thank you in advance.
Regards,
Filippo
=16595== 1,008 bytes in 3 blocks are possibly lost in loss record 155 of
1,524
==16595== at 0x483AB65: calloc (vg_replace_malloc.c:752)
==16595== by 0x4012A32: allocate_dtv (in /usr/lib/ld-2.29.so)
==16595== by 0x40133E1: _dl_allocate_tls (in /usr/lib/ld-2.29.so)
==16595== by 0x4CD7698: pthread_create@@GLIBC_2.2.5 (in /usr/lib/
libpthread-2.29.so)
==16595== by 0x6C6A09A: gomp_team_start (team.c:817)
==16595== by 0x6C60F9D: GOMP_parallel (parallel.c:167)
==16595== by 0x5149742: exec_blas (in /usr/lib/libopenblasp-r0.3.5.so)
==16595== by 0x5149B75: blas_level1_thread_with_return_value (in
/usr/lib/libopenblasp-r0.3.5.so)
==16595== by 0x56BCE6A: ddot_k_SANDYBRIDGE (in /usr/lib/
libopenblasp-r0.3.5.so)
==16595== by 0x4A5CC97: dqrdc2_ (in /usr/lib/R/lib/libR.so)
==16595== by 0x4A5D66D: dqrls_ (in /usr/lib/R/lib/libR.so)
==16595== by 0x14E5F7CC: ??? (in /usr/lib/R/library/stats/libs/stats.so)
subroutine linreg_se1__evl (glmid)
implicit none
integer, intent(in) :: glmid
double precision, allocatable :: A(:,:), B(:,:), sigma(:)
double precision :: lnD
integer :: i, j, xi, wi, sei, l, m, n, info
xi = GLMLIST_(glmid)%Mi(glm_x1i_,1)
wi = GLMLIST_(glmid)%Mi(glm_wi_,1)
l = GLMLIST_(glmid)%Mi(glm_l_,1)
m = GLMLIST_(glmid)%Mi(glm_m_,1) !number of features
n = GLMLIST_(glmid)%Mi(glm_n_,1) !number of outputs
sei = GLMLIST_(glmid)%Mi(glm_se1i_,1)
print *, l, m, n
allocate(A(m,m))
A = 0
allocate(B(l,m))
B = MATLIST_dbl(xi)%Mi
allocate(sigma(n))
sigma = 0
call sbr_multRows(B, MATLIST_dbl(wi)%Mi(:,1))
call wrp_dgemm('T', 'N', dble(1), MATLIST_dbl(xi)%Mi, B, dble(0), A)
call invSym(A, lnD, info)
if (info /= 0) print *, 'error not PD'
call wrp_dsymm('R', 'U', dble(1), A, MATLIST_dbl(xi)%Mi, dble(0), B)
call uvrv__get(sigma, GLMHPLIST_(glmid)%Mi((m+1):(m+n),1), uvrv_vali_)
do i = 1, n
do j = 1, l
MATLIST_dbl(sei)%Mi(j,i) = sum(B(j,:) * MATLIST_dbl(xi)%Mi(j,:))
+ MATLIST_dbl(wi)%Mi(j,1)**(-1)
MATLIST_dbl(sei)%Mi(j,i) = (MATLIST_dbl(sei)%Mi(j,i) *
sigma(i)**2)**0.5
end do
end do
end subroutine linreg_se1__evl
|
|
From: John R. <jr...@bi...> - 2019-05-13 21:48:03
|
> =16595== 1,008 bytes in 3 blocks are possibly lost in loss record 155 of 1,524 > ==16595== at 0x483AB65: calloc (vg_replace_malloc.c:752) > ==16595== by 0x4012A32: allocate_dtv (in /usr/lib/ld-2.29.so <http://ld-2.29.so>) > ==16595== by 0x40133E1: _dl_allocate_tls (in /usr/lib/ld-2.29.so <http://ld-2.29.so>) Anything allocated by a routine which is part of the dynamic linker (such as _dl_allocate_tls in /usr/lib/ld-*.so) should be ignored. The dynamic linker is well-known to leak, and some of those leaks essentially cannot be eliminated. In any case, you cannot do anything about those leaks. Besides, this leak is less than 340 bytes on average (1008 / 3), and there are either 154 or (1524 - 154) leaks which are more important (larger). [Next time, please state the version of valgrind that you ran.] |
|
From: Filippo M. <in...@gm...> - 2019-05-14 05:01:08
|
> Hi, > > thanks for the reply. I am using version 3.14. As for the other leaks, > they are all 'still reachable' and that was the only error reported by > valgrind. Should take actions to avoid also the 'still reachable' leaks? > Thnaks for the help I am new to valgrind and, as it is becoming quite > helpful in my projects, I would like to correctly interpret its reports. > > Regards, > Filippo > > On Mon, May 13, 2019, 11:49 PM John Reiser <jr...@bi...> wrote: > >> > =16595== 1,008 bytes in 3 blocks are possibly lost in loss record 155 >> of 1,524 >> > ==16595== at 0x483AB65: calloc (vg_replace_malloc.c:752) >> > ==16595== by 0x4012A32: allocate_dtv (in /usr/lib/ld-2.29.so < >> http://ld-2.29.so>) >> > ==16595== by 0x40133E1: _dl_allocate_tls (in /usr/lib/ld-2.29.so < >> http://ld-2.29.so>) >> >> Anything allocated by a routine which is part of the dynamic linker (such >> as _dl_allocate_tls >> in /usr/lib/ld-*.so) should be ignored. The dynamic linker is well-known >> to leak, >> and some of those leaks essentially cannot be eliminated. In any case, >> you cannot do anything >> about those leaks. Besides, this leak is less than 340 bytes on average >> (1008 / 3), >> and there are either 154 or (1524 - 154) leaks which are more important >> (larger). >> >> [Next time, please state the version of valgrind that you ran.] >> >> >> _______________________________________________ >> Valgrind-users mailing list >> Val...@li... >> https://lists.sourceforge.net/lists/listinfo/valgrind-users >> > |