sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.3k stars 447 forks source link

Random failure in libGAP on ppc64le #19845

Closed jdemeyer closed 2 years ago

jdemeyer commented 8 years ago

Sometimes a "bad exit 2" happens on Linux ppc64le due to this:

/* src/saveload.c:127 */
libGAP_UInt1 libGAP_LOAD_BYTE_BUF( void )
{
  libGAP_Int ret;
  ret = read(libGAP_syBuf[libGAP_LoadFile].fp, libGAP_LoadBuffer, 100000);
  if (ret <= 0)
    { 
      libGAP_Pr(libGAP_LoadByteErrorMessage, 0L, 0L );
      libGAP_SyExit(2);  /* <------------------------- EXIT HERE */
    }
  libGAP_LBEnd = libGAP_LoadBuffer + ret;
  libGAP_LBPointer = libGAP_LoadBuffer;
  return *libGAP_LBPointer++;
}

(I know it's this call to libGAP_SyExit() because I changed the exit codes to debug this)

This happens for example like this:

sage -t --long --warn-long 92.8 src/sage/homology/simplicial_complex.py
    Bad exit: 2
**********************************************************************
Tests run before process (pid=88791) failed:
sage: SimplicialComplex([[1], [3, 7]]) ## line 76 ##
[...]
sage: SimplicialComplex([[]]).connected_component() ## line 3119 ##
sage: sig_on_count() # check sig_on/off pairings (virtual doctest) ## line 3123 ##
0
sage: S1 = simplicial_complexes.Sphere(1) ## line 3162 ##
sage: S1.fundamental_group() ## line 3163 ##

**********************************************************************

CC: @vbraun

Component: porting

Keywords: random_fail

Reviewer: Dima Pasechnik

Issue created by migration from https://trac.sagemath.org/ticket/19845

jdemeyer commented 8 years ago
comment:1

Now running again under strace...

jdemeyer commented 8 years ago

Description changed:

--- 
+++ 
@@ -1,4 +1,4 @@
-Sometimes a "bad exit 2" happens on ppc64le due to this:
+Sometimes a "bad exit 2" happens on Linux ppc64le due to this:

 ```c
 /* src/saveload.c:127 */
83660e46-0051-498b-a8c1-f7a7bd232b5a commented 7 years ago
comment:3

I regularly get Bad exit: 2 (in different GAP-related doctests) on Intel Haswells as well when running ptestlong; they pass when rerun. And, not too surprising, by the way independent of the GCC version (4.8.5, 4.9.4, 5.4.0, 6.2.0).

83660e46-0051-498b-a8c1-f7a7bd232b5a commented 7 years ago

Changed keywords from none to random_fail

koffie commented 6 years ago
comment:5

Is this still an issue considering the last few comments of #19701

jdemeyer commented 6 years ago
comment:6

With random failures, it is always hard to tell...

mkoeppe commented 2 years ago
comment:7

outdated, should close

dimpase commented 2 years ago

Reviewer: Dima Pasechnik