Opened 12 years ago

Closed 12 years ago

#2060 closed defect (fixed)

index reduction method causes segmentation fault

Reported by: Lennart Ochel Owned by: Jens Frenkel
Priority: high Milestone: 1.9.0
Component: Backend Version: trunk
Keywords: Cc:

Description

The following script

loadString("
package otherTests
  model pendulum4
    parameter Real g=9.81;
    parameter Real L=0.5;
    parameter Real m=1;
    Real x;
    Real y;
    Real vx;
    Real vy;
    Real F;
  initial equation
    y = 0.0;
    der(y) = 0.0;
  equation
    vx = der(x);
    vy = der(y);
    m*der(vx) = -x/L*F;
    m*der(vy) = -y/L*F-m*g;
    x^2+y^2=L^2;
  end pendulum4;
end otherTests;
"); getErrorString();

setIndexReductionMethod("dummyDerivative"); getErrorString();
simulate(otherTests.pendulum4, startTime=0.0, stopTime=5.0); getErrorString();

produces the following output

true
""
true
""
Segmentation fault (core dumped)

for the test-file, see testsuite/simulation/modelica/others/pendulum4.mos

Change History (6)

comment:1 by Jens Frenkel, 12 years ago

This is because the old Index Reduktion does not work in combination with the new Matching Algorithms. Use setMatchingAlgorithm("omc");

The old index reduction will be delete soon.

comment:2 by Lennart Ochel, 12 years ago

Okay - but there should be never ever a segmentation fault - even for bad combinations of everything.
Also there should be some information in the help-text for impossible combinations and at least some kind of message if they are selected anyway.

comment:3 by Jens Frenkel, 12 years ago

The best ist to remove the old matching and index reduction right now from the configuration options. Each second of work is wasted time.

We can discuss this to the next developer meeting.

comment:4 by Lennart Ochel, 12 years ago

I agree. If these are obsolete options/modules they should be removed as soon as possible.

comment:5 by Lennart Ochel, 12 years ago

I get the following compiler-errors if I use setMatchingAlgorithm("omc");

otherTests.pendulum4.o: In function `eqFunction_7':
otherTests.pendulum4.c:(.text+0x10f2): undefined reference to `der'
otherTests.pendulum4.o: In function `eqFunction_8':
otherTests.pendulum4.c:(.text+0x132e): undefined reference to `der'
otherTests.pendulum4.o: In function `eqFunction_17':
otherTests.pendulum4.c:(.text+0x1eb2): undefined reference to `der'
otherTests.pendulum4.o: In function `eqFunction_18':
otherTests.pendulum4.c:(.text+0x20ee): undefined reference to `der'
collect2: ld returned 1 exit status
make: *** [omc_main_target] Error 1

comment:6 by Jens Frenkel, 12 years ago

Resolution: fixed
Status: newclosed
  • indexreduction method and matching "omc" are removed from omc
Note: See TracTickets for help on using tickets.