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
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to