UpdateMsg.toString() generates coredump

Hi, my application generates core yesterday when calling UpdateMsg.toString(). The stack trace causing coredump as follows:

image


is there any clue how to check the reason? Thanks

Best Answer

  • @wangfugen

    If you still found the issue and it often crashes in your environment. You may turn on the RSSL trace file so we can review the data the server sends to the app at the time problem occurs from the RSSL trace log.

    You can set XmlTraceToFile to 1 in EMAConfig.xml to turn on the log like the following sample.

    <DefaultConsumer value="Consumer_1"/>      
        <Consumer>          
            <Name value="Consumer_1"/>          
            ...          
            <XmlTraceToFile value="1"/>          
            <XmlTraceToStdout value="0"/>      
        </Consumer>
        ...

    Anyway, it may not suitable for the app that needs to subscribe to a high update rate RIC because it can generate a huge XML trace file.

Answers

  • @wangfugen

    It seems to be the case that there is unexpected data come with the update message. So it causes the crash when EMA internal codes iterate through field list and call toString to get value for each field.

    -Do you know what RIC you are subscribing to and get the crash? and What version of EMA C++ you are using?

    -Does the application call updateMessage.ToString for logging purposes? If so do you have any app log before it crashes? Just would like to see the list of fields/fid the RIC can provide.

  • @moragodkrit.chumsri_1 Thanks for your reply. I'm using EMA version 1.3.1.L1, and the ric and field that cause the crash could not be found now. I upgraded EMA to latest version 1.5.0.G1 from github and redeployed the compiled application which corrupted the original crash scene.

    Yes, I use updateMessage.ToString() for logging purpose. I also suspect it may cause by certain unexpected data, so I choose to update ema version in debug mode. I will check if the app crash again. Thanks.