[petsc-users] VecSetValue

Sanjay Govindjee s_g at berkeley.edu
Mon Mar 24 17:26:41 CDT 2025


My odessy to update my code to the main branch continues...I am now 
encountering an error with VecSetValue:

    [0]PETSC ERROR: VecSetValues() at
    /Users/sg/petsc-3.22.4main/src/vec/vec/interface/rvector.c:926 Null
    Pointer: Parameter # 4

This is on a single processor run -- I got tired of closing all those 
debug windows.  My call looks like

    call VecSetValue(rhs, k-1, b(j), ADD_VALUES, ierr)

and the first two data types are Vec and integer,  and for the third

    real (kind=8) :: b(:) ! comes through the argument list for the
    subroutine

vecsetvalue_ however seems to be receiving va=0x0000000000000000.  I see 
that formally the value is supposed to be PetscScalar; is that the 
issue?  The thread backtrace is below.

    (lldb) process attach --pid 51640
    Process 51640 stopped
    * thread #1, queue = 'com.apple.main-thread', stop reason = signal
    SIGSTOP
         frame #0: 0x00007fff69d92746
    libsystem_kernel.dylib`__semwait_signal + 10
    libsystem_kernel.dylib`__semwait_signal:
    ->  0x7fff69d92746 <+10>: jae 0x7fff69d92750            ; <+20>
         0x7fff69d92748 <+12>: movq   %rax, %rdi
         0x7fff69d9274b <+15>: jmp    0x7fff69d9121d            ; cerror
         0x7fff69d92750 <+20>: retq
    Target 0: (feap) stopped.

    Executable module set to "/Users/sg/Feap/ver87/parfeap/feap".
    Architecture set to: x86_64h-apple-macosx-.
    (lldb) thread backtrace
    * thread #1, queue = 'com.apple.main-thread', stop reason = signal
    SIGSTOP
       * frame #0: 0x00007fff69d92746
    libsystem_kernel.dylib`__semwait_signal + 10
         frame #1: 0x00007fff69d15eea libsystem_c.dylib`nanosleep + 196
         frame #2: 0x00007fff69d15d52 libsystem_c.dylib`sleep + 41
         frame #3: 0x000000010a1fb04c
    libpetsc.3.022.dylib`PetscSleep(s=10) at psleep.c:48:5
         frame #4: 0x0000000109e52961
    libpetsc.3.022.dylib`PetscAttachDebugger at adebug.c:458:5
         frame #5: 0x000000010ea1c7c8
    libpetsc.3.022.dylib`PetscAttachDebuggerErrorHandler(comm=0x0000000110e78de8,
    line=926, fun="VecSetValues",
    file="/Users/sg/petsc-3.22.4main/src/vec/vec/interface/rvector.c",
    num=85, p=PETSC_ERROR_INITIAL, mess="Null Pointer: Parameter # 4",
    ctx=0x0000000000000000) at adebug.c:522:9
         frame #6: 0x000000010ea1cdb0
    libpetsc.3.022.dylib`PetscError(comm=0x0000000110e78de8, line=926,
    func="VecSetValues",
    file="/Users/sg/petsc-3.22.4main/src/vec/vec/interface/rvector.c",
    n=85, p=PETSC_ERROR_INITIAL, mess="Null Pointer: Parameter # %d") at
    err.c:409:15
         frame #7: 0x000000010a866bf2
    libpetsc.3.022.dylib`VecSetValues(x=0x00007fdb53068450, ni=1,
    ix=0x00007ffee6d74098, y=0x0000000000000000, iora=ADD_VALUES) at
    rvector.c:926:3
         frame #8: 0x000000010a82c1dc
    libpetsc.3.022.dylib`vecsetvalue_(v=0x00000001093ca8f8,
    i=0x00007ffee6d74098, va=0x0000000000000000,
    mode=0x00007ffee6d74094, ierr=0x00007ffee6d74238) at zvectorf.c:20:11
         frame #9: 0x0000000108ebbb48 feap`usolve_ at usolve.F:256:72
         frame #10: 0x000000010904cd9c feap`psolve_ at psolve.f:232:72
         frame #11: 0x0000000108fb7edc feap`pmacr1_ at pmacr1.f:667:72
         frame #12: 0x0000000108fb20dd feap`pmacr_ at pmacr.f:614:72
         frame #13: 0x0000000108f56e7f feap`pcontr_ at pcontr.f:1375:72
         frame #14: 0x00000001092fe18e feap`main at feap87.f:173:72
         frame #15: 0x00007fff69c4ecc9 libdyld.dylib`start + 1
    (lldb) up
    frame #1: 0x00007fff69d15eea libsystem_c.dylib`nanosleep + 196
    libsystem_c.dylib`nanosleep:
    ->  0x7fff69d15eea <+196>: testl  %eax, %eax
         0x7fff69d15eec <+198>: jns    0x7fff69d15eb5 ; <+143>
         0x7fff69d15eee <+200>: callq  0x7fff69d1e008 ; symbol stub for:
    __error
         0x7fff69d15ef3 <+205>: cmpl   $0x3c, (%rax)
    (lldb) up
    frame #2: 0x00007fff69d15d52 libsystem_c.dylib`sleep + 41
    libsystem_c.dylib`sleep:
    ->  0x7fff69d15d52 <+41>: movl   %eax, %ecx
         0x7fff69d15d54 <+43>: xorl   %eax, %eax
         0x7fff69d15d56 <+45>: cmpl   $-0x1, %ecx
         0x7fff69d15d59 <+48>: jne    0x7fff69d15d85            ; <+92>
    (lldb) up
    frame #3: 0x000000010a1fb04c libpetsc.3.022.dylib`PetscSleep(s=10)
    at psleep.c:48:5
        45
        46      #if defined(PETSC_HAVE_SLEEP)
        47        else
    -> 48          sleep((int)s);
        49      #elif defined(PETSC_HAVE__SLEEP) &&
    defined(PETSC_HAVE__SLEEP_MILISEC)
        50        else _sleep((int)(s * 1000));
        51      #elif defined(PETSC_HAVE__SLEEP)
    (lldb) up
    frame #4: 0x0000000109e52961
    libpetsc.3.022.dylib`PetscAttachDebugger at adebug.c:458:5
        455           while (left > 0) left = PetscSleep(left) - 1;
        456         }
        457       #else
    -> 458         PetscCall(PetscSleep(sleeptime));
        459       #endif
        460       }
        461     #endif
    (lldb) up
    frame #5: 0x000000010ea1c7c8
    libpetsc.3.022.dylib`PetscAttachDebuggerErrorHandler(comm=0x0000000110e78de8,
    line=926, fun="VecSetValues",
    file="/Users/sg/petsc-3.22.4main/src/vec/vec/interface/rvector.c",
    num=85, p=PETSC_ERROR_INITIAL, mess="Null Pointer: Parameter # 4",
    ctx=0x0000000000000000) at adebug.c:522:9
        519       if (fun) (void)(*PetscErrorPrintf)("%s() at %s:%d
    %s\n", fun, file, line, mess);
        520       else (void)(*PetscErrorPrintf)("%s:%d %s\n", file,
    line, mess);
        521
    -> 522       (void)PetscAttachDebugger();
        523       abort(); /* call abort because don't want to kill
    other MPI ranks that may successfully attach to debugger */
        524       PetscFunctionReturn(PETSC_SUCCESS);
        525     }
    (lldb) up
    frame #6: 0x000000010ea1cdb0
    libpetsc.3.022.dylib`PetscError(comm=0x0000000110e78de8, line=926,
    func="VecSetValues",
    file="/Users/sg/petsc-3.22.4main/src/vec/vec/interface/rvector.c",
    n=85, p=PETSC_ERROR_INITIAL, mess="Null Pointer: Parameter # %d") at
    err.c:409:15
        406       if (p == PETSC_ERROR_INITIAL && n != PETSC_ERR_MEMC)
    (void)PetscMallocValidate(__LINE__, PETSC_FUNCTION_NAME, __FILE__);
        407
        408       if (!eh) ierr = PetscTraceBackErrorHandler(comm, line,
    func, file, n, p, lbuf, NULL);
    -> 409       else ierr = (*eh->handler)(comm, line, func, file, n,
    p, lbuf, eh->ctx);
        410       PetscStackClearTop;
        411
        412       /*
    (lldb) up
    frame #7: 0x000000010a866bf2
    libpetsc.3.022.dylib`VecSetValues(x=0x00007fdb53068450, ni=1,
    ix=0x00007ffee6d74098, y=0x0000000000000000, iora=ADD_VALUES) at
    rvector.c:926:3
        923       PetscValidHeaderSpecific(x, VEC_CLASSID, 1);
        924       if (!ni) PetscFunctionReturn(PETSC_SUCCESS);
        925       PetscAssertPointer(ix, 3);
    -> 926       PetscAssertPointer(y, 4);
        927       PetscValidType(x, 1);
        928
        929       PetscCall(PetscLogEventBegin(VEC_SetValues, x, 0, 0, 0));
    (lldb) up
    frame #8: 0x000000010a82c1dc
    libpetsc.3.022.dylib`vecsetvalue_(v=0x00000001093ca8f8,
    i=0x00007ffee6d74098, va=0x0000000000000000,
    mode=0x00007ffee6d74094, ierr=0x00007ffee6d74238) at zvectorf.c:20:11
        17      PETSC_EXTERN void vecsetvalue_(Vec *v, PetscInt *i,
    PetscScalar *va, InsertMode *mode, PetscErrorCode *ierr)
        18      {
        19        /* cannot use VecSetValue() here since that uses
    PetscCall() which has a return in it */
    -> 20        *ierr = VecSetValues(*v, 1, i, va, *mode);
        21      }
        22
        23      PETSC_EXTERN void vecsetvaluelocal_(Vec *v, PetscInt *i,
    PetscScalar *va, InsertMode *mode, PetscErrorCode *ierr)
    (lldb) up
    frame #9: 0x0000000108ebbb48 feap`usolve_ at usolve.F:256:72
        253                 if( k .gt. 0 ) then
        254                   j = j + 1
        255     !              write(*,*) 'rank: ',rank,' k,j,b(j)
    ',k,j,b(j)
    -> 256                   call VecSetValue(rhs, k-1, b(j),
    ADD_VALUES, ierr)
        257                 endif
        258               end do

