setRotation issue. (CEGUI 0.7.1)

If you found a bug in our library or on our website, please report it in this section. In this forum you can also make concrete suggestions or feature requests.

Moderators: CEGUI MVP, CEGUI Team

Bababoo
Just popping in
Just popping in
Posts: 4
Joined: Tue Mar 30, 2010 16:38

setRotation issue. (CEGUI 0.7.1)

Postby Bababoo » Tue Mar 30, 2010 16:44

Hi, im having issues using CEGUI::Window::setRotation(const Vector3& rotation) with the OpenGL renderer.
CEGUI Version: 0.7.1
This is the troublesome code:

Code: Select all

CEGUI::Vector3 rotation;
CEGUI::Window* window;

window = CEGUI::WindowManager::getSingleton().getWindow("TestWindow");
rotation = window->getRotation();
rotation.d_z+=10;
window->setRotation(rotation);


Ive tried on several PC's these are the results:

First PC OS: Ubuntu 9.10
Video board manufacturer: Nvidia
Calling setRotation crashes the application, it crashes on allocateRenderingWindow()

Code: Select all

    if (!d_autoRenderingWindow)
    {
        d_autoRenderingWindow = true;

        TextureTarget* const t =
            System::getSingleton().getRenderer()->createTextureTarget();  //*** Crashes here ***


Log:
30/03/2010 12:07:34 (Std) Window::setRotation - Activating AutoRenderingSurface on Window 'TestWindow' to enable rotation support.

Second PC OS: Ubuntu 9.10
Video board manufacturer: Nvidia
Calling setRotation crashes the application, it crashes on allocateRenderingWindow()

Code: Select all

    if (!d_autoRenderingWindow)
    {
        d_autoRenderingWindow = true;

        TextureTarget* const t =
            System::getSingleton().getRenderer()->createTextureTarget();  //*** Crashes here ***


Log:
30/03/2010 12:20:50 (Std) Window::setRotation - Activating AutoRenderingSurface on Window 'TestWindow' to enable rotation support.

Third PC OS: Ubuntu 9.10
Video board manufacturer: ATI
TestWindow texture dissapears (So the window gets all white) but rotates fine.

Log:
30/03/2010 12:38:17 (Std) Window::setRotation - Activating AutoRenderingSurface on Window 'TestWindow' to enable rotation support.

Fourth PC OS: Fedora 12
Video board manufacturer: Nvidia
Calling setRotation crashes the application, it crashes on allocateRenderingWindow()

Code: Select all

    if (!d_autoRenderingWindow)
    {
        d_autoRenderingWindow = true;

        TextureTarget* const t =
            System::getSingleton().getRenderer()->createTextureTarget();  //*** Crashes here ***


Log:
30/03/2010 12:40:12 (Std) Window::setRotation - Activating AutoRenderingSurface on Window 'TestWindow' to enable rotation support.

Fifth PC OS: Fedora 10

Video board manufacturer: Chipstet Intel. (Its an embedded PC)
Works perfectly.
Log:
30/03/2010 12:58:23 (Std) Window::setRotation - Activating AutoRenderingSurface on Window 'TestWindow' to enable rotation support.

Sorry if there isn't enough information. :oops:
Also: Thanks for your hard work guys. CEGUI is great.

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: setRotation issue. (CEGUI 0.7.1)

Postby CrazyEddie » Tue Mar 30, 2010 18:24

Hi, sorry to hear about the troubles :)

For one of the NVidia equipped machines that the app crashes on, please post:
1) The indicated section from the CEGUI.log file
2) The type of "crash" - such as segfault or whatever.
3) A backtrace from the point of the crash.

For the ATI machine with the 'white' window, please post:
1) The indicated section from the CEGUI.log file.

Thanks!

CE.

Bababoo
Just popping in
Just popping in
Posts: 4
Joined: Tue Mar 30, 2010 16:38

Re: setRotation issue. (CEGUI 0.7.1)

Postby Bababoo » Tue Mar 30, 2010 20:03

