Elmer/FreeCAD disappears when running simulation

About the development of the FEM module/workbench.

Moderator: bernd

wmayer
Founder
Posts: 20241
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Elmer/FreeCAD disappears when running simulation

Post by wmayer »

thschrader wrote: Sun Aug 14, 2022 10:01 am When the sim seems to come to an end, suddenly FC disappears completely.
There are two things you should do:
  • Start FreeCAD with the option --write-log. You will find FreeCAD.log in %APPDATA%\FreeCAD
  • Check if you can find a file crash.dmp with a suitable time stamp in %APPDATA%\FreeCAD or a sub-directory there
thschrader
Veteran
Posts: 3129
Joined: Sat May 20, 2017 12:06 pm
Location: Germany

Re: Elmer/FreeCAD disappears when running simulation

Post by thschrader »

wmayer wrote: Mon Aug 15, 2022 5:01 pm There are two things you should do:
  • Start FreeCAD with the option --write-log. You will find FreeCAD.log in %APPDATA%\FreeCAD
  • Check if you can find a file crash.dmp with a suitable time stamp in %APPDATA%\FreeCAD or a sub-directory there
Here are the log/dmp files with test example for elmer:
beamElmer.FCStd
(10.99 KiB) Downloaded 13 times
FC_log_dmp_files.zip
(66.36 KiB) Downloaded 14 times
wmayer
Founder
Posts: 20241
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Elmer/FreeCAD disappears when running simulation

Post by wmayer »

These are the last function calls:

Code: Select all

Log: Id: 13468: ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFC6BF46656)
Log: Id: 13468: 00007FFC6BF46656 (nglib): (filename not available): netgen::HPRefinement
Log: Id: 11340: ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFC6BF47299)
Log: Id: 3436: ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFC6BF47299)
Log: Id: 11340: 00007FFC6BF47299 (nglib): (filename not available): netgen::HPRefinement
Log: Id: 3436: 00007FFC6BF47299 (nglib): (filename not available): netgen::HPRefinement
Log: Id: 13468: ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFC6BF472CF)
Log: Id: 13468: 00007FFC6BF472CF (nglib): (filename not available): netgen::HPRefinement
Log: Id: 11340: ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFC6BE573C0)
Log: Id: 11340: 00007FFC6BE573C0 (ngcore): (filename not available): ngcore::TaskManager::Loop
Log: Id: 3436: ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFC6BE573C0)
Log: Id: 3436: 00007FFC6BE573C0 (ngcore): (filename not available): ngcore::TaskManager::Loop
Log: Id: 13468: ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFC6BE573C0)
Log: Id: 13468: 00007FFC6BE573C0 (ngcore): (filename not available): ngcore::TaskManager::Loop
Log: Id: 11340: ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFC6BE55074)
Log: Id: 11340: 00007FFC6BE55074 (ngcore): (filename not available): ngcore::TablePrefixSum64
Log: Id: 3436: ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFC6BE55074)
Log: Id: 13468: ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFC6BE55074)
Log: Id: 3436: 00007FFC6BE55074 (ngcore): (filename not available): ngcore::TablePrefixSum64
Log: Id: 13468: 00007FFC6BE55074 (ngcore): (filename not available): ngcore::TablePrefixSum64
So, it's obviously a crash caused by netgen when doing a refinement.

Inside FreeCAD.log there is this message:

Code: Select all

(Parent is QTextDocument(0x1b1965f6230), parent's thread is QThread(0x1b196606550), current thread is QThread(0x1b1d8bc1220)
Err: Illegal storage access...
Log: Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt.
You must not let any exception whatsoever propagate through Qt code.
If that is not possible, in Qt 5 you must at least reimplement
QCoreApplication::notify() and catch all exceptions there.

Err: Event loop left through unknown unhandled exception
I am not sure why Qt prints this output since we have already re-implemented QCoreApplication::notify() and handle all exceptions there. But maybe the problem is caused when a segmentation fault occurs inside a thread.
Post Reply