﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
5119	Segmentation fault in getNumericalJacobianHomotopy when doing a fmuCheck	tknodt@…	Lennart Ochel	"I hope providing component FMI here is correct, as this seems to only happen when I compile a FMU (on win32).
I marked this a blocker, because it causes a problem on my real application, when using the FMU with Vector CANoe 11.

Backtrace:
{{{
#0  0x6ac8b2c4 in getNumericalJacobianHomotopy () from C:\Users\tknodt\AppData\Local\Temp\fmucktmpa13460\binaries\win32\CANoe.dll
#1  0x6ac8dbd5 in wrapper_fvec_der () from C:\Users\tknodt\AppData\Local\Temp\fmucktmpa13460\binaries\win32\CANoe.dll
#2  0x6ac931eb in solveHomotopy () from C:\Users\tknodt\AppData\Local\Temp\fmucktmpa13460\binaries\win32\CANoe.dll
#3  0x6ac89f05 in solve_nonlinear_system () from C:\Users\tknodt\AppData\Local\Temp\fmucktmpa13460\binaries\win32\CANoe.dll
#4  0x6abdc2d3 in CANoe_eqFunction_98 (data=data@entry=0x4d511c8, threadData=threadData@entry=0x4d53d28) at CANoe_06inz.c:444
#5  0x6abdca3f in CANoe_functionInitialEquations_0 (data=data@entry=0x4d511c8, threadData=threadData@entry=0x4d53d28) at CANoe_06inz.c:719
#6  0x6abdcf4f in CANoe_functionInitialEquations (data=0x4d511c8, threadData=0x4d53d28) at CANoe_06inz.c:792
#7  0x6ac98c69 in symbolic_initialization () from C:\Users\tknodt\AppData\Local\Temp\fmucktmpa13460\binaries\win32\CANoe.dll
#8  0x6ac996d3 in initialization () from C:\Users\tknodt\AppData\Local\Temp\fmucktmpa13460\binaries\win32\CANoe.dll
#9  0x6abc2a42 in fmi2EnterInitializationMode (c=0x4d39d38) at include/fmi2/fmu2_model_interface.c:570
}}}

Relevant disassemble:
{{{
Dump of assembler code for function getNumericalJacobianHomotopy:
   0x6ac8b290 <+0>:     push   %ebp
   0x6ac8b291 <+1>:     push   %edi
   0x6ac8b292 <+2>:     push   %esi
   0x6ac8b293 <+3>:     push   %ebx
   0x6ac8b294 <+4>:     mov    %eax,%ebx
   0x6ac8b296 <+6>:     sub    $0x5c,%esp
   0x6ac8b299 <+9>:     mov    0x8c(%eax),%esi
   0x6ac8b29f <+15>:    mov    %edx,0x48(%esp)
   0x6ac8b2a3 <+19>:    mov    %ecx,0x4c(%esp)
   0x6ac8b2a7 <+23>:    test   %esi,%esi
   0x6ac8b2a9 <+25>:    jne    0x6ac8b3ed <getNumericalJacobianHomotopy+349>
   0x6ac8b2af <+31>:    mov    0x4(%eax),%ecx
   0x6ac8b2b2 <+34>:    test   %ecx,%ecx
   0x6ac8b2b4 <+36>:    jle    0x6ac8b3e3 <getNumericalJacobianHomotopy+339>
   0x6ac8b2ba <+42>:    movsd  0x6acd4820,%xmm7
   0x6ac8b2c2 <+50>:    xor    %edi,%edi
=> 0x6ac8b2c4 <+52>:    movaps %xmm7,0x20(%esp)
   0x6ac8b2c9 <+57>:    movsd  0x6acd4830,%xmm7
}}}

I can workaround this, by modifying the {{{Makefile}}} in the {{{fmu}}} file and recreating it.
{{{
nozip: $(MAINOBJ) CANoe_functions.h CANoe_literals.h $(OFILES) $(RUNTIMEFILES) $(SOLVEROBJSPATH:%=$(RUNTIMEDIR)/%.o)
	$(CXX) -shared -I. -o CANoe$(DLLEXT) $(MAINOBJ) $(SOLVEROBJSPATH:%=$(RUNTIMEDIR)/%.o) $(RUNTIMEFILES) $(OFILES) $(CPPFLAGS) -L""...""  ""-LC:/OpenModelica1.13.0-dev-32bit/lib//omc"" ""-LC:/OpenModelica1.13.0-dev-32bit/lib/"" ""-L%APPDATA%/.openmodelica/binaries/Modelica"" ""-LC:/OpenModelica1.13.0-dev-32bit/lib/omlibrary/Modelica 3.2.2/Resources/Library/mingw32"" ""-LC:/OpenModelica1.13.0-dev-32bit/lib/omlibrary/Modelica 3.2.2/Resources/Library/win32"" ""-LC:/OpenModelica1.13.0-dev-32bit/lib/omlibrary/Modelica 3.2.2/Resources/Library"" -lModelicaStandardTables -lModelicaIO -lModelicaMatIO -lzlib $(CFLAGS) $(LDFLAGS) -llis -Wl,--kill-at
}}}
Added is the {{{$(SOLVEROBJSPATH:%=$(RUNTIMEDIR)/%.o)}}} in both lines.

This also happened with version 1.12.0, not only with the 1.13.0-dev-nightly."	defect	closed	blocker	Future	FMI	v1.13.0-dev-nightly	fixed		
