Can you do the following and configure/rebuild petsc-dev - and see if
the error goes away?

rm -rf externalpacakges/sowing* PETSC_ARCH/conf/sowing

Satish

On Thu, 27 Oct 2011, Blaise Bourdin wrote:

> Hi,
> 
> Thanks for all the help in tracking our issue with TS... I think that  there 
> is a small problem with the auto binding for TSGetConvergedReason (both dev 
> and 3.2).
> I added a call to TSGetConvergedReason after the TSSolve in ex22f.F and get 
> the following result:
> 
> (gdb) cont
> Continuing.
> [0]PETSC ERROR: TSGetConvergedReason() line 2755 in 
> /opt/HPC/petsc-dev/src/ts/interface/ts.c Invalid Pointer: Parameter # 2
> 
> Program received signal SIGABRT, Aborted.
> 0x00007fff98e4e82a in __kill ()
> (gdb) where
> #0  0x00007fff98e4e82a in __kill ()
> #1  0x00007fff975f7a9c in abort ()
> #2  0x0000000105bcbd52 in PetscAbortErrorHandler (comm=1140850689, line=2755, 
> fun=0x10691bb70 'TSGetConvergedReason\000', file=0x10691ae38 
> '/opt/HPC/petsc-dev/src/ts/interface/ts.c\000', dir=0x1068be9a0 '\000', n=68, 
> p=Invalid F77 type code 5 in symbol table.
> ) at errabort.c:62
> #3  0x0000000105bc4ce4 in PetscError (comm=1140850689, line=2755, 
> func=0x10691bb70 'TSGetConvergedReason\000', file=0x10691ae38 
> '/opt/HPC/petsc-dev/src/ts/interface/ts.c\000', dir=0x1068be9a0 '\000', n=68, 
> p=Invalid F77 type code 5 in symbol table.
> ) at err.c:356
> #4  0x000000010689e86b in TSGetConvergedReason (ts=0x7f7fab8e4370, 
> reason=0x162f727375) at ts.c:2755
> #5  0x000000010682772d in tsgetconvergedreason_ (ts=0x7fff656ccf80, 
> reason=0x7fff656ccf8c, __ierr=0x7fff656ccfa8) at tsf.c:433
> #6  0x0000000105ad037a in MAIN__ () at ex22f.F:127
> #7  0x0000000105ad0426 in main (argc=3, argv=0x7fff656cd208 './ex22f\000') at 
> ex22f.F:137
> 
> 
> 
> 
> If I replace te current binding in src/ts/interface/ftn-auto/tsf.c (yes, I 
> know I am not supposed to do that):
> void PETSC_STDCALL  tsgetconvergedreason_(TS ts,TSConvergedReason *reason, 
> int *__ierr ){
> *__ierr = TSGetConvergedReason(
>         (TS)PetscToPointer((ts) ),
>         (TSConvergedReason* )PetscToPointer((reason) ));
> 
> with this one:
> void PETSC_STDCALL  tsgetconvergedreason_(TS ts,TSConvergedReason *reason, 
> int *__ierr ){
> *__ierr = TSGetConvergedReason(
>         (TS)PetscToPointer((ts) ),
>         reason);
> }
> 
> everything seems to work OK. Does this function need a custom binding?
> 
> And also, the man page for TSGetConvergedReason states "see TSConvergedReason 
> or the manual pages for the individual convergence tests for complete lists", 
> but this man page does not seem to exist.
> 
> Thanks,
> 
> Blaise
> 
> 


Reply via email to