-- 
-------------------------------------------------------------------
Sanjay Govindjee, PhD, PE
Horace, Dorothy, and Katherine Johnson Professor in Engineering
Distinguished Professor of Civil and Environmental Engineering

779 Davis Hall
University of California
Berkeley, CA 94720-1710

Voice:  +1 510 642 6060
FAX:    +1 510 643 5264
s_g at berkeley.edu
https://urldefense.us/v3/__http://faculty.ce.berkeley.edu/sanjay__;!!G_uCfscf7eWS!eYHZJmdbbAvMW_dwF5Gl5kuFLWS9Tllmp4OCyVBwo0hVI25qi3ZiV-maVgXQ7wmZ8dKjEGu1hb5u7w9azVgSHQ$ 
-------------------------------------------------------------------

Books:

Introduction to Mechanics of Solid Materials
https://urldefense.us/v3/__https://global.oup.com/academic/product/introduction-to-mechanics-of-solid-materials-9780192866080__;!!G_uCfscf7eWS!eYHZJmdbbAvMW_dwF5Gl5kuFLWS9Tllmp4OCyVBwo0hVI25qi3ZiV-maVgXQ7wmZ8dKjEGu1hb5u7w_VG5HHMA$ 

Continuum Mechanics of Solids
https://urldefense.us/v3/__https://global.oup.com/academic/product/continuum-mechanics-of-solids-9780198864721__;!!G_uCfscf7eWS!eYHZJmdbbAvMW_dwF5Gl5kuFLWS9Tllmp4OCyVBwo0hVI25qi3ZiV-maVgXQ7wmZ8dKjEGu1hb5u7w9T8MhzbQ$ 

