Blender crashes when resizing the Compositing Screen Window #34943

Closed
opened 2013-04-10 11:52:09 +02:00 by Robert Broughton · 26 comments

%%%Windows 7 Pro, ATI 5770 Radeon
- Operating System, Graphics card ---
2.66a official release

- Blender version with error, and version that worked ---

Blender will crash when trying to split the screen.
- Short description of error ---

Go to Compositing Screen. When you try to split the main node editor screen (the big one in the middle) by pulling it downward from the top right corner of the Node editor. Blender will crash.

- Steps for others to reproduce the error (preferably based on attached .blend file) ---

%%%

%%%Windows 7 Pro, ATI 5770 Radeon - Operating System, Graphics card --- 2.66a official release - Blender version with error, and version that worked --- Blender will crash when trying to split the screen. - Short description of error --- Go to Compositing Screen. When you try to split the main node editor screen (the big one in the middle) by pulling it downward from the top right corner of the Node editor. Blender will crash. - Steps for others to reproduce the error (preferably based on attached .blend file) --- %%%

Changed status to: 'Open'

Changed status to: 'Open'
Member

%%%I can't reproduce this bug, neither with the official 2.66a release nor with latest trunk build (r55937). Can you please test this on your machine with a recent trunk build from http://builder.blender.org/ and report back if this still occurs? Otherwise will close this report.%%%

%%%I can't reproduce this bug, neither with the official 2.66a release nor with latest trunk build (r55937). Can you please test this on your machine with a recent trunk build from http://builder.blender.org/ and report back if this still occurs? Otherwise will close this report.%%%

%%%I loaded the newest release (ver 2.66 r55932) and Blender still freezes. Attached is a screen capture video of the issue.%%%

%%%I loaded the newest release (ver 2.66 r55932) and Blender still freezes. Attached is a screen capture video of the issue.%%%
Member

%%%I've tested with r55932. Not able to reproduce the error. Since I have 4 monitors attached to the two graphics cards I've tested on each monitor seperately, and with Blender stretched over all 4 monitors.

Windows 7 Ultimate, 2x ATi HD 5550, 4 displays.

For completeness, here is the information on my driver as given by the AMD Vision engine control center:

Driver Packaging Version 9.012-121219a-152192C-ATI
Catalyst Version 13.1
Provider Advanced Micro Devices, Inc.
2D Driver Version 8.01.01.1278
2D Driver File Path /REGISTRY/MACHINE/SYSTEM/ControlSet001/Control/CLASS/{4D36E968-E325-11CE-BFC1-08002BE10318}/0003
Direct3D Version 9.14.10.0945
OpenGL Version 6.14.10.12002
AMD VISION Engine Control Center Version 2012.1219.1521.27485
%%%

%%%I've tested with r55932. Not able to reproduce the error. Since I have 4 monitors attached to the two graphics cards I've tested on each monitor seperately, and with Blender stretched over all 4 monitors. Windows 7 Ultimate, 2x ATi HD 5550, 4 displays. For completeness, here is the information on my driver as given by the AMD Vision engine control center: Driver Packaging Version 9.012-121219a-152192C-ATI Catalyst Version 13.1 Provider Advanced Micro Devices, Inc. 2D Driver Version 8.01.01.1278 2D Driver File Path /REGISTRY/MACHINE/SYSTEM/ControlSet001/Control/CLASS/{4D36E968-E325-11CE-BFC1-08002BE10318}/0003 Direct3D Version 9.14.10.0945 OpenGL Version 6.14.10.12002 AMD VISION Engine Control Center Version 2012.1219.1521.27485 %%%
Member

%%%Btw, the driver I have is up-to-date for my cards.%%%

%%%Btw, the driver I have is up-to-date for my cards.%%%

%%%I have the same AMD Drivers and versions on my machine. I tried different things to see when it happens or doesn't happen.
It will only freeze if the Blender window is Not Maximized but is enlarged to the point where it takes up most of the screen. If it is too small, if the Blender Window is the full height of the screen, or the Blender Window is maximized, then Blender will work just fine.

It is also repeatable and happens every time.
Upon further testing, I tried to repeat it on an older version of Blender (V 2.66.9 r54141) and I couldn't get it to freeze. %%%

%%%I have the same AMD Drivers and versions on my machine. I tried different things to see when it happens or doesn't happen. It will only freeze if the Blender window is Not Maximized but is enlarged to the point where it takes up most of the screen. If it is too small, if the Blender Window is the full height of the screen, or the Blender Window is maximized, then Blender will work just fine. It is also repeatable and happens every time. Upon further testing, I tried to repeat it on an older version of Blender (V 2.66.9 r54141) and I couldn't get it to freeze. %%%
Member

