Bug 419

Summary: Meet internal error when building c++ project sudoku in arm-qemu target
Product: [Build System, Metadata & Runtime] Meta-yocto Reporter: liping Ke <liping.ke>
Component: meta-yoctoAssignee: Nitin Kamble <nitin.a.kamble>
Status: RESOLVED WONTFIX QA Contact:
Severity: major    
Priority: High CC: dexuan.cui, dongxiao.xu, jessica.zhang, kevin.tian, lianhao.lu, poky.bs.watcher, poky.watcher, richard.purdie, sgw
Version: 0.9   
Target Milestone: 0.9 M4   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---
Attachments:
Description Flags
error log none

Description liping Ke 2010-10-09 01:07:12 UTC
Created attachment 53 [details]
error log

This error is reproducible:
1) in target arm-qemu (sdk), configure sudoku project.
2) make

after printing a warning in /usr/lib/glib-2.0/include/glibconfig.h:18 warning: ISO C++ 1998 does not support 'long long', gcc will meet internal error and was killed after a long duration.

it was caused by out of memory. I paste a log file below:
Comment 1 Jessica 2010-10-09 17:56:40 UTC
Can you provide the link to download sudoky project?
Comment 2 Jessica 2010-10-11 12:03:05 UTC
Liping, can you manually increase qemu memory size to see whether there's behavior change?
Comment 3 Nitin Kamble 2010-10-11 14:46:32 UTC
Comment on attachment 53 [details]
error log

marking it as a patch so that it can be viewed in the browser
Comment 4 liping Ke 2010-10-11 19:24:27 UTC
It's said dexuan will look@ the bug to see what's happening. How much size the qemu memory is, how many are needed. Something like that.

Thanks & Regards,
criping
Comment 5 Kevin Tian 2010-10-11 19:27:01 UTC
(In reply to comment #4)
> It's said dexuan will look@ the bug to see what's happening. How much size the
> qemu memory is, how many are needed. Something like that.
> Thanks & Regards,
> criping

yes, dexuan is also looking at this bug. let's put it into a cooperative work between dexuan and nitin. that way we may get it solved earlier. :-)
Comment 6 Jessica 2010-10-11 20:05:50 UTC
Liping, can you post the link to the project so Nitin can access? thx
Comment 7 liping Ke 2010-10-11 20:09:45 UTC
Hi, Jessica
Dexuan and I are having some trying now. If Dexuan could solve it, he will update the bug status.

thanks& Regards,
criping
Comment 8 Dexuan Cui 2010-10-11 20:43:02 UTC
(In reply to comment #7)
> Hi, Jessica
> Dexuan and I are having some trying now. If Dexuan could solve it, he will
> update the bug status.
> thanks& Regards,
> criping

Just tried with Liping: we found qemuarm is only given 64M memory (why? is this intended???) We increased it to 128M and the bug doesn't occor -- Liping can build the sudoku.  So looks using 64M, this out-of-mem is normal.

Can anobody know the background why qemuarm is given 64M while the other are given 128M?


BTW: when we tried to give 256M memory to qemuarm, the qemu window keeps black after it pops up. Liping opened Bug 433 for it.
Comment 9 Richard Purdie 2010-10-12 02:13:14 UTC
64MB used to be very representative of the kind of machines poky targeted, now, 5 years on making it 128MB is probably fine as it allows the compiler to work with larger compile jobs and so forth. The reason 256MB fails is an address space limitation of the hardware platform we're emulating. I've added some comments to that bug.
Comment 11 liping Ke 2011-03-17 23:54:51 UTC
Recently, I continuously meet the similar problem on qemu mips and qemu arm target.
(gcc Internal error, then Kill the building process)

(ppc unfs can't be started normally, I did not test it on ppc). 


Only x86 and x86-64 is ok since I can add parameter -m 1000M


So this bug still exists on mips/arm at least. I can seldom have success experience. 

The same c++ project sudoku is a good reproduce example.


Thanks& Regards,
criping
Comment 12 Richard Purdie 2011-03-21 07:27:49 UTC
I'm not sure what we can do to address this problem. Compiling such a large project in the emulated environment looks simply unlikely to work for those machines where we have little flexibility to configure large memory sizes. As such this is really a case of WONTFIX (can't really fix).