I can't help much. If you can figure out which sentence is failing, that would be a clue.

Henry Rich

On 9/14/2016 12:07 AM, Xiao-Yong Jin wrote:
Dear List,

I’m compiling the jsource from github on a linux ppc64 box, which is big endian.
Using commit
   4ebc317 - Use flags in derived verbs; and a bug fix (30 hours ago) 
<HenryHRich>
with gcc 4.4.7 and additional options of -DC_NA=1 -DC_LE=0

I met segmentation faults in the following test scripts:
g421c       seg faults at     test adot2
             in jtgroup (jt=0x10029119930, w=0x10029239760)
             at jsrc/ao.c:378
g421d       seg faults at     test adot2
             jtkeytally (jt=0x10035279930, a=0x10035399760, w=0xfff95653820, 
self=0x100352cb870)
             at jsrc/ao.c:437
g421t       seg faults at     test adot2
             in jtkeytally (jt=0x10010829930, a=0x10010948750, w=0x10010948750, 
self=0xfff9f027720)
             at jsrc/ao.c:437
gstack      seg faults at     'stack error' -: ex '".t'    [ t=: '".t'
             in jtgaf (jt=0x0, blockx=0)
             at jsrc/m.c:451

I can provide detailed back trace if any of you are interested, but it seems 
some of the address dereferencing point to unavailable regions.  For example, 
in jsrc/ao.c:378, dv did not point to a valid address when GRPCD(C4) is called.

After blacklisting those tests, I got following failing tests:
    RBAD''[RUN ddall
g128x3      failed at       (f 6&u: x) = f , _2 Endian \ x
             I have          (f 6&u: x) , f , _2 Endian \ x
             gives           784552940 1897224108
g8x         failed at          (( 10&u:'5') fmt y) -:   '5'  fmt y=: 3 4 ?@$ 0
                             |domain error: fmt
                             |   ((10&u:'5')    fmt y)-:'5'fmt y=:3 4?@$0
gdll_df     failed at          (6.6;3;1.1 2.2 3.3;,6.6)= 'dipdpd d i *d *d' dcd 
3;1.1 2.2 3.3;,1.1
                             |domain error: cd
                             |   (lib,x)    cd y
gebar       failed at       'a'      (ebar -: E.) 10&u:'a’
             I have          'a'      (ebar ,  E.) 10&u:'a’
             gives           1 1
             no idea why it failed…
gicap2      failed at          2   test1 a.
                             |assertion failure: test1
                             |   (yy le"_1 i{xx,{:xx)    +.(i=#xx)*.yy gt"_1 
_{:xx
gmbxx1u     failed at          (mbxcheck_jmf_ q), (7!:6 (5&u:&.>) q) -: 7!:6 
(5&u:&.>) x
                             |domain error: RUND1
                             |   (mbxcheck_jmf_ q),(7!:6(5&u:&.>)q)-:7!:6    
(5&u:&.>)x
                             |[-103] gmbxx1u.ijs
gu0         failed at       t -: 1 u: x
             I don’t think 1 u: x is doing the correct thing.

It seems that most of the breakage happens at handling of the unicode.  Perhaps 
the code had assumed little endian, since the same code works fine on an intel 
linux box.

For comparison, I reverted back to commit:
   9562630 - Commentary for u/. y; and fix error in #:y for negative float y (4 
months ago) <HenryHRich>
With this, I got one segfaults with gstack, and failing tests in
g3x
gchar
gdll_df

Let me know how I can help chasing these bugs away.

Best,
Xiao-Yong


----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to