help-smalltalk
[Top][All Lists]
Advanced

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

Re: [Help-smalltalk] GNU Smalltalk on ARM - Raspberry Pi


From: Holger Hans Peter Freyther
Subject: Re: [Help-smalltalk] GNU Smalltalk on ARM - Raspberry Pi
Date: Sun, 27 Jul 2014 17:28:50 +0200
User-agent: Mutt/1.5.23 (2014-03-12)

On Sun, Jul 27, 2014 at 11:20:23PM +1200, Stephen Woolerton wrote:

> The "gmake install" process crashed about four times, then it suddenly worked 
> and went through to completion. I haven't gone back yet to see whether this 
> was a repeatable GST build issue, or something else.
> 
> > You will need to install libffi, zip, flex, bison and libgmp as well
> Also gawk on FreeBSD was required
> > and you will need to use "gmake" instead of BSD make.
> Good point
> > There are some test failures on FreeBSD as well but I didn't have the
> > time to check the source of them. Could you help with that?
> 
> The result of running the test suite is below. 
> Yes for sure, I can check the source. I had a quick look at the test scripts 
> and I have a couple of questions:-
> 1. How does one run a test file in isolation - is it possible? For instance 
> what is the command to run just the tests in "intmath.st"?
> 2. With regard to the "intmath.st" test in the test output below, what is the 
> "33" in "FAILED (testsuite.at:33)". The 33rd line? The 33rd test?

> Regression tests.
> 
>   7: intmath.st                                      FAILED (testsuite.at:33)
>   8: floatmath.st                                    FAILED (testsuite.at:34)
>  31: heapsort.st                                     FAILED (testsuite.at:63)
> 118: DhbNumericalMethods                             FAILED (testsuite.at:156)
> 123: Magritte                                        FAILED (testsuite.at:161)

I had these failures on AMD64 and FreeBSD -CURRENT. I have to check if that
is either a Linux/FreeBSD or gcc/clang thing. It might still be a gmp vs.
no gmp issue.



