TMinuit again

Martin Woudstra (woudstra@nikhef.nl)
Thu, 13 Mar 1997 13:16:38 +0100


Hello,

I changed the code to mnexcm, but it still crashes.
In fact, I tried this command before, it crashed, and I tried
the other one (mncomd).

The code:

Double_t PrintOutLevel = -1; // default no minuit output
if (DebugLevel)
{
PrintOutLevel = min(DebugLevel - 1, 3); // set minuit output level
(3=maximum)
}
Int_t ierr = 0;
gMinuit->mnexcm("set print", &PrintOutLevel, 1, ierr);

run-time error:

*** Break *** segmentation violation

( 0) 0xc1a0f320 StackTrace__11TUnixSystemFv + 0x30
[/localdisk/woudstra/root/lib/libUnix.sl]
( 1) 0xc1a0dc7c DispatchSignals__11TUnixSystemF8ESignals + 0x12c
[/localdisk/woudstra/root/lib/libUnix.sl]
( 2) 0xc1a0c804 SigHandler__F8ESignals + 0x2c
[/localdisk/woudstra/root/lib/libUnix.sl]
( 3) 0xc1a10dc4 sighandler__Fi + 0x5c
[/localdisk/woudstra/root/lib/libUnix.sl]
( 4) 0xc01264d8 _sigreturn [/usr/lib/libc.1]
( 5) 0xc1b61dfc mnexcm__7TMinuitF7TStringPdiRi + 0x114
[/localdisk/woudstra/root/lib/libMinuit.sl]
( 6) 0x0001415c Init__9CGeometryFPcR15CAlignmentTypes + 0x660
[.//geofix]
( 7) 0x0000b010 main + 0x3c0 [.//geofix]
( 8) 0xc0077abc _start + 0x8c [/usr/lib/libc.1]
( 9) 0x00008344 $START$ + 0x134 [.//geofix]

In the debugger I find a strange thing, the type of
PrintOutLevel seems to be va_list instead of Double_t;
(the type of ierr is OK: Int_t)
Is this maybe the cause of the crash?
And what causes this strange behaviour (I've had it before).
Is it the CC compiler, or the ld linker or what?

I hope you can clarify this problem to me.

Martin.