Crashing troubles

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Davide Simonetti
Posts: 6
Joined: Wed Apr 23, 2014 5:47 am

Crashing troubles

Post by Davide Simonetti » Fri May 09, 2014 8:19 am

Hi guys I had some problems with the launch of software.I was modifying a model in XML environment and when i tried to launch the program it has been crash.
The error that has been point out is:


# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000007fef0edb8da, pid=1352, tid=1640
#
# JRE version: 7.0_25-b16
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.25-b01 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C [OpenSim_SimTKsimbody.dll+0xdb8da] SimTK::SimbodyMatterSubsystem::updMobilizedBody+0xa
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
# http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.


Now, is there someone who can please explain me what's going on??

Regards,
Davide

User avatar
Ayman Habib
Posts: 2248
Joined: Fri Apr 01, 2005 12:24 pm

Re: Crashing troubles

Post by Ayman Habib » Fri May 09, 2014 9:44 am

Hi Davide,

When working with the XML directly you're working under the hood and potentially can make an xml file that corresponds to an invalid model and would cause the software to crash if it runs into unexpected arrangement. We have code that tries to catch these situations but apparently it didn't catch yours. Please file a bug report so we can fix that and give useful error message in the future.
Please attach the file to the bug report or post it here and we'll help you troubleshoot.

From the stacktrace it looks like a connectivity problem for the underlying multbody system, or trying to reference a body that doesn't exist or not defined yet. Possible reasons:
- Most likely: typo in specifying a body name (e.g in a joint, constraint or force)
- Model has no ground
- The graph representing the bodies and joints is not a tree structure.

Hope this helps,
-Ayman

User avatar
Davide Simonetti
Posts: 6
Joined: Wed Apr 23, 2014 5:47 am

Re: Crashing troubles

Post by Davide Simonetti » Fri May 09, 2014 10:11 am

Thank you very much for your advice but unfortunately now i can't launch the program anymore and it is very strange.

User avatar
Ayman Habib
Posts: 2248
Joined: Fri Apr 01, 2005 12:24 pm

Re: Crashing troubles

Post by Ayman Habib » Fri May 09, 2014 10:41 am

Davide,

It's possible that the program crashes on entry while trying to read the bad model. This can be fixed by removing the file AppState.xml stored in the installation directory that the program uses to restore the last set of open models. You could laso rename the file for the problematic model and the program will skip over it on launch.

Hope this helps,
-Ayman

User avatar
Davide Simonetti
Posts: 6
Joined: Wed Apr 23, 2014 5:47 am

Re: Crashing troubles

Post by Davide Simonetti » Mon May 12, 2014 6:24 am

Thank you Ayman your help has been great. Now I can work again.
Regards,
Davide

User avatar
Claudio Pizzolato
Posts: 48
Joined: Sat Apr 30, 2011 7:05 am

Re: Crashing troubles

Post by Claudio Pizzolato » Tue May 13, 2014 12:39 am

Hi Ayman,

since we are talking about the parsing of XML data, all the errors and unexpected behaviours caused by invalid XMLs could be solved by the introduction of a proper XML Schema Definition (XSD), or grammar. An XSD is used to express a set of rules to which a XML document must conform in order to be considered valid. A XSD defines the elements and the attributes that can appear in the XML document, their data types, which elements are child elements, and the order and number of child elements. Moreover, stating the set of rules that must be followed during the creation of a XML would help the users in the creation of personalised XMLs.

Generation of code to bind data between XML and C++ is widely supported by open source tools (http://www.codesynthesis.com/products/xsd/). Notably, automatic code generation minimizes the effort needed to adapt application to changes in the document structure, allowing an easy code maintainability.

Just my two cents.

Cheers
Claudio

POST REPLY