Opened 12 years ago

Closed 11 years ago

#2060 closed defect (fixed)

index reduction method causes segmentation fault

Reported by: lochel Owned by: jfrenkel
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 Changed 12 years ago by jfrenkel

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 Changed 12 years ago by lochel

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 Changed 12 years ago by jfrenkel

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 Changed 12 years ago by lochel

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

comment:5 Changed 12 years ago by lochel

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 Changed 11 years ago by jfrenkel

  • Resolution set to fixed
  • Status changed from new to closed
  • indexreduction method and matching "omc" are removed from omc
Note: See TracTickets for help on using tickets.