Garbage collector: Out of memory (when running AWT/SWING code on arm-linux)

Andrew Haley aph@redhat.com
Tue Sep 9 09:46:00 GMT 2008


ffileppo wrote:
>> ffileppo wrote:
>>>> ffileppo wrote:
>>>>>> Hi guys,
>>>>>>
>>>>>> I'm getting the following error:
>>>>>>
>>>>>> GC Warning: Out of Memory! Returning NIL!
>>>>>>
>>>>>> when I try to run any AWT/SWING code compiled with arm-linux-gcj on my embedded box (PXA270 - 128MB Ram). (Other code just runs fine)
> 
>>>> I think I've found it.  The unwinder is infinitely looping 'til it runs out
>>>> of memory.
>>>>
>>>> Some library somewhere has probably has invalid unwind information.
>>>>
>>>> Add this line to _Jv_StackTrace::UnwindTraceFn in stacktrace.cc:
>>>>
>>>> *** stacktrace.cc~      Tue Sep  4 19:00:31 2007
>>>> --- stacktrace.cc       Fri Jun  6 17:42:25 2008
>>>> ***************
>>>> *** 110,115 ****
>>>> --- 110,117 ----
>>>>     // Check if the trace buffer needs to be extended.
>>>>     if (pos == state->length)
>>>>       {
>>>> +       return _URC_END_OF_STACK;
>>>> +
>>>>         int newLength = state->length * 2;
>>>>         void *newFrames = _Jv_AllocBytes (newLength * sizeof(_Jv_StackFrame));
>>>>         memcpy (newFrames, state->frames, state->length * sizeof(_Jv_StackFrame));
>>>>
>>>> This will prevent more than 100 stack frames from being traced.
>>> I confirm it's working now.
>>>
>> OK, right.  I'm going to have to fix this one properly: it's a serious bug
>> that prevents anyone from running any GUI applications on gcj/ARM eabi.
>>
>> Andrew.
>>
> 
> 
> Hi Andrew,
> 
> is this fix included in mainline gcj yet?

http://developer.classpath.org/pipermail/classpath-patches/2008-June/006116.html



More information about the Java mailing list