%%%Robert: Blender is now using GLSL and GPU textures to draw images.

You can disable that via user preferences, System, "Image GPU limit". Set it to zero.
That limit is going to be replaced with a simple on/off, and we will try to predict which cards support it or not.

I looked up the ATI 5770 Radeon specs, and it has 1 GB of GPU, which is quite nice. So you could also check if there's other programs using opengl, and whether you have all the fancy stuff for Blender on (like VBO, Multisample). The latter two features need a lot of gpu memory.

Will assign this to sergey so he knows the report info as well. %%%

%%%Robert: Blender is now using GLSL and GPU textures to draw images. You can disable that via user preferences, System, "Image GPU limit". Set it to zero. That limit is going to be replaced with a simple on/off, and we will try to predict which cards support it or not. I looked up the ATI 5770 Radeon specs, and it has 1 GB of GPU, which is quite nice. So you could also check if there's other programs using opengl, and whether you have all the fancy stuff for Blender on (like VBO, Multisample). The latter two features need a lot of gpu memory. Will assign this to sergey so he knows the report info as well. %%%

%%%Ton, GLSL is currently could not be disabled by user. I'm working on an option we've discussed in RIC now.

Robert, i could see you're splitting compositor with empty backdrop. What if you'll try rendering first (so backdrop is not empty anymore) and try splitting editor then?%%%

%%%Ton, GLSL is currently could not be disabled by user. I'm working on an option we've discussed in RIC now. Robert, i could see you're splitting compositor with empty backdrop. What if you'll try rendering first (so backdrop is not empty anymore) and try splitting editor then?%%%

%%%I did a render first and it still froze. My compute device is set to CPU and the texture limit is set to 0. I also turned off all add-ons to make sure that they weren't an issue. It still will freeze. I don't have any other programs running at the time of the freeze.%%%

%%%I did a render first and it still froze. My compute device is set to CPU and the texture limit is set to 0. I also turned off all add-ons to make sure that they weren't an issue. It still will freeze. I don't have any other programs running at the time of the freeze.%%%

%%%Ive commited new option called Image Draw Method at svn rev55983. So you'll be able to disable using GLSL display transform by switching from AUTO to 2D Texture or DrawPixels. This is still interesting to investigate why GLSL crashes for your card, but this is really tricky to investigate when you don't have access to faulty configuration. In the future we're planning to collect fuller database of faulty hardware and make AUTO modes more stable. But give us some time for this :)

If the issue wil lstill present for you, please let me know. For until then i'll think issue is solved :)

P.S. Fresh build shll arrive to http://builder.blender.org/download/ soon.%%%

%%%Ive commited new option called Image Draw Method at svn rev55983. So you'll be able to disable using GLSL display transform by switching from AUTO to 2D Texture or DrawPixels. This is still interesting to investigate why GLSL crashes for your card, but this is really tricky to investigate when you don't have access to faulty configuration. In the future we're planning to collect fuller database of faulty hardware and make AUTO modes more stable. But give us some time for this :) If the issue wil lstill present for you, please let me know. For until then i'll think issue is solved :) P.S. Fresh build shll arrive to http://builder.blender.org/download/ soon.%%%

%%%I downloaded and installed the rev 55983. I tried both the Draw Pixels and 2D Textures options. It would still crash. Then I got rid of all the nodes and it works. But if I leave one node or put one node on the compositor, then it crashes. The only node that doesn't crash it is the Frame node. Is there anything else I can try and capture for you to assist?

Thanks,
Bob%%%

%%%I downloaded and installed the rev 55983. I tried both the Draw Pixels and 2D Textures options. It would still crash. Then I got rid of all the nodes and it works. But if I leave one node or put one node on the compositor, then it crashes. The only node that doesn't crash it is the Frame node. Is there anything else I can try and capture for you to assist? Thanks, Bob%%%

%%%Interesting. Then don't think it's anyhow related on my changes in how images are displaying.%%%

%%%Interesting. Then don't think it's anyhow related on my changes in how images are displaying.%%%
Member

%%%Robert: since nobody can redo - we then have to start ruling out that the issue is only local for you... bad drivers, bad hardware, or driver settings for opengl in your system. Can you test this all carefully, or check another system?

Also check on splitting other editors - image, 3d, curves, sequencer, ... the more clues the better.

And try to split the node editor with option "Draw Backdrop" disabled.%%%

