﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
5130	Segmentation fault when fmi2Terminate gets called twice	tknodt@…	Lennart Ochel	"I just saw that with a bad timing in the host I am using, {{{fmi2Terminate}}} seems to get called twice.
This is surely not correct, but also shows something not nice in the runtime.
I get a segmentation fault in {{{listClear}}} when trying the same with PyFMI:
{{{
Dump of assembler code for function listClear:
   0x6aef1df0 <+0>:     push   %edi
   0x6aef1df1 <+1>:     push   %esi
   0x6aef1df2 <+2>:     push   %ebx
   0x6aef1df3 <+3>:     sub    $0x10,%esp
   0x6aef1df6 <+6>:     mov    0x20(%esp),%edi
   0x6aef1dfa <+10>:    test   %edi,%edi
   0x6aef1dfc <+12>:    je     0x6aef1e33 <listClear+67>
   0x6aef1dfe <+14>:    mov    (%edi),%ebx
   0x6aef1e00 <+16>:    test   %ebx,%ebx
   0x6aef1e02 <+18>:    je     0x6aef1e1f <listClear+47>
=> 0x6aef1e04 <+20>:    mov    (%ebx),%eax
   0x6aef1e06 <+22>:    mov    0x4(%ebx),%esi
   0x6aef1e09 <+25>:    mov    %eax,(%esp)
   0x6aef1e0c <+28>:    call   0x6af086b0 <free>
   0x6aef1e11 <+33>:    mov    %ebx,(%esp)
   0x6aef1e14 <+36>:    mov    %esi,%ebx
   0x6aef1e16 <+38>:    call   0x6af086b0 <free>
   0x6aef1e1b <+43>:    test   %esi,%esi
   0x6aef1e1d <+45>:    jne    0x6aef1e04 <listClear+20>
   0x6aef1e1f <+47>:    movl   $0x0,0xc(%edi)
   0x6aef1e26 <+54>:    movl   $0x0,(%edi)
   0x6aef1e2c <+60>:    movl   $0x0,0x4(%edi)
   0x6aef1e33 <+67>:    add    $0x10,%esp
   0x6aef1e36 <+70>:    pop    %ebx
   0x6aef1e37 <+71>:    pop    %esi
   0x6aef1e38 <+72>:    pop    %edi
   0x6aef1e39 <+73>:    ret
}}}

Stacktrace:
{{{
#0  0x6aef1e04 in listClear () from c:\users\tknodt\appdata\local\temp\JModelica.org\jm_tmp0cvfav\binaries\win32\CANoe.dll
#1  0x6aef1e54 in freeList () from c:\users\tknodt\appdata\local\temp\JModelica.org\jm_tmp0cvfav\binaries\win32\CANoe.dll
#2  0x6aede4b0 in freeValueList () from c:\users\tknodt\appdata\local\temp\JModelica.org\jm_tmp0cvfav\binaries\win32\CANoe.dll
#3  0x6aedd285 in freeNonlinearSystems ()
   from c:\users\tknodt\appdata\local\temp\JModelica.org\jm_tmp0cvfav\binaries\win32\CANoe.dll
#4  0x6abc3512 in fmi2Terminate (c=0x33d1658) at include/fmi2/fmu2_model_interface.c:639
#5  0x70444d7b in __pyx_pw_5pyfmi_3fmi_13FMUModelBase2_29terminate () from C:\JModelica.org-2.2\install\Python\pyfmi\fmi.pyd
#6  0x501c124f in python27!PyEval_GetFuncDesc () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#7  0x501bf1bf in python27!PyEval_EvalFrameEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#8  0x501c02bc in python27!PyEval_EvalCodeEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#9  0x501c2687 in python27!_PyEval_SliceIndex () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#10 0x501be223 in python27!PyEval_EvalFrameEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#11 0x501c02bc in python27!PyEval_EvalCodeEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#12 0x501c15a3 in python27!PyEval_GetFuncDesc () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#13 0x501c1452 in python27!PyEval_GetFuncDesc () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#14 0x501bf1bf in python27!PyEval_EvalFrameEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#15 0x501c02bc in python27!PyEval_EvalCodeEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#16 0x501c15a3 in python27!PyEval_GetFuncDesc () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#17 0x501c1452 in python27!PyEval_GetFuncDesc () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#18 0x501bf1bf in python27!PyEval_EvalFrameEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#19 0x501c02bc in python27!PyEval_EvalCodeEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#20 0x501c15a3 in python27!PyEval_GetFuncDesc () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#21 0x501c1452 in python27!PyEval_GetFuncDesc () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#22 0x501bf1bf in python27!PyEval_EvalFrameEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#23 0x501c02bc in python27!PyEval_EvalCodeEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#24 0x501c15a3 in python27!PyEval_GetFuncDesc () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#25 0x501c1452 in python27!PyEval_GetFuncDesc () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#26 0x501bf1bf in python27!PyEval_EvalFrameEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#27 0x501c02bc in python27!PyEval_EvalCodeEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#28 0x501c15a3 in python27!PyEval_GetFuncDesc () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#29 0x501c1452 in python27!PyEval_GetFuncDesc () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#30 0x501bf1bf in python27!PyEval_EvalFrameEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#31 0x501c02bc in python27!PyEval_EvalCodeEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#32 0x501c15a3 in python27!PyEval_GetFuncDesc () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#33 0x501c1452 in python27!PyEval_GetFuncDesc () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#34 0x501bf1bf in python27!PyEval_EvalFrameEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#35 0x501c02bc in python27!PyEval_EvalCodeEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#36 0x50165021 in python27!PyFunction_SetClosure () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#37 0x5013e16c in python27!PyObject_Call () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#38 0x501c1bc6 in python27!PyEval_GetFuncDesc () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#39 0x501bf26b in python27!PyEval_EvalFrameEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#40 0x501c02bc in python27!PyEval_EvalCodeEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#41 0x501c15a3 in python27!PyEval_GetFuncDesc () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#42 0x501c1452 in python27!PyEval_GetFuncDesc () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#43 0x501bf1bf in python27!PyEval_EvalFrameEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#44 0x501c02bc in python27!PyEval_EvalCodeEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
---Type <return> to continue, or q <return> to quit---
#45 0x501c2687 in python27!_PyEval_SliceIndex () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#46 0x501be223 in python27!PyEval_EvalFrameEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#47 0x501c02bc in python27!PyEval_EvalCodeEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#48 0x501c15a3 in python27!PyEval_GetFuncDesc () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#49 0x501c1452 in python27!PyEval_GetFuncDesc () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#50 0x501bf1bf in python27!PyEval_EvalFrameEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#51 0x501c02bc in python27!PyEval_EvalCodeEx () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#52 0x50165021 in python27!PyFunction_SetClosure () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#53 0x5013e16c in python27!PyObject_Call () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#54 0x500f1a3e in python27!PyObject_GC_Del () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#55 0x500f2464 in python27!Py_Main () from C:\JModelica.org-2.2\Python27\Python_32\python27.dll
#56 0x1cdd1180 in ?? ()
#57 0x7662343d in KERNEL32!BaseThreadInitThunk () from C:\Windows\syswow64\kernel32.dll
#58 0x77339832 in ntdll!RtlInitializeExceptionChain () from C:\Windows\SysWOW64\ntdll.dll
#59 0x77339805 in ntdll!RtlInitializeExceptionChain () from C:\Windows\SysWOW64\ntdll.dll
#60 0x00000000 in ?? ()
}}}"	defect	closed	high	Future	FMI	v1.13.0-dev-nightly	fixed		
