Bug 2069

Summary: Clutter run failed in qemux86/qemux86_64 on ubuntu/Opensuse/Fedora.
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Hongna Xu <hongnax.xu>
Component: coreAssignee: Saul Wold <sgw>
Status: VERIFIED WONTFIX QA Contact:
Severity: normal    
Priority: Medium CC: alexandru.c.georgescu, edwin.zhai, jessica.zhang, jiajun.xu, laurentiu.serban, lianhao.lu, meta.mr.watcher, meta.watcher, scott.a.garman, sgw, shane.wang, yilongx.y.sun
Version: 1.2   
Target Milestone: 1.3 M2   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---
Bug Depends on: 1886, 2309, 2534    
Bug Blocks: 2068    
Attachments:
Description Flags
the project of clutter
none
Clutter binary file for x86
none
test resulte of clutter&glxgears on lastest&old commit none

Description Hongna Xu 2012-03-09 07:36:14 UTC
Created attachment 350 [details]
the project of clutter

On host ubuntu 11.10 x86-64,Clutter failed on qemux86/qemux86-64 sato-sdk. No matter whether use toolchain or not, i got the same log:
******************************
t@qemux86-64:/# 
echo $PWD'>'
/>
root@qemux86:/# export DISPLAY=:0.0;
/home/root/clutter;exit
go on...
looking for "glXQueryExtension",
global_glXGetProcAddress request
nbRequestElts=1766
glAddSwapHintRectWIN 1 0
glBeginConditionalRenderNVX 1 0
glBeginDefineVisibilityQueryATI 1 0
glBeginOcclusionQuery 1 0
glBeginSceneEXT 1 0
glBeginUseVisibilityQueryATI 1 0
glBindArraySetARB 1 0
glBinormalArrayEXT 1 0
glBlendEquationSeparateATI 1 0
glBufferRegionEnabled 1 0
glBufferRegionEnabledEXT 1 0
glColor3fVertex3fvSUN 1 0
glColor4fNormal3fVertex3fvSUN 1 0
glColor4ubVertex2fvSUN 1 0
glColor4ubVertex3fvSUN 1 0
glColorPointerListIBM 1 0
glColorPointervINTEL 1 0
glColorTableParameterfvSGI 1 0
glColorTableParameterivSGI 1 0
glColorTableSGI 1 0
glDeformationMap3dSGIX 1 0
glDeformationMap3fSGIX 1 0
glDeleteArraySetsARB 1 0
glDeleteBufferRegion 1 0
glDeleteBufferRegionEXT 1 0
glDeleteFencesAPPLE 1 0
glDeleteOcclusionQueries 1 0
glDeleteVertexArraysAPPLE 1 0
glDeleteVisibilityQueriesATI 1 0
glDisableVertexAttribAPPLE 1 0
glDrawBufferRegion 1 0
glDrawBufferRegionEXT 1 0
glDrawElementsFGL 1 0
glDrawElementsInstancedEXT 1 0
glDrawMeshNV 1 0
glDrawWireTrianglesFGL 1 0
glEdgeFlagPointerListIBM 1 0
glElementPointerAPPLE 1 0
glEnableVertexAttribAPPLE 1 0
glEndConditionalRenderNVX 1 0
glEndDefineVisibilityQueryATI 1 0
glEndOcclusionQuery 1 0
glEndSceneEXT 1 0
glEndUseVisibilityQueryATI 1 0
glFinishAsyncSGIX 1 0
glFinishRenderAPPLE 1 0
glFlushRenderAPPLE 1 0
glFlushVertexArrayRangeAPPLE 1 0
glFogCoordPointerListIBM 1 0
glFogFuncSGIS 1 0
glFragmentColorMaterialEXT 1 0
glFragmentLightfEXT 1 0
glFragmentLightfvEXT 1 0
glFragmentLightiEXT 1 0
glFragmentLightivEXT 1 0
glFragmentLightModelfEXT 1 0
glFragmentLightModelfvEXT 1 0
glFragmentLightModeliEXT 1 0
glFragmentLightModelivEXT 1 0
glFragmentMaterialfEXT 1 0
glFragmentMaterialfvEXT 1 0
glFragmentMaterialiEXT 1 0
glFragmentMaterialivEXT 1 0
glGenArraySetsARB 1 0
glGenFencesAPPLE 1 0
glGenOcclusionQueries 1 0
glGenVertexArraysAPPLE 1 0
glGenVisibilityQueriesATI 1 0
glGetColorTableParameterfvSGI 1 0
glGetColorTableParameterivSGI 1 0
glGetColorTableSGI 1 0
glGetFogFuncSGIS 1 0
glGetFragmentLightfvEXT 1 0
glGetFragmentLightivEXT 1 0
glGetFragmentMaterialfvEXT 1 0
glGetFragmentMaterialivEXT 1 0
glGetImageTransformParameterfvHP 1 0
glGetImageTransformParameterivHP 1 0
glGetListParameterfvSGIX 1 0
glGetListParameterivSGIX 1 0
glGetMapAttribParameterfvNV 1 0
glGetMapAttribParameterivNV 1 0
glGetMapControlPointsNV 1 0
glGetMapParameterfvNV 1 0
glGetMapParameterivNV 1 0
glGetOcclusionQueryiv 1 0
glGetOcclusionQueryuiv 1 0
glGetPixelTexGenParameterfvSGIS 1 0
glGetPixelTexGenParameterivSGIS 1 0
glGetProgramRegisterfvMESA 1 0
glGetQueryObjecti64vEXT 1 0
glGetQueryObjectui64vEXT 1 0
glGetTexFilterFuncSGIS 1 0
glGetTexParameterPointervAPPLE 1 0
glGetUniformOffsetEXT 1 0
glIglooInterfaceSGIX 1 0
glImageTransformParameterfvHP 1 0
glImageTransformParameterivHP 1 0
glIndexPointerListIBM 1 0
glInstrumentsBufferSGIX 1 0
glIsArraySetARB 1 0
glIsOcclusionQuery 1 0
glIsVertexAttribEnabledAPPLE 1 0
glLightEnviEXT 1 0
glListParameterfvSGIX 1 0
glListParameterivSGIX 1 0
glMapControlPointsNV 1 0
glMapParameterfvNV 1 0
glMapParameterivNV 1 0
glMapTexture3DATI 1 0
glMapVertexAttrib1dAPPLE 1 0
glMapVertexAttrib1fAPPLE 1 0
glMapVertexAttrib2dAPPLE 1 0
glMapVertexAttrib2fAPPLE 1 0
glMultiDrawElementArrayAPPLE 1 0
glMultiModeDrawArraysIBM 1 0
glMultiModeDrawElementsIBM 1 0
glPixelTexGenParameterfvSGIS 1 0
glPixelTexGenParameterivSGIS 1 0
glTextureRangeAPPLE 1 0
glVertexAttribIPointerEXT 1 0
glXBindSwapBarrierSGIX 1 0
glXBindTexImageEXT 1 0
glXCopySubBufferMESA 1 0
glXCreateGLXPixmapMESA 1 0
glXCreateGLXPixmapWithConfigSGIX 1 0
glXFreeContextEXT 1 0
glXGetContextIDEXT 1 0
glXGetCurrentDisplayEXT 1 0
glXGetCurrentReadDrawableSGI 1 0
glXGetFBConfigFromVisualSGIX 1 0
glXGetMscRateOML 1 0
glXGetSelectedEventSGIX 1 0
glXGetSyncValuesOML 1 0
glXGetVisualFromFBConfigSGIX 1 0
glXImportContextEXT 1 0
glXJoinSwapGroupSGIX 1 0
glXMakeCurrentReadSGI 1 0
glXQueryContextInfoEXT 1 0
glXQueryMaxSwapBarriersSGIX 1 0
glXReleaseBuffersMESA 1 0
glXReleaseTexImageEXT 1 0
glXSelectEventSGIX 1 0
glXSwapBuffersMscOML 1 0
glXWaitForMscOML 1 0
glXWaitForSbcOML 1 0
looking for "glXQueryExtension",
looking for "glXQueryVersion",
looking for "glXChooseFBConfig",

(clutter:651): Clutter-CRITICAL **: Unable to initialize Clutter: Unable to find suitable fbconfig for the GLX context: Failed to find any compatible fbconfigs
unhandled SIGSEGV
logout
glMapVertexAttrib2dAPPLE 1 0
glMapVertexAttrib2fAPPLE 1 0
glMultiDrawElementArrayAPPLE 1 0
glMultiModeDrawArraysIBM 1 0
glMultiModeDrawElementsIBM 1 0
glPixelTexGenParameterfvSGIS 1 0
glPixelTexGenParameterivSGIS 1 0
glTextureRangeAPPLE 1 0
glVertexAttribIPointerEXT 1 0
glXBindSwapBarrierSGIX 1 0
glXBindTexImageEXT 1 0
glXCopySubBufferMESA 1 0
glXCreateGLXPixmapMESA 1 0
glXCreateGLXPixmapWithConfigSGIX 1 0
glXFreeContextEXT 1 0
glXGetContextIDEXT 1 0
glXGetCurrentDisplayEXT 1 0
glXGetCurrentReadDrawableSGI 1 0
glXGetFBConfigFromVisualSGIX 1 0
glXGetMscRateOML 1 0
glXGetSelectedEventSGIX 1 0
glXGetSyncValuesOML 1 0
glXGetVisualFromFBConfigSGIX 1 0
glXImportContextEXT 1 0
glXJoinSwapGroupSGIX 1 0
glXMakeCurrentReadSGI 1 0
glXQueryContextInfoEXT 1 0
glXQueryMaxSwapBarriersSGIX 1 0
glXReleaseBuffersMESA 1 0
glXReleaseTexImageEXT 1 0
glXSelectEventSGIX 1 0
glXSwapBuffersMscOML 1 0
glXWaitForMscOML 1 0
glXWaitForSbcOML 1 0
looking for "glXQueryExtension",
looking for "glXQueryVersion",
looking for "glXChooseFBConfig",

(clutter:651): Clutter-CRITICAL **: Unable to initialize Clutter: Unable to find suitable fbconfig for the GLX context: Failed to find any compatible fbconfigs
unhandled SIGSEGV
************************************
BTW, glxgears failed with Error:couldn't get an RGB, Double-buffered visual. pls refer to bug 1886.
Comment 1 Edwin Zhai 2012-03-30 00:54:45 UTC
This bug depends on bug 1886, which doesn't exist on my machine. I can start clutter with Lianhao's help, but can't quit. 

I'm looking at bug 1886 on Hongna's machine. After fix it, we can see if this is pure clutter bug, then reassign it clutter owner.
Comment 2 Hongna Xu 2012-04-10 10:48:58 UTC
Created attachment 455 [details]
Clutter binary file for x86

Glxgears run successful, but when i run clutter, the qemu is quit.
The log on qemu shows:
**************************************
root@qemux86:/# export DISPLAY=:0.0;/home/root/clut
ter;exit
go on...
looking for "glXQueryExtension",
global_glXGetProcAddress request
nbRequestElts=1766
glAddSwapHintRectWIN 1 0
*****************************

The log on terminal run the qemux86/x86-64
****************************
Destroy context corresponding to fake_context = 1
Destroy window 3a0002d corresponding to client_drawable = 0x1400002
get_default_visual
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  135 (GLX)
  Minor opcode of failed request:  5 (X_GLXMakeCurrent)
  Serial number of failed request:  672
  Current serial number in output stream:  672
*****************************
Comment 3 Hongna Xu 2012-04-17 07:37:24 UTC
Update status, On ubuntu 11.10 x86-64 run glxgears fail, so it now depends on bug 2309, run clutter got 
********************************
Clutter:Segmentation fault (clutter:1098): Clutter-CRITICAL **: Unable to initialize Clutter: The OpenGL version could not be determined
********************************

Tree/Branch: Poky/1.2_M4 (rc3)
Commit id: fae1c7a5fdcea199338b5f91efaafd7c72aec5dd
Comment 4 Hongna Xu 2012-04-25 07:42:44 UTC
update status. testing on poky/denzil 35196ff703726addf7f4051ee09d70bf9ee0c5d0.
1.On ubuntu 11.10 x86-64 launch qemux86/x86-64 sato-sdk using NFS, run clutter in qemux86/x86-64 , the qemu target quit, the log is:
*********************************
go on...
looking for "glXQueryExtension",
global_glXGetProcAddress request
nbRequestElts=1766
**********************************
With the terminal launch the qemu, i got
**********************************
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  135 (GLX)
  Minor opcode of failed request:  5 (X_GLXMakeCurrent)
  Serial number of failed request:  290
  Current serial number in output stream:  290
Set 'tap0' nonpersistent
Releasing lockfile of preconfigured tap device 'tap0'
Shutting down the userspace NFS server...
runqemu-export-rootfs stop /home/xuhongna/test-yocto/x86
Stopping rpc.mountd
Stopping rpc.nfsd
Removing exports file
************************************
2.The same result on Fedora 16 x86 and Opensese 12.1 x86-64, clutter display normally but the qemu system crash when run clutter or quit clutter APP using ESC button, so the only way to quit qemux86/x86-64 is killing the qemu thread.
The log is:
*******************
X Error of failed request:  BadDrawable (invalid Pixmap or Window parameter)
  Major opcode of failed request:  72 (X_PutImage)
  Resource id in failed request:  0x320002e
  Serial number of failed request:  6836
  Current serial number in output stream:  6844
Comment 5 Edwin Zhai 2012-05-09 08:02:14 UTC
With May 7 nightly build, I can start clutter and see 'hello world' in the screen without GL failure from qemu. But clutter get no response until I kill it via ssh. So it's like a clutter issue.

Josh,
Could you pls. have a look for this?
Thanks,
Comment 6 Joshua Lock - Disabled 2012-05-17 20:56:10 UTC
Honestly, I don't think this is a clutter issue. Seems like our qemugl support is pretty unstable, particularly on hosts with Nvidia cards. 

glxinfo fails with "unhandled SIGSEGV"

glxdemo shows a black screen

glxpixmap fails with "Error: GLXCreateGLXPixmap failed"

Running a very simple clutter application causes qemu to crash and exit - I fail to see how this is an issue with Clutter itself.

This is Ubuntu 12.04 LTS.
Comment 7 Joshua Lock - Disabled 2012-05-17 21:29:03 UTC
On Fedora 16 with Intel graphics running core-image-sato-sdk qemux86 I have the following:

glxinfo fails with "unhandled SIGSEGV"

glxdemo shows a black screen with a grey box containing a yellow box

glxpixmap fails with "Error: GLXCreateGLXPixmap failed"

