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