%%%Robert: since nobody can redo - we then have to start ruling out that the issue is only local for you... bad drivers, bad hardware, or driver settings for opengl in your system. Can you test this all carefully, or check another system? Also check on splitting other editors - image, 3d, curves, sequencer, ... the more clues the better. And try to split the node editor with option "Draw Backdrop" disabled.%%%

%%%I tried just changing the Default Screen from the 3D-View editor to the node editor and if there is a node present it will freeze, if no node is present it will work.
If I am on the Default Screen and I change the 3-D View editor to the logic editors and then try to resize them by pulling it down then Blender will Freeze. It doesn't happen with any other editors.
If I change the screen so only the info editor is at the very top and the complete bottom is the node editor, it will freeze when resizing.
If I change the screen so only the node editor is left for the whole screen and try to pull it down, it will freeze when resizing.

I ran some other test and the error appears to be related to an issue between the Windows Taskbar and Blenders node and logic editors.

Here is a Windows setup that may help it repeat while on your machine. Right click on the taskbar and click on the properties. Then go to the taskbar tab. Turn off auto-hide the taskbar and change taskbar location on screen to Top. Hit apply. Then pull the taskbar down so it uses two icon spaces (it typically is only one icon deep but if you pull on the edge downward it will expand to two to 16 icons. The error will not occur if it is only 1 icon deep but will occur on 2 to 16 icons deep.) Now Start Blender, maximize Blender with the top right icon next to the red X. Now go to the Compositing screen and make sure there are some nodes showing. Then try resizing the large node editor by pulling down the right upper corner.

%%%

%%%I tried just changing the Default Screen from the 3D-View editor to the node editor and if there is a node present it will freeze, if no node is present it will work. If I am on the Default Screen and I change the 3-D View editor to the logic editors and then try to resize them by pulling it down then Blender will Freeze. It doesn't happen with any other editors. If I change the screen so only the info editor is at the very top and the complete bottom is the node editor, it will freeze when resizing. If I change the screen so only the node editor is left for the whole screen and try to pull it down, it will freeze when resizing. I ran some other test and the error appears to be related to an issue between the Windows Taskbar and Blenders node and logic editors. Here is a Windows setup that may help it repeat while on your machine. Right click on the taskbar and click on the properties. Then go to the taskbar tab. Turn off auto-hide the taskbar and change taskbar location on screen to Top. Hit apply. Then pull the taskbar down so it uses two icon spaces (it typically is only one icon deep but if you pull on the edge downward it will expand to two to 16 icons. The error will not occur if it is only 1 icon deep but will occur on 2 to 16 icons deep.) Now Start Blender, maximize Blender with the top right icon next to the red X. Now go to the Compositing screen and make sure there are some nodes showing. Then try resizing the large node editor by pulling down the right upper corner. %%%

%%%On the setup part, the first taskbar is the Window's taskbar that you have to change the properties. If I move the Windows taskbar to the side, bottom or it is only one icon deep, then Blender works just fine.%%%

%%%On the setup part, the first taskbar is the Window's taskbar that you have to change the properties. If I move the Windows taskbar to the side, bottom or it is only one icon deep, then Blender works just fine.%%%
Member

%%%- Just don't use Blender's maximize. Do errors still happen without?

  • Set system preferences for blender to not use triple buffer (set drawing method to overlap or so)
  • Confirm you are not use multisample in blender, nor "full scene anti-aliasing" in the drivers config somewere
  • Test on another windows system

It's really strange - nobody sofar can redo it.%%%

%%%- Just don't use Blender's maximize. Do errors still happen without? - Set system preferences for blender to not use triple buffer (set drawing method to overlap or so) - Confirm you are not use multisample in blender, nor "full scene anti-aliasing" in the drivers config somewere - Test on another windows system It's really strange - nobody sofar can redo it.%%%

%%%Unassigning from self, maybe someone else will be able to reproduce or troubleshot.%%%

%%%Unassigning from self, maybe someone else will be able to reproduce or troubleshot.%%%

%%%I tried it on my other Windows system that has a different video card and it wouldn't repeat. It must be related to some setup specific to my graphics card.%%%

%%%I tried it on my other Windows system that has a different video card and it wouldn't repeat. It must be related to some setup specific to my graphics card.%%%

%%%I've tested on my computer and I can redo it.

My configuration :
Fedora 18
Blender 2.66a (linux 64 bits) (happens also with the latest SVN revision)
Intel HD3000 GPU (Integrated Sandy Bridge GPU)
Mesa 9.1, Intel driver 2.21.5

Blender freezes (seems to be trapped in an infinite loop as the whole system is somehow unresponsive) and then quickly crash when splitting the node editor, but only if at least a node is displayed, even if the window is not maximized.
The bug also occurs when splitting the logic editor.

