[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#956324: Clustalo bus error on mipsel (Was: Bug#956324: python-biopython: FTBFS on mipsel)



On Fri, Apr 17, 2020 at 7:21 AM Andreas Tille <andreas@an3as.eu> wrote:
>  ...
> So it seems the bus error occures somehow here:
>
>    https://salsa.debian.org/med-team/clustalo/-/blob/master/src/clustal/pair_dist.c#L346

NewProgress is at
https://salsa.debian.org/med-team/clustalo/-/blob/master/src/clustal/progress.c#L53.
It uses a progress_t at
https://salsa.debian.org/med-team/clustalo/-/blob/master/src/clustal/progress.h#L25.

typedef struct {
    /* where to write to */
    FILE *prFile;
    /* prefix printed before each step */
    char *pcPrefix;
    bool bPrintCR;
    char pcLastLogMsg[1024];
    Stopwatch_t *prStopwatch;
} progress_t;

And stopwatch_t at
https://salsa.debian.org/med-team/clustalo/-/blob/master/src/squid/stopwatch.h:

struct stopwatch_s {
  time_t t0; /* Wall clock time, ANSI time()  */
#ifdef SRE_STRICT_ANSI
  clock_t cpu0; /* CPU time, ANSI clock()        */
#else
  struct tms cpu0; /* CPU/system time, POSIX times()*/
#endif

  double elapsed; /* elapsed time, seconds */
  double user; /* CPU time, seconds */
  double sys; /* system time, seconds */
};

There are your doubles that are likely the problem.

And what do we have here at
https://salsa.debian.org/med-team/clustalo/-/blob/master/src/squid/stopwatch.c#L276
...

void
StopwatchPVMPack(Stopwatch_t *w)
{
  pvm_pkdouble(&(w->elapsed), 1, 1);
  pvm_pkdouble(&(w->user),    1, 1);
  pvm_pkdouble(&(w->sys),     1, 1);
}
void
StopwatchPVMUnpack(Stopwatch_t *w)
{
  pvm_upkdouble(&(w->elapsed), 1, 1);
  pvm_upkdouble(&(w->user),    1, 1);
  pvm_upkdouble(&(w->sys),     1, 1);
}

I can't track the trail any further. The source code is missing for
pvm_pkdouble and pvm_upkdouble. I would be very suspect of
pvm_pkdouble and pvm_upkdouble.

Jeff


Reply to: