Thumbnails/previews of materials/textures not displaying in Blender filebrowser when only one thread is available #46093

Closed
opened 2015-09-13 06:36:03 +02:00 by blue autumn · 17 comments

System Information
Ubuntu 12.04.5 LTS -
Nvidia GeForce 6150SE/nForce 430

Blender Version
Broken: (Blender 2.76 testbuild 2#)
Worked: (Blender 2.75a)

Short description of error

When accessing Blender's internal filebrowser in order to select a material/texture, no thumbnail previews are displayed (only icons) even though "show thumbnails" is checked in prefs.

Exact steps for others to reproduce the error
Check Prefs>File>"Show Thumbnails" box. Select "Image or Movie" and "Open" (BI) or Add>Texture>Image Texture (Cycles).

**System Information** Ubuntu 12.04.5 LTS - Nvidia GeForce 6150SE/nForce 430 **Blender Version** Broken: (Blender 2.76 testbuild 2#) Worked: (Blender 2.75a) **Short description of error** When accessing Blender's internal filebrowser in order to select a material/texture, no thumbnail previews are displayed (only icons) even though "show thumbnails" is checked in prefs. **Exact steps for others to reproduce the error** Check Prefs>File>"Show Thumbnails" box. Select "Image or Movie" and "Open" (BI) or Add>Texture>Image Texture (Cycles).
Author

Changed status to: 'Open'

Changed status to: 'Open'
Author

Added subscriber: @blueautumn

Added subscriber: @blueautumn

Added subscriber: @mont29

Added subscriber: @mont29

Cannot reproduce this here at all… I assume what you call 'material/texture thumbnails' are actually image file thumbnails?

Also:

  • What kind of image files are you trying to preview?
  • Do they all fail to show thumbnail?
  • Do you get any message in the console (launch blender from a terminal)?
  • Does changing display type in the browser (between e.g. short display and thumbnails) change anything?
Cannot reproduce this here at all… I assume what you call 'material/texture thumbnails' are actually image file thumbnails? Also: * What kind of image files are you trying to preview? * Do they **all** fail to show thumbnail? * Do you get any message in the console (launch blender from a terminal)? * Does changing display type in the browser (between e.g. short display and thumbnails) change anything?
Author

Below is what I see when browsing images in Blender's filebrowser. This began with testbuild 1# and continues. I should note that in two other Ubuntu 14.04.2 LTS PC's this issue does not exist. I've tried fresh OS installs (Ubuntu 12.04.5 LTS and Ubuntu 14.04.2), comparing (and changing) file permissions, going over settings again and again and nothing seems to have an affect. The only difference I see is that the version of opengl (v2.1 I think) is a bit older on the PC I'm using blender on but thumbnails are a pretty basic feature so I'm not sure that would cause this issue but I don't know. I am using the latest proprietary Nvidia driver.

thumbs.png

  • What kind of image files are you trying to preview? (.jpg's and .png mostly)
  • Do they all fail to show thumbnail? (yes)
  • Do you get any message in the console (launch blender from a terminal)? (Just "reading prefs" and "found bundled python. Nothing unusual)
  • Does changing display type in the browser (between e.g. short display and thumbnails) change anything? (I don't see a "short display" option but thumbnails are enabled in prefs.
Below is what I see when browsing images in Blender's filebrowser. This began with testbuild 1# and continues. I should note that in two other Ubuntu 14.04.2 LTS PC's this issue does not exist. I've tried fresh OS installs (Ubuntu 12.04.5 LTS and Ubuntu 14.04.2), comparing (and changing) file permissions, going over settings again and again and nothing seems to have an affect. The only difference I see is that the version of opengl (v2.1 I think) is a bit older on the PC I'm using blender on but thumbnails are a pretty basic feature so I'm not sure that would cause this issue but I don't know. I am using the latest proprietary Nvidia driver. ![thumbs.png](https://archive.blender.org/developer/F233037/thumbs.png) - What kind of image files are you trying to preview? (.jpg's and .png mostly) - Do they all fail to show thumbnail? (yes) - Do you get any message in the console (launch blender from a terminal)? (Just "reading prefs" and "found bundled python. Nothing unusual) - Does changing display type in the browser (between e.g. short display and thumbnails) change anything? (I don't see a "short display" option but thumbnails are enabled in prefs.

"display type" is in header of filebrowser itself, you have three icons after the 'new directory' one, to toggle display modes (short, long and thumbnails).

"display type" is in header of filebrowser itself, you have three icons after the 'new directory' one, to toggle display modes (short, long and thumbnails).
Author

Ok, I see where you are talking about now. Yes, the "Thumbnail" icon has always been active. I think it automatically became the default when checking the "Show Thumbnails" box in prefs>file.

view_prefs.png

Testing on a fresh build of Blender 2.76 from the buildbot (blender-2.75-c56deb1) at the moment which has the same issue.

Ok, I see where you are talking about now. Yes, the "Thumbnail" icon has always been active. I think it automatically became the default when checking the "Show Thumbnails" box in prefs>file. ![view_prefs.png](https://archive.blender.org/developer/F233089/view_prefs.png) Testing on a fresh build of Blender 2.76 from the buildbot (blender-2.75-c56deb1) at the moment which has the same issue.

Rather short on ideas here… Cannot really see how that kind of stuff could happen, especially if thumbnails are generated correctly (if they weren’t, you should get some error message in terminal).

I would bet on OpenGL issue, can you please try to start in software OpenGL mode (use the blender-softwaregl distributed with official blender, will be slow, but will show whether this is a driver issue or not)?

Rather short on ideas here… Cannot really see how that kind of stuff could happen, especially if thumbnails are generated correctly (if they weren’t, you should get some error message in terminal). I would bet on OpenGL issue, can you please try to start in software OpenGL mode (use the `blender-softwaregl` distributed with official blender, will be slow, but will show whether this is a driver issue or not)?
Author

Using a fresh copy of either Blender 2.76 (testbuild 2#/64-bit/Linux) on Ubuntu 12.04.5 LTS) or using the buildbot version mentioned above (also 64-bit/Linux) I click on the "blender-softwaregl" and nothing happens. When I run "blender-softwaregl" from the terminal however, I am provided with the following output...


connect failed: No such file or directory
Read new prefs: /home/*****/.config/blender/2.75/config/userpref.blend
Writing: /tmp/blender.crash.txt
Segmentation fault (core dumped)

... and in /tmp/blender.crash.txt, I can see the following...


Blender 2.75 (sub 4), Commit date: 2015-09-09 15:06, Hash a2a0e7a

backtrace

/home//blender-2.76-testbuild2-linux-glibc211-x86_64/blender(BLI_system_backtrace+0x1d) [0x1a3adbd]
/home/
/blender-2.76-testbuild2-linux-glibc211-x86_64/blender() [0x1056234]
/home/*****/blender-2.76-testbuild2-linux-glibc211-x86_64/blender() [0x1056411]
/lib/x86_64-linux-gnu/libc.so.6(+0x36150) [0x7fe35f0ea150]

I've never had an issue with thumbnails on Blender over the years but for some reason (and only on the PC that I mainly use Blender on), they are no longer displaying. I also suspected opengl since the PC that I normally use Blender on has opengl 2.1.2 and the PC's where the thumbnails work properly have opengl 3.3 (I think). Does the new filemanager use (or require) a newer version of opengl perhaps?.

Using a fresh copy of either Blender 2.76 (testbuild 2#/64-bit/Linux) on Ubuntu 12.04.5 LTS) or using the buildbot version mentioned above (also 64-bit/Linux) I click on the "blender-softwaregl" and nothing happens. When I run "blender-softwaregl" from the terminal however, I am provided with the following output... ------------------- connect failed: No such file or directory Read new prefs: /home/*****/.config/blender/2.75/config/userpref.blend Writing: /tmp/blender.crash.txt Segmentation fault (core dumped) ------------------- ... and in /tmp/blender.crash.txt, I can see the following... ------------------- # Blender 2.75 (sub 4), Commit date: 2015-09-09 15:06, Hash a2a0e7a # backtrace /home/*****/blender-2.76-testbuild2-linux-glibc211-x86_64/blender(BLI_system_backtrace+0x1d) [0x1a3adbd] /home/*****/blender-2.76-testbuild2-linux-glibc211-x86_64/blender() [0x1056234] /home/*****/blender-2.76-testbuild2-linux-glibc211-x86_64/blender() [0x1056411] /lib/x86_64-linux-gnu/libc.so.6(+0x36150) [0x7fe35f0ea150] -------------------- I've never had an issue with thumbnails on Blender over the years but for some reason (and only on the PC that I mainly use Blender on), they are no longer displaying. I also suspected opengl since the PC that I normally use Blender on has opengl 2.1.2 and the PC's where the thumbnails work properly have opengl 3.3 (I think). Does the new filemanager use (or require) a newer version of opengl perhaps?.

Added subscriber: @ideasman42

Added subscriber: @ideasman42

Running Blender in a VM, Windows7, I can redo the error where previews never generate.

Looked into it, filelist_cache_preview_ensure_running is running,
and this line runs BLI_task_pool_push(pool, filelist_cache_previewf, cache, false, TASK_PRIORITY_HIGH); but filelist_cache_previewf is never called.

Running Blender in a VM, Windows7, I can redo the error where previews never generate. Looked into it, `filelist_cache_preview_ensure_running` is running, and this line runs `BLI_task_pool_push(pool, filelist_cache_previewf, cache, false, TASK_PRIORITY_HIGH);` but `filelist_cache_previewf` is never called.

Well, I cannot reproduce it neither on linux nor my own win7 VM :(

The only way I can see for filelist_cache_previewf to be pushed in task pool and yet never executed is to have filelist_cache_previews_free() called immediately after… But I cannot see how this would happen on such a systematic basis.

Could help to uncomment debug prints in this area, if you do can reproduce that?

Well, I cannot reproduce it neither on linux nor my own win7 VM :( The only way I can see for `filelist_cache_previewf` to be pushed in task pool and yet never executed is to have `filelist_cache_previews_free()` called immediately after… But I cannot see how this would happen on such a systematic basis. Could help to uncomment debug prints in this area, if you do can reproduce that?

Aha! Found it!

This happens when there is only one thread available in Blender (you can mimic this by running blender with -t 1 options).

Aha! Found it! This happens when there is only one thread available in Blender (you can mimic this by running blender with `-t 1` options).
Bastien Montagne changed title from Thumbnails/previews of materials/textures not displaying in Blender filebrowser to Thumbnails/previews of materials/textures not displaying in Blender filebrowser when only one thread is available 2015-09-14 23:01:43 +02:00
Bastien Montagne self-assigned this 2015-09-14 23:01:43 +02:00

Added subscriber: @Sergey

Added subscriber: @Sergey

Well… need to summon @Sergey here, issue roots into the task scheduler code. If we only have one available thread, that code from BLI_task_scheduler_create() will mean no worker at all will be created, in other words, task will never be performed in an asynchronous way.

	/* main thread will also work, so we count it too */
	num_threads -= 1;

	/* launch threads that will be waiting for work */
	if (num_threads > 0) {

To me this looks like a very bad behavior, would at least ensure we have one worker running, otherwise it means we'll always have to check for validity of the scheduler and fallback to some other kind of process (like BLI_task_pool_work_and_wait()), but in cases like thumbnail generation that would mean locking the main thread until all previous get generated, yuck…

I’d assume the reason why that scheduler behavior is like that currently is to enforce the -t 1 behavior (i.e. prevent any threading)? Maybe we should add some way to bypass this in this case, when asynch work is absolutely required?

Well… need to summon @Sergey here, issue roots into the task scheduler code. If we only have one available thread, that code from `BLI_task_scheduler_create()` will mean no worker at all will be created, in other words, task will never be performed in an asynchronous way. ``` /* main thread will also work, so we count it too */ num_threads -= 1; /* launch threads that will be waiting for work */ if (num_threads > 0) { ``` To me this looks like a very bad behavior, would at least ensure we have one worker running, otherwise it means we'll always have to check for validity of the scheduler and fallback to some other kind of process (like `BLI_task_pool_work_and_wait()`), but in cases like thumbnail generation that would mean locking the main thread until all previous get generated, yuck… I’d assume the reason why that scheduler behavior is like that currently is to enforce the `-t 1` behavior (i.e. prevent any threading)? Maybe we should add some way to bypass this in this case, when asynch work is absolutely required?

This issue was referenced by 860e25fe29

This issue was referenced by 860e25fe29c3f6732860c23dccb1f4813d4e387e

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
4 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#46093
No description provided.