Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2005-09-27 11:38:04


Thanks muchly for tracking this down! I'm working on the fixes right
now; will commit shortly.

On Sep 27, 2005, at 11:59 AM, Ferris McCormick wrote:

> On Mon, 2005-09-26 at 20:09 +0000, Ferris McCormick wrote:
>> On Mon, 2005-09-26 at 14:59 +0000, Ferris McCormick wrote:
>>> On Fri, 2005-09-16 at 11:35 -0500, Brian Barrett wrote:
>>>> On Sep 16, 2005, at 8:44 AM, Ferris McCormick wrote:
>>>>
>>>>> ==========================================
>>>>> fmccor_at_polylepis util [235]% ./opal_timer
>>>>> --> frequency: 900000000
>>>>> --> cycle count
>>>>> Slept approximately 903151189 cycles, or 1003501 us
>>>>> --> usecs
>>>>> Slept approximately 18446744073289684648 us
>>>>> ==========================================
>>>>
>>>> That last value means that I'm munging the upper 32 bits of the tick
>>>> register (it's 64 bits long). So we're not quite there yet, but
>>>> getting closer. I should be able to get to that today.
>>>>
>>>> The other problem is very odd. Since you're compiling in 32bit
>>>> mode,
>>>> I'd expect us to see it on our PowerPC machines, but I haven't run
>>>> into
>>>> that one yet. I'll try to compile without debugging and see what I
>>>> can
>>>> see.
>>>>
>>>>
>>>> Brian
>
> Here's where the SegFault comes from.
> For whatever reason, when working with the verbose opal_output_stream,
> eventually opal_paffinity_base_open sets opal_paffinity_base_output=-1
> (at paffinity_base_open.c, 62) and calls mca_base_components_open with
> that value as the output_id. In turn, if output_id!=0,
> mca_base_components_open calls:
> =====================================
> if (output_id != 0) {
> opal_output_set_verbosity(output_id, verbose_level);
> }
> ======================================
>
> Now, opal_set_verbosity (in opal/util/output.c) unconditionally does
> this:
> info[output_id].ldi_verbose_level = level;
> (where, for verbose, this is info[-1].ldi_verbose_level=0;)
> On my system, this wipes out verbose itself.
>
> Elsewhere in output.c, such constructs are bracketed with
> if(output_id >= 0) { ... } (or if(-1 == output_id) {...}), and I
> suspect
> that is needed here, too.
>
> Hope this helps,
> Ferris
> --
> Ferris McCormick (P44646, MI) <fmccor_at_[hidden]>
> Developer, Gentoo Linux (Sparc, Devrel)
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel

-- 
{+} Jeff Squyres
{+} The Open MPI Project
{+} http://www.open-mpi.org/