[petsc-dev] catching Fortran users forgetting ierr arg

Barry Smith bsmith at mcs.anl.gov
Thu Aug 2 09:55:49 CDT 2012



   Can we somehow use the PetscCheckPointer() in ALL our Fortran stubs to make sure the user has passed a reasonable ierr arg?

    Barry


Begin forwarded message:

> From: Jed Brown <jedbrown at mcs.anl.gov>
> Subject: Re: [petsc-maint #126615] Problem, please help me
> Date: August 2, 2012 9:51:11 AM CDT
> To: petsc-maint at mcs.anl.gov, Vahid Nekouie <V.Nekouie2 at lboro.ac.uk>
> Reply-To: petsc-maint at mcs.anl.gov, Jed Brown <jedbrown at mcs.anl.gov>
> 
> On Thu, Aug 2, 2012 at 6:56 AM, Vahid Nekouie <V.Nekouie2 at lboro.ac.uk>wrote:
> 
>> (gdb) run
>> Starting program: /home/mmvn-extra/programs/navid/update.out
>> [Thread debugging using libthread_db enabled]
>> g_1           1         224           0
>> g_2         224         224           0
>> Came IN STEP:           1
>> Size u,X,Z,alpha:         761        1701         762        1822
>>  ______ INCREMENT =           1
>>   current time=   1.0000000000000000       dtime=   1.0000000000000000
>> 
>> Program received signal SIGSEGV, Segmentation fault.
>> 0x0000000000450b70 in iscreategeneral_ (comm=0x14b55e0, n=0x7ffffffa79e8,
>>    idx=0x191d5b0, mode=0x7ffffffa79f8, is=0x7ffffffa79ec,
>> __ierr=0x80000000)
>>    at generalf.c:48
>> 48      *__ierr = ISCreateGeneral(
>> 
> 
> The address of ierr does not look valid. What does the call site (in your
> Fortran) look like?
> 




More information about the petsc-dev mailing list