>  14: geometry.st                                     FAILED (testsuite.at:44)
>  46: ArrayANSITest                                   FAILED (testsuite.at:82)
>  47: ArrayFactoryANSITest                            FAILED (testsuite.at:83)
>  48: BagANSITest                                     FAILED (testsuite.at:84)
>  49: BagFactoryANSITest                              FAILED (testsuite.at:85)
>  50: BooleanANSITest                                 FAILED (testsuite.at:86)
>  51: ByteArrayANSITest                               FAILED (testsuite.at:87)
>  52: ByteArrayFactoryANSITest                        FAILED (testsuite.at:88)
>  53: CharacterANSITest                               FAILED (testsuite.at:89)
>  54: CharacterFactoryANSITest                        FAILED (testsuite.at:90)
>  55: DateAndTimeANSITest                             FAILED (testsuite.at:91)
>  56: DateAndTimeFactoryANSITest                      FAILED (testsuite.at:92)
>  57: DictionaryANSITest                              FAILED (testsuite.at:93)
>  58: DictionaryFactoryANSITest                       FAILED (testsuite.at:94)
>  59: DurationANSITest                                FAILED (testsuite.at:95)
>  60: DurationFactoryANSITest                         FAILED (testsuite.at:96)
>  61: DyadicValuableANSITest                          FAILED (testsuite.at:97)
>  62: ErrorANSITest                                   FAILED (testsuite.at:98)
>  63: ErrorClassANSITest                              FAILED (testsuite.at:99)
>  64: ExceptionANSITest                               FAILED (testsuite.at:100)
>  65: ExceptionClassANSITest                          FAILED (testsuite.at:101)
>  66: ExceptionSetANSITest                            FAILED (testsuite.at:102)
>  67: FailedMessageANSITest                           FAILED (testsuite.at:103)
>  68: FileStreamFactoryANSITest                       FAILED (testsuite.at:104)
>  69: FloatANSITest                                   FAILED (testsuite.at:105)
>  70: FloatCharacterizationANSITest                   FAILED (testsuite.at:106)
>  71: FractionANSITest                                FAILED (testsuite.at:107)
>  72: FractionFactoryANSITest                         FAILED (testsuite.at:108)
>  73: IdentityDictionaryANSITest                      FAILED (testsuite.at:109)
>  74: IdentityDictionaryFactoryANSITest               FAILED (testsuite.at:110)
>  75: IntegerANSITest                                 FAILED (testsuite.at:111)
>  76: IntervalANSITest                                FAILED (testsuite.at:112)
>  77: IntervalFactoryANSITest                         FAILED (testsuite.at:113)
>  78: MessageNotUnderstoodANSITest                    FAILED (testsuite.at:114)
>  79: MessageNotUnderstoodSelectorANSITest            FAILED (testsuite.at:115)
>  80: MonadicBlockANSITest                            FAILED (testsuite.at:116)
>  81: NilANSITest                                     FAILED (testsuite.at:117)
>  82: NiladicBlockANSITest                            FAILED (testsuite.at:118)
>  83: NotificationANSITest                            FAILED (testsuite.at:119)
>  84: NotificationClassANSITest                       FAILED (testsuite.at:120)
>  85: ObjectANSITest                                  FAILED (testsuite.at:121)
>  86: ObjectClassANSITest                             FAILED (testsuite.at:122)
>  87: OrderedCollectionANSITest                       FAILED (testsuite.at:123)
>  88: OrderedCollectionFactoryANSITest                FAILED (testsuite.at:124)
>  89: ReadFileStreamANSITest                          FAILED (testsuite.at:125)
>  90: ReadStreamANSITest                              FAILED (testsuite.at:126)
>  91: ReadStreamFactoryANSITest                       FAILED (testsuite.at:127)
>  92: ReadWriteStreamANSITest                         FAILED (testsuite.at:128)
>  93: ReadWriteStreamFactoryANSITest                  FAILED (testsuite.at:129)
>  94: ScaledDecimalANSITest                           FAILED (testsuite.at:130)
>  95: SelectorANSITest                                FAILED (testsuite.at:131)
>  96: SetANSITest                                     FAILED (testsuite.at:132)
>  97: SetFactoryANSITest                              FAILED (testsuite.at:133)
>  98: SortedCollectionANSITest                        FAILED (testsuite.at:134)
>  99: SortedCollectionFactoryANSITest                 FAILED (testsuite.at:135)
> 100: StringANSITest                                  FAILED (testsuite.at:136)
> 101: StringFactoryANSITest                           FAILED (testsuite.at:137)
> 102: SymbolANSITest                                  FAILED (testsuite.at:138)
> 103: TranscriptANSITest                              FAILED (testsuite.at:139)
> 104: WarningANSITest                                 FAILED (testsuite.at:140)
> 105: WarningClassANSITest                            FAILED (testsuite.at:141)
> 106: WriteFileStreamANSITest                         FAILED (testsuite.at:142)
> 107: WriteStreamANSITest                             FAILED (testsuite.at:143)
> 108: WriteStreamFactoryANSITest                      FAILED (testsuite.at:144)
> 109: ZeroDivideANSITest                              FAILED (testsuite.at:145)
> 110: ZeroDivideFactoryANSITest                       FAILED (testsuite.at:146)

This is odd. This might be due ARM differences. GNU Smalltalk doesn't use a
read/write barrier but we mprotect pages and expect a SIGSEGV when these are
being read/written to. It might be that libsigsegv is behaving differently on
FreeBSD.

You could attempt to use "--disable-generational-gc" and if that doesn't make
it more stable you can head to libgst/oop.h and uncomment the define from the
below fragment. If it works better we have an idea where we can look at.

/* Define this flag to disable blacking of grey pages (that is, the
   entire oldspace is scanned to look for reachable newspace objects).
   This is also necessary to run valgrind on GNU Smalltalk.  */
/* #define NO_SIGSEGV_HANDLING */





reply via email to

[Prev in Thread] Current Thread [Next in Thread]