NVIDIA PC (Crashes):
1)Log:
30/03/2010 16:43:04 (Std) ---- Version 0.7.1 (Build: Nov 23 2009 GNU/Linux g++ 4.4.1 32 bit) ----
30/03/2010 16:43:04 (Std) ---- Renderer module is: CEGUI::OpenGLRenderer - Official OpenGL based 2nd generation renderer module. TextureTarget support enabled via FBO extension. ----
30/03/2010 16:43:04 (Std) ---- XML Parser module is: CEGUI::ExpatParser - Official expat based parser module for CEGUI ----
30/03/2010 16:43:04 (Std) ---- Image Codec module is: FreeImageCodec - FreeImage based image codec ----
30/03/2010 16:43:04 (Std) ---- Scripting module is: None ----

2)Type of Crash: 'Program received SIGSEGV (Segmentation Fault)'

3)Backtrace (If it is what i think it is):

glGetIntegerv
CEGUI::OpenGELFBOTextureTarget::initialiseRenderTexture
OpenGLFBOTextureTarget
CEGUI::OGLTemplateTargetFactory<CEGUI::OpenGLFBOTextureTarget>::Create
CEGUI::OpenGLRenderer::createTextureTarget
CEGUI::Window::allocateRenderingWindow
CEGUI::Window::setUsingAutoRenderingSurface
CEGUI::Window::onRotated
CEGUI::Window::setRotation

ATI PC (White surface):
1)Log:
30/03/2010 16:21:52 (Std) ---- Version 0.7.1 (Build: Nov 30 2009 GNU/Linux g++ 4.4.1 32 bit) ----
30/03/2010 16:21:52 (Std) ---- Renderer module is: CEGUI::OpenGLRenderer - Official OpenGL based 2nd generation renderer module. TextureTarget support enabled via FBO extension. ----
30/03/2010 16:21:52 (Std) ---- XML Parser module is: CEGUI::ExpatParser - Official expat based parser module for CEGUI ----
30/03/2010 16:21:52 (Std) ---- Image Codec module is: FreeImageCodec - FreeImage based image codec ----
30/03/2010 16:21:52 (Std) ---- Scripting module is: None ---

Thanks for the fast response.
I hope thats the info you asked for.

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: setRotation issue. (CEGUI 0.7.1)

Postby CrazyEddie » Tue Mar 30, 2010 21:55

For the ATI white surface it's bound to be related to FBO completeness checks (or the lack of them, I should say). I will try and investigate further, though it's difficult when/if I can't reproduce the issues.

The backtrace you posted is kind of what I was after, but actually lacks any useful information. I'm not sure how you got that, but for example if I set a breakpoint at the top of that function (since it doesn't crash for me - also on NV hardware ;)), and request a backtrace, I get this:

Code: Select all

(gdb) bt
#0  CEGUI::OpenGLFBOTextureTarget::initialiseRenderTexture (this=0x800400) at ../../../../../cegui/src/RendererModules/OpenGL/CEGUIOpenGLFBOTextureTarget.cpp:115
#1  0x00007ffff7371353 in OpenGLFBOTextureTarget (this=0x800400, owner=..., __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>)
    at ../../../../../cegui/src/RendererModules/OpenGL/CEGUIOpenGLFBOTextureTarget.cpp:50
#2  0x00007ffff7379b66 in CEGUI::OGLTemplateTargetFactory<CEGUI::OpenGLFBOTextureTarget>::create (this=0x630820, r=...) at ../../../../../cegui/src/RendererModules/OpenGL/CEGUIOpenGLRenderer.cpp:104
#3  0x00007ffff73771ea in CEGUI::OpenGLRenderer::createTextureTarget (this=0x6e7a00) at ../../../../../cegui/src/RendererModules/OpenGL/CEGUIOpenGLRenderer.cpp:229
#4  0x00007ffff79fe1ae in CEGUI::Window::allocateRenderingWindow (this=0x77c5c0) at ../../../cegui/src/CEGUIWindow.cpp:3552
#5  0x00007ffff79fe7d9 in CEGUI::Window::setUsingAutoRenderingSurface (this=0x77c5c0, setting=true) at ../../../cegui/src/CEGUIWindow.cpp:3535
#6  0x00007ffff79fe905 in CEGUI::Window::onRotated (this=0x77c5c0, e=...) at ../../../cegui/src/CEGUIWindow.cpp:3695
#7  0x00007ffff79f410d in CEGUI::Window::setRotation (this=0x77c5c0, rotation=...) at ../../../cegui/src/CEGUIWindow.cpp:3630

which as you can see, contains a lot more useful info, such as files, line numbers and argument values (some, or all, of which may not be available if the binaries are stripped). If you can get the extra info, that would be great - especially since I can't reproduce this issue here.

CE.

Bababoo
Just popping in
Just popping in
Posts: 4
Joined: Tue Mar 30, 2010 16:38

Re: setRotation issue. (CEGUI 0.7.1)

Postby Bababoo » Wed Mar 31, 2010 12:07

Sorry my mistake. GDB tells me this:

*** Program received signal SIGSEGV (Segmentation fault) ***(gdb) bt
bt
#0 0x00c75c72 in glGetIntegerv () from /usr/lib/libGL.so.1
#1 0x00150b9a in CEGUI::OpenGLFBOTextureTarget::initialiseRenderTexture (this=0x8158520) at CEGUIOpenGLFBOTextureTarget.cpp:115
#2 0x00151420 in OpenGLFBOTextureTarget (this=0x8158520, owner=..., __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>) at CEGUIOpenGLFBOTextureTarget.cpp:50
#3 0x00156eb4 in CEGUI::OGLTemplateTargetFactory<CEGUI::OpenGLFBOTextureTarget>::create (this=0xb49b1478, r=...) at CEGUIOpenGLRenderer.cpp:104
#4 0x00155f95 in CEGUI::OpenGLRenderer::createTextureTarget (this=0xb49b14e0) at CEGUIOpenGLRenderer.cpp:221
#5 0x009a619f in CEGUI::Window::allocateRenderingWindow (this=0xaf8053a8) at CEGUIWindow.cpp:3365
#6 0x009a6540 in CEGUI::Window::setUsingAutoRenderingSurface (this=0xaf8053a8, setting=true) at CEGUIWindow.cpp:3348
#7 0x009a9744 in CEGUI::Window::onRotated (this=0xaf8053a8, e=...) at CEGUIWindow.cpp:3532
#8 0x009a3eca in CEGUI::Window::setRotation (this=0x183770, rotation=...) at CEGUIWindow.cpp:3443
#9 0x02ee912a in VISUALIZATIONTERMINAL::timercito::onTimer (this=0xaf7c7af0, interval=30, param=0x0) at /home/user/compiled/game/src/visualizationTerminal/gameManager.cpp:35
#10 0x003dbc86 in simpleTimer::callback (interval=30, param=0x0) at /home/user/compiled/game/utilities/simpleTimer.cpp:33
#11 0x0058613c in ?? () from /usr/lib/libSDL-1.2.so.0
#12 0x005d2fa9 in ?? () from /usr/lib/libSDL-1.2.so.0
#13 0x00585a6e in ?? () from /usr/lib/libSDL-1.2.so.0
#14 0x005cfd2d in ?? () from /usr/lib/libSDL-1.2.so.0
#15 0x00b3080e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#16 0x008138de in clone () from /lib/tls/i686/cmov/libc.so.6



Again sorry and many many thanks for your help. :P

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: setRotation issue. (CEGUI 0.7.1)

Postby CrazyEddie » Thu Apr 01, 2010 09:01

Hmmm. Really annoying that it happens to be dying in the GL call. Not entirely sure what that could be, unless the ptr we pass in to receive the integer is somehow messed up. I don't have any real ideas at the moment as to what that could be - especially given that the call works elsewhere.

CE.

Bababoo
Just popping in
Just popping in
Posts: 4
Joined: Tue Mar 30, 2010 16:38

Re: setRotation issue. (CEGUI 0.7.1)

Postby Bababoo » Tue Apr 20, 2010 14:14

Thanks for the help.

Cheers.


Return to “Bug Reports, Suggestions, Feature Requests”

Who is online

Users browsing this forum: No registered users and 10 guests