Opened 12 years ago

Last modified 12 years ago

#2039 closed defect

Nonlinear solver prints random strings instead of system names — at Version 1

Reported by: Martin Sjölund Owned by: Willi Braun
Priority: high Milestone: 1.9.0
Component: Code Generation Version: trunk
Keywords: Cc:

Description (last modified by Martin Sjölund)

Nonlinear solver prints random strings instead of system names, for example the following:

[martin@mega msl32]$ for f in `seq 1 100`; do ./Modelica.Electrical.Machines.Examples.SynchronousInductionMachines.SMEE_LoadDump |& grep -o "Error.*time" | uniq; done
Error solving nonlinear system r at time
Error solving nonlinear system  at time
Error solving nonlinear system  at time
Error solving nonlinear system false at time
Error solving nonlinear system 1553 at time
Error solving nonlinear system r at time
Error solving nonlinear system parameter at time
Error solving nonlinear system r at time
Error solving nonlinear system voltageController.addSat.k2 at time
Error solving nonlinear system  at time
Error solving nonlinear system true at time
Error solving nonlinear system false at time
Error solving nonlinear system  at time
Error solving nonlinear system 0K at time
Error solving nonlinear system `R at time
Error solving nonlinear system false at time
Error solving nonlinear system true at time
Error solving nonlinear system Real at time
Error solving nonlinear system voltageController.limiter.uMax at time
Error solving nonlinear system  at time
Error solving nonlinear system  at time
Error solving nonlinear system  at time
Error solving nonlinear system 1.0 at time
Error solving nonlinear system (null) at time
Error solving nonlinear system Џ/ at time
Error solving nonlinear system  at time
Error solving nonlinear system 1551 at time
Error solving nonlinear system x[1,1] at time
...

Running the executable through gdb always gives the same string (Error solving nonlinear system �K�). So something is fishy.

Change History (1)

comment:1 by Martin Sjölund, 12 years ago

Description: modified (diff)

Valgrind says (after disabling some SSE instructions valgrind does not handle)...

==560== Invalid read of size 4
==560==    at 0x49FFDF: solveHybrd (nonlinearSolverHybrd.c:421)
==560==    by 0x49F144: solve_nonlinear_system (nonlinearSystem.c:165)
==560==  Address 0xac6b464 is 12 bytes after a block of size 40 alloc'd
==560==    at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==560==    by 0x41BAFE: setupDataStruc2 (in /mnt/mech/trunk/testsuite/simulation/libraries/msl32/Modelica.Electrical.Machines.Examples.SynchronousInductionMachines.SMEE_LoadDump)
==560== Invalid read of size 4
==560==    at 0x49FFDF: solveHybrd (nonlinearSolverHybrd.c:421)
Note: See TracTickets for help on using tickets.