[dune-pdelab] Unknown exception

Jö Fahlke jorrit at jorrit.de
Thu Sep 3 01:17:53 CEST 2015


Am Wed,  2. Sep 2015, 20:49:07 +0200 schrieb conf86 at web.de:
> Date: Wed, 2 Sep 2015 20:49:07 +0200
> From: conf86 at web.de
> To: dune-pdelab at dune-project.org
> Subject: [dune-pdelab] Unknown exception
> 
> I don't know if this DUNE related enough to be asked here, but I got the "unknown exception" error during calculation.
> 
> I executed the program and it calculated 263 time steps, then I got the error:
> 
> TIME STEP [Alexander (order 2)]    263 time (from):   2.6200e+1 dt:  
> 1.0000e-1 time (to):   2.6300e+1
> STAGE 1 time (to):   2.6229e+1.
> === matrix setup skipped (matrix already allocated)
> === matrix assembly (max) 0.07737 s
> === residual assembly (max) 0.009837 s
> === solving (reduction: 1e-10) 0.003325 s
> STAGE 2 time (to):   2.6300e+1.
> === matrix setup skipped (matrix already allocated)
> === matrix assembly (max) 0.05561 s
> === residual assembly (max) 0.008909 s
> === solving (reduction: 1e-10) 0.003059 s
> ::: timesteps         263 (263)
> ::: nl iterations    1575 (1575)
> ::: lin iterations   1575 (1575)
> ::: assemble time    4.0507e+01 (4.0507e+01)
> ::: lin solve time   1.6890e+00 (1.6890e+00)
> Unknown exception thrown!
> terminate called after throwing an instance of 'std::ios_base::failure'
>   what():  basic_ios::clear
> Aborted (core dumped)

Hmm, some I/O-stream operation has failed.  Typically, something tried to read
something from some stream, but the actual characters did not match the
expected format (which would set failbit) or a file could not be opened or
disk was full (which would set badbit).  However, streams do not usually throw
exceptions when these bits are set, you have to tell them to do so, bei
calling stream.exceptions(...).

I don't think that is done in many places in Dune, so you could try and grep
for "exceptions *\(" or similar, maybe one of the occurrences will tell you
something.

Failing that, you can try running your program through strace so see what the
last I/O-operation was.

Failing that, you can try recompiling with debug symbols, running the program
in gdb, and doing ye olde "catch throw" thingy to see the backtrace.

When debugging, be aware of your locale.  Some libraries can set the locale
from the environment behind your back.  If that locale is german, reading
floating point numbers may stop working because the expected format is
suddenly "3,1415" instead of "3.1415".  There are probably places in Dune that
are not guarding against such locale issues.

Regards,
Jö.

> The calculated data also look normal until the 263th step.
> The calculations were fine previously, the only thing I did was changing some parameters/terms in the code and the mesh (unfortunately I didn't make any backup). I tried to change it back, but the error remained. 
> 
> Do you have any idea where this might come from? 
> 
> 
> Best regards
> 
> _______________________________________________
> dune-pdelab mailing list
> dune-pdelab at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune-pdelab
> 

-- 
Jorrit (Jö) Fahlke, Institute for Computational und Applied Mathematics,
University of Münster, Orleans-Ring 10, D-48149 Münster
Tel: +49 251 83 35146 Fax: +49 251 83 32729

[Zum Thema GNOME 3]
(15:11:22) marina: linus ist auf meiner seite
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 811 bytes
Desc: Digital signature
URL: <https://lists.dune-project.org/pipermail/dune-pdelab/attachments/20150903/680cffcc/attachment.sig>


More information about the dune-pdelab mailing list