Running a very simple clutter application shows a black window which I can close using the window manager close button.
The Terminal lists repeatedly "unhandled pname 34648".
Comment 8 Edwin Zhai 2012-05-18 01:04:05 UTC
(In reply to comment #6)
> Honestly, I don't think this is a clutter issue. Seems like our qemugl
> support is pretty unstable, particularly on hosts with Nvidia cards. 
> 
> glxinfo fails with "unhandled SIGSEGV"
> 
> glxdemo shows a black screen
> 
> glxpixmap fails with "Error: GLXCreateGLXPixmap failed"
> 
> Running a very simple clutter application causes qemu to crash and exit - I
> fail to see how this is an issue with Clutter itself.
> 
> This is Ubuntu 12.04 LTS.


Josh,
Our QA only tested Ubuntu <= 11.10. New distribution brings new nvidia proprietary driver, which usually cause trouble on GL.

We did find clutter fail when GL is okay. So could you pls. create a new bug for GL failure on Ubuntu 12.04 and make this one depends on it?

Thanks,
Edwin
Comment 9 Joshua Lock - Disabled 2012-05-18 01:28:06 UTC
(In reply to comment #8)
> We did find clutter fail when GL is okay. So could you pls. create a new bug
> for GL failure on Ubuntu 12.04 and make this one depends on it?

I also tested on Fedora 16 on a system without Nvidia drivers, see comment #7.

However, seeing errors in the terminal which runs qemu indicates it's not an issue of the target, i.e. from comment #2.

"
****************************
Destroy context corresponding to fake_context = 1
Destroy window 3a0002d corresponding to client_drawable = 0x1400002
get_default_visual
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  135 (GLX)
  Minor opcode of failed request:  5 (X_GLXMakeCurrent)
  Serial number of failed request:  672
  Current serial number in output stream:  672
*****************************
"

Has this issue been reproduced on real hardware?
Comment 10 Hongna Xu 2012-05-18 02:58:42 UTC
 "
> ****************************
> Destroy context corresponding to fake_context = 1
> Destroy window 3a0002d corresponding to client_drawable = 0x1400002
> get_default_visual
> X Error of failed request:  BadMatch (invalid parameter attributes)
>   Major opcode of failed request:  135 (GLX)
>   Minor opcode of failed request:  5 (X_GLXMakeCurrent)
>   Serial number of failed request:  672
>   Current serial number in output stream:  672
> *****************************
> "
> 
> Has this issue been reproduced on real hardware?

Joshua:
  I try clutter on sugarbay and n450, no issue fonnd, it run successful.
Comment 11 Joshua Lock - Disabled 2012-06-05 15:43:17 UTC
To me all signs point to this being a qemugl issue, not clutter, as the issue cannot be reproduced on any other platform.

How thoroughly is qemugl tested outside of glxgears?
Comment 12 Edwin Zhai 2012-06-13 00:56:53 UTC
Saul,

It make more sense to create a new bug of gl, and make this bug depends on it.

Thanks,
Edwin
Comment 13 Shane Wang 2012-06-13 02:27:51 UTC
Here is the latest testing results from Hongna.

  This is Glxgears & Clutter Status on different Distro with the latest testing on Poky/master:df8f55a919b3cc602ce1f1c51630c7edf6e36b55

0606-1				
Case	Host	Target
		qemuarm/ppc/mips	qemux86	qemux86-64
glxgear	32b Fedora 16	Bug 2534	PASS	PASS
	64b Ubuntu 11.10	Bug 2534	Bug 2534	Bug 2534
	64b Opensuse 12.1	Bug 2534	PASS	PASS
Clutter	32b Fedora 16	Block By 2534	PASS	PASS
	64b Ubuntu 11.10	Block By 2534	Block By 2534	Block By 2534
	64b Opensuse 12.1	Block By 2534	PASS	PASS

For bug 2069, the result is same with 1.2 release (1.2_M4 rc5) testing with poky/denzil :35196ff703726addf7f4051ee09d70bf9ee0c5d0

Denzil				
Case	Host	Target
		qemuarm/ppc/mips	qemux86	qemux86-64
glxgear	32b Fedora 16	PASS	PASS	PASS
	64b Ubuntu 11.10	PASS	PASS	PASS
	64b Opensuse 12.1	PASS	PASS	PASS
Clutter	32b Fedora 16	PASS	Bug 2069	Bug 2069
	64b Ubuntu 11.10	PASS	Bug 2069	Bug 2069
	64b Opensuse 12.1	PASS	Bug 2069	Bug 2069
Comment 14 Shane Wang 2012-06-13 02:30:16 UTC
On denzil, GL can passed but Clutter failed.
But on the lastest master, both were blocked by 2534.

I don't think the clutter bug is because of GL, when Hongna reported this bug. Probably it can't be reproduced on developer's machine?
Comment 15 Saul Wold 2012-06-25 23:08:10 UTC
Any progress on this, or should I start building it here?
Comment 16 Edwin Zhai 2012-06-26 01:08:23 UTC
(In reply to comment #15)
> Any progress on this, or should I start building it here?

Should not start this until we make sure GL is working well. Because GL got broken from time to time, we can specify a good commit for GL, then check the clutter status in future.
Comment 17 Shane Wang 2012-06-26 03:07:02 UTC
Let me clarify:

Clutter running depends on GL, so we have to fix that GL bug first.

GL runs well doesn't mean clutter works, so this clutter bug is not a GL bug.

Did I miss anything, Edwin?
Comment 18 Edwin Zhai 2012-06-26 03:10:54 UTC
(In reply to comment #17)
> Let me clarify:
> 
> Clutter running depends on GL, so we have to fix that GL bug first.
> 
> GL runs well doesn't mean clutter works, so this clutter bug is not a GL bug.
> 
> Did I miss anything, Edwin?

Correct. We can pick up a good commit of GL for clutter fix if GL always get broken from time to time.
Comment 19 Saul Wold 2012-06-27 07:31:08 UTC
I ran the cluter block box (clutter-box2d) with no issue, the test attached seemed to be using poky 1.1, it would be best if these tests had an associated recipe and git upstream in order to test this better.

If I do not hear anything from the submitter, I will close this issue
Comment 20 Hongna Xu 2012-06-27 08:01:21 UTC
Created attachment 610 [details]
test resulte of clutter&glxgears on lastest&old commit

Saul
   you may close it, the glxgear&clutter issues are always changing with different distros and commits, i attach the test results of the lastest master branch and 1.2 release branch against denzil when i filed this bug, maybe it is a good idea to clear up it, not hold the old issue.
lastest master commit: poky/msater 7f017cab0b3e4d5a4fc356eccd8eb8429b0531d0
1.2 release commit: poky/denzil 35196ff703726addf7f4051ee09d70bf9ee0c5d0

hongna
Comment 21 Jiajun Xu 2012-06-27 08:35:55 UTC
(In reply to comment #19)
> I ran the cluter block box (clutter-box2d) with no issue, the test attached
> seemed to be using poky 1.1, it would be best if these tests had an
> associated recipe and git upstream in order to test this better.

If I do
> not hear anything from the submitter, I will close this issue

Hi Saul,
Bug 2069 is reported against Yocto 1.2 RC builds, in which the variable DISTRO_VERSION has not been updated. For latest upstream, QA could not test it due to another bug blocks the issue, bug 2534.
To reproduce it, it's better to download the attached tarball from Hongna and reconfigure & rebuild the project and run the binary built out.
Also it's OK to close the bug now. QA could reopen the bug if it still exists after bug 2534 is fixed.
Comment 22 Lianhao Lu 2012-06-27 08:45:10 UTC
(In reply to comment #21)
> Hi Saul,

> To reproduce it, it's better to download the attached tarball from Hongna
> and reconfigure & rebuild the project and run the binary built out.

1. Download the clutter project https://bugzilla.yoctoproject.org/attachment.cgi?id=350 and extract it into qemu
2. autoreconf -f;./configure; make
3. run the built out binary "src/clutter"
Comment 23 Alexandru Georgescu 2012-08-16 11:38:14 UTC
Saul, Linhao: Is is okay to close the bug at Jiajun's suggestion?

Thanks,
Alex.
Comment 24 Saul Wold 2012-08-21 20:49:49 UTC
Closing this bug for now, ultimately, I think that the qemugl patch will be going away so we won't have any true gl in qemu, so we might be able to close the others as well.
Comment 25 Laurentiu Serban 2012-08-28 07:26:35 UTC
Setting this to verified after the last comments