Example Problems for Continuum Mechanics of Solids
https://urldefense.us/v3/__https://www.amazon.com/dp/1083047361/__;!!G_uCfscf7eWS!eYHZJmdbbAvMW_dwF5Gl5kuFLWS9Tllmp4OCyVBwo0hVI25qi3ZiV-maVgXQ7wmZ8dKjEGu1hb5u7w_GqMlonw$ 

Engineering Mechanics of Deformable Solids
https://urldefense.us/v3/__https://www.amazon.com/dp/0199651647__;!!G_uCfscf7eWS!eYHZJmdbbAvMW_dwF5Gl5kuFLWS9Tllmp4OCyVBwo0hVI25qi3ZiV-maVgXQ7wmZ8dKjEGu1hb5u7w9troczOg$ 

Engineering Mechanics 3 (Dynamics) 2nd Edition
https://urldefense.us/v3/__http://www.amazon.com/dp/3642537111__;!!G_uCfscf7eWS!eYHZJmdbbAvMW_dwF5Gl5kuFLWS9Tllmp4OCyVBwo0hVI25qi3ZiV-maVgXQ7wmZ8dKjEGu1hb5u7w_g7GDa1w$ 

Engineering Mechanics 3, Supplementary Problems: Dynamics
https://urldefense.us/v3/__http://www.amzn.com/B00SOXN8JU__;!!G_uCfscf7eWS!eYHZJmdbbAvMW_dwF5Gl5kuFLWS9Tllmp4OCyVBwo0hVI25qi3ZiV-maVgXQ7wmZ8dKjEGu1hb5u7w97Vbz6Dw$ 

-------------------------------------------------------------------
NSF NHERI SimCenter
https://urldefense.us/v3/__https://simcenter.designsafe-ci.org/__;!!G_uCfscf7eWS!eYHZJmdbbAvMW_dwF5Gl5kuFLWS9Tllmp4OCyVBwo0hVI25qi3ZiV-maVgXQ7wmZ8dKjEGu1hb5u7w_SCyLZOg$ 
-------------------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20250324/ba12d97f/attachment-0001.html>


More information about the petsc-users mailing list