The bug happens only when splitting the screen horizontally. Splitting the screen vertically works fine.%%%

%%%I've tested on my computer and I can redo it. My configuration : Fedora 18 Blender 2.66a (linux 64 bits) (happens also with the latest SVN revision) Intel HD3000 GPU (Integrated Sandy Bridge GPU) Mesa 9.1, Intel driver 2.21.5 Blender freezes (seems to be trapped in an infinite loop as the whole system is somehow unresponsive) and then quickly crash when splitting the node editor, but only if at least a node is displayed, even if the window is not maximized. The bug also occurs when splitting the logic editor. The bug happens only when splitting the screen horizontally. Splitting the screen vertically works fine.%%%

%%%Here's a backtrace : http://www.pasteall.org/41446%%%

%%%Here's a backtrace : http://www.pasteall.org/41446%%%

%%%With the help from Julien managed to redo SIGFPE issue on linux, yay! Will do gdb magic tomorrow. Julien, keep me informed so we don't do duplicate job :)%%%

%%%With the help from Julien managed to redo SIGFPE issue on linux, yay! Will do gdb magic tomorrow. Julien, keep me informed so we don't do duplicate job :)%%%

%%%I think I've found the root cause of this bug.

The SIGFPE crash is due to a division by 0 in blf_glyph_cache_texture.
In this function, when splitting the screen, gc->max_glyph_height can sometimes be higher than 10000.
When calculating i = (int)((gc->p2_width - (gc->pad * 2)) / gc->max_glyph_width);, i is then equal to 0. As i is used as a divider on the next line, it crashes.

It turns out that high gc->max_glyph_height values are due to corrupt values of font point size, which are also sometimes very high.

The font points size values are changed in the function ui_fontscale, which is called with very low value of aspect (< 0.0015) when the user just started to split the window (so when the window has a large width but very tall height).

To finish, very low aspect values come from uiBeginBlock (line block->aspect = 2.0f / fabsf(getsizex * block->winmat- [x]- [x]);), which is itself called from the node drawing code. That's why the bug only happens when a node is visible.

I haven't found any trivial fix for this situation as I still don't know this part of Blender code really well, so I let the experts do their job ;).%%%

%%%I think I've found the root cause of this bug. The SIGFPE crash is due to a division by 0 in blf_glyph_cache_texture. In this function, when splitting the screen, gc->max_glyph_height can sometimes be higher than 10000. When calculating i = (int)((gc->p2_width - (gc->pad * 2)) / gc->max_glyph_width);, i is then equal to 0. As i is used as a divider on the next line, it crashes. It turns out that high gc->max_glyph_height values are due to corrupt values of font point size, which are also sometimes very high. The font points size values are changed in the function ui_fontscale, which is called with very low value of aspect (< 0.0015) when the user just started to split the window (so when the window has a large width but very tall height). To finish, very low aspect values come from uiBeginBlock (line block->aspect = 2.0f / fabsf(getsizex * block->winmat- [x]- [x]);), which is itself called from the node drawing code. That's why the bug only happens when a node is visible. I haven't found any trivial fix for this situation as I still don't know this part of Blender code really well, so I let the experts do their job ;).%%%

%%%Re-assigning to Ton.

I've got two ideas only:

  • Do nothing in ui_fontscale if aspect is less than, say, 0.1f
  • Make it so uiBlocks used for nodes always have aspect of 1.0f

Will let Ton to check on proper way of dealing with this issue.%%%

%%%Re-assigning to Ton. I've got two ideas only: - Do nothing in ui_fontscale if aspect is less than, say, 0.1f - Make it so uiBlocks used for nodes always have aspect of 1.0f Will let Ton to check on proper way of dealing with this issue.%%%
Member

%%%I just can never do it. I printed aspect values, and they always stay sane (and the same, even for a 1 pixel window).

It can only happen if drawing code goes to windows with zero size, which is prohibited.

It is better to not fix the code in UI to clamp the aspect, but try to figure out what the region or view2d size here. I'll check with sergey to investigate stack trace.%%%

%%%I just can never do it. I printed aspect values, and they always stay sane (and the same, even for a 1 pixel window). It can only happen if drawing code goes to windows with zero size, which is prohibited. It is better to not fix the code in UI to clamp the aspect, but try to figure out what the region or view2d size here. I'll check with sergey to investigate stack trace.%%%
Member

%%%Fix is in svn, with thanks to sergey :)%%%

%%%Fix is in svn, with thanks to sergey :)%%%
Member

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
6 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#34943
No description provided.