So I am trying to narrow down where in the code the segfault occurs when some 
of the compiled in max constant values are exceeded. I was hoping to see what 
the code in those areas looked like but I seem to be running into an unusual 
problem with running maui inside gdb. I have two versions of maui compiled. I 
have a stock version that sagfaults when a certain type of work load is 
submitted. The second version has various compiled in constants adjusted so the 
segfault does not occur with the same job submission.

I compiled maui with -g and -O0 so the symbols were there and there were no 
optimizations.

So I loaded the default segfault version into gdb and set a breakpoint where 
some log messages were repeated for each task occurrence. I started the 
application with the following options:

maui -d --configfile=/usr/local/maui/maui.cfg --loglevel=10

Then in another window I submit the problem job that causes the segfault and 
then step through the loops to get to the point where the segfault occurs. Once 
I got to see where in the code the segfault would occur inside gdb, I exited 
gdb and  I went and one at a time adjusted the various max constants and 
recompiled maui. Each time I made one single adjustment I would reload my new 
maui binary into gdb and repeat the process. I continued this process until I 
got to the point where I had the same max constants settings for the binary 
that worked successfully outside of gdb. I expected at some point that the maui 
binary with the right adjustments would NOT segfault inside gdb however this is 
not the case. No matter what adjustments I made maui would still segfault at 
the same place when I ran it inside gdb and submitted the problem job. This 
occurs at line 803 of src/moab/MQueue.c  If I then took that same adjusted 
binary that had the successful settings for the max constants  and ran it 
normally outside gdb, it does NOT segfault when that job is submitted.

So is there some special magic to get maui to run inside a gdb debugger 
environment so it will act like it does outside of gdb?
I was researching on google and I see posts where things segfault outside of 
gdb but not inside gdb. I was not able to find any references of the opposite 
condition, where something ran normally outside of gdb but segfaulted when run 
inside the debugger.

Any thoughts or suggestions?
--
Steven DuChene
_______________________________________________
mauiusers mailing list
[email protected]
http://www.supercluster.org/mailman/listinfo/mauiusers

Reply via email to