[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [aspell-devel] Core dump, bus error, byte alignment, ObjStack
From: |
Kevin Atkinson |
Subject: |
Re: [aspell-devel] Core dump, bus error, byte alignment, ObjStack |
Date: |
Fri, 21 May 2004 09:38:56 -0400 (EDT) |
On Fri, 21 May 2004, James Lee wrote:
> aspell-0.60-20040511 fails on Sparc architecture (big endian). The
> failure occurs here when building the dictionaries:
>
> #0 0xff228bac in (anonymous
> namespace)::create(acommon::StringEnumeration*, aspeller::Language
> const&, acommon::Config&) (els=0x5e6f0, address@hidden, address@hidden)
> at modules/speller/default/readonly_ws.cpp:855
> #1 0xff229f34 in
> aspeller::create_default_readonly_dict(acommon::StringEnumeration*,
> acommon::Config&) (els=0x5e6f0, address@hidden) at
> modules/speller/default/readonly_ws.cpp:1107
> #2 0x00029efc in master() () at prog/aspell.cpp:1333
>
>
> The problem is the misalignment of 'b' as produced 2 lines above by:
> WordData * b = (WordData *)buf.alloc(total_size);
>
> A simple workaround which so far has allowed aspell to run is to modify
> ObjStack alloc(size_t size) to align to a 4 byte boundary:
But memory ineffect (in the case of very short strings). Also won't work
on 64 bit platforms. Best to modify the above statement to:
WordData * b = (WordData *)buf.alloc(total_size, sizeof(void *));
--
http://kevin.atkinson.dhs.org