Option type error in saline-driven-gravity-current tests

Bug #873264 reported by Tim Bond
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fluidity
Fix Released
Medium
Stephan Kramer

Bug Description

Three tests, saline-driven-gravity-current, saline-driven-gravity-current-parallel, and saline-driven-gravity-current-2D run through buildbot generate an option type error:

 Option type error. Key is: /material_phase[0]/scalar_field::Pressure/prognostic
 /scheme/use_projection_method &/full_schur_complement/preconditioner_
 matrix[0]/name

This appears to be the same problem as bug lp:873180, lp:873259 and lp:873267

Tim Bond (timothy-bond)
summary: - Option type error in saline-driven-gravity-current-parallel
+ Option type error in saline-driven-gravity-current tests
description: updated
description: updated
Tim Bond (timothy-bond)
description: updated
Tim Bond (timothy-bond)
description: updated
Revision history for this message
Stephan Kramer (s-kramer) wrote :

Hm, it seems to be in check_options() of Momentum_Equation.F90:

(gdb) bt
#0 0x00000032f7a35d30 in exit () from /lib64/libc.so.6
#1 0x00002aaaabf74efd in for_stop_core () from /apps/intel/fc/11.1.073/lib/intel64/libifcore.so.5
#2 0x0000000000eb481b in spud_mp_option_error_ ()
#3 0x0000000000eb0097 in spud_mp_get_option_character_ ()
#4 0x0000000000ab137b in momentum_equation_mp_momentum_equation_check_options_ ()
#5 0x00000000008aa277 in check_options_ ()
#6 0x00000000005a22a1 in fluids_module_mp_fluids_ ()
#7 0x0000000000585824 in mainfl ()
#8 0x000000000057fbc9 in main ()

but looking at that code I don't really see how it gets to that get_option() in the first place. Trying again with debug build...

Revision history for this message
Stephan Kramer (s-kramer) wrote :

(gdb) bt
#0 0x00000032f7a35d30 in exit () from /lib64/libc.so.6
#1 0x00002aaaabf74efd in for_stop_core () from /apps/intel/fc/11.1.073/lib/intel64/libifcore.so.5
#2 0x0000000001ffc6b7 in spud_mp_option_error_ ()
#3 0x0000000001ff7f33 in spud_mp_get_option_character_ ()
#4 0x00000000015f3d3a in MOMENTUM_EQUATION::momentum_equation_check_options () at Momentum_Equation.F90:1939
#5 0x0000000000fa1a4f in check_options () at check_options.F90:56
#6 0x00000000005d470d in FLUIDS_MODULE::fluids () at Fluids.F90:181
#7 0x00000000005a9f93 in mainfl () at mainfl.F90:75
#8 0x00000000005a2e1e in main (argc=4, argv=0x7fffffffc828) at main.cpp:91

Revision history for this message
Stephan Kramer (s-kramer) wrote :

Thanks to a suggestion of Cian I started looking at the string that gets passed into the have_option() of line 1930.

                 if(have_option("/material_phase["//int2str(i)//&
                     "]/scalar_field::Pressure/prognostic&
                     &/scheme/use_projection_method&
                     &/full_schur_complement")) then

By examing the stack, I get:

0x7ffffffd0670: '/material_phase[0]/scalar_field::Pressure/prognostic/scheme/use_projection_method &/full_schur_complement_\001\000'

i.e. there is a ' &' inserted after 'use_projection_method'!

Revision history for this message
Tim Bond (timothy-bond) wrote :

Fixed following Stephan's fix in revision 3612.

Changed in fluidity:
assignee: Hannah Hiester (h-hiester07) → Stephan Kramer (s-kramer)
importance: Undecided → Medium
status: New → Fix Committed
Tim Bond (timothy-bond)
Changed in fluidity:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.