Re: big issues with state machine loading
Thierry Bultel <[email protected]> Tue, 11 Feb 2014 15:05:50 +0100
| Newsgroups | gmane.science.robotics.orocos.devel |
|---|---|
| Message-ID | <[email protected]> |
Le 11/02/2014 14:31, Peter Soetens a écrit : > On Tue, Feb 11, 2014 at 10:18 AM, Thierry Bultel <[email protected]> wrote: >> Le 11/02/2014 10:01, Peter Soetens a écrit : >> >> >> >> On Sat, Feb 8, 2014 at 9:30 AM, Thierry Bultel <[email protected]> wrote: >>> Hi all, >>> >>> We are currently evaluating orocos toolchain 2.7rc3 >>> My configuration is : >>> >>> - boost-1.53.0 >>> - gcc-4.7.3 >>> >>> The test sample is the helloworld.cpp from the tutorials; here is the >>> state machine script: >>> >>> StateMachine States { >>> >>> initial state initState >>> { >>> entry >>> { >>> } >>> >>> transition select Final >>> } >>> final state Final >>> { >>> entry >>> { >>> } >>> >>> // >>> } >>> } >>> >>> RootMachine States sTates >>> >>> >>> I am testing on 2 target architectures, the first one is intel and the >>> second, arm >>> The bug I am mentioning here occur one the real targets, as well as with >>> qemu user. >>> >>> On intel, comments (both "//" and "/* ...*/" )in state machine are >>> detected as errors: >>> >>> Hello [R]> scripting.loadStateMachines("statemachine.osd") >>> 6.129 [ Info ][ScriptingService::loadStateMachine] Parsing file >>> statemachine.osd >>> 6.247 [ ERROR ][ScriptingService::loadStateMachine] statemachine.osd >>> :Parse error at line 18: Syntactic error: Exptected ending '}' at end of >>> state ( or could not find out what this line means ). >>> = false > I can't reproduce this. An equally likely reason is the difference in > Boost version, since boost::spirit changes from time to time. I'm > using Boost 1.46. Peter, I do not quite agree. As I said, I can reproduce the bug with boost-1.35 / orocos-1.x, too, If I upgrade from gcc-4.3.2 (from Debian ) to gcc-4.7.3 (from buildroot). And it is not -only- related to comments, since a comment-less state machine crashes as well. Please tell me if you need more things, for instance I can provide you with our gcc toolchain and sysroot, as well as qemu-arm. Regards Thierry > > Anyhow, there was no specific unit test for this case, so we can add > it anyway and see on which combinations it breaks. It's now present on > rtt's master and toolchain-2.7 branches. > > Peter > > >>> >>> On arm, that directly leads to a SIGSEGV. I do not have a backtrace for >>> now, unfortunately. >>> >>> >>> I would like to add that the bug is also reproducible with orocos-1.1x and >>> boost-1.35, letting me think >>> that this could be due to the compiler version. Our investigations have >>> failed to identity the cause, >>> and I wanted to try with latest orocos version before posting. >> >> I'll add it as a unit test to RTT, then we can easily reproduce it and fix >> it. I had heard earlier complaints about commenting in script code not >> always working. There is a difference between commenting in function blocks >> (like entry { ... }) and outside... so the issue is probably there. >> >> Peter >> >> >> Many thanks Peter, >> >> It nice to hear from you again. >> I would like to point out that the crash on ARM is systematic (and very >> annoying because we are migrating to ARM), >> even with no comments in the state machine at all. It is easily reproducible >> with qemu-arm. >> >> Are there casts with some assumptions about alignment ? That is what I would >> think about, since it depends >> on the compiler and/or architecture. >> >> Regards >> Thierry >> -- Orocos-Dev mailing list [email protected] http://lists.mech.kuleuven.be/mailman/listinfo/orocos-dev