Period After Folder Name in Output is not blocked! #90444

Closed
opened 2021-08-04 23:53:45 +02:00 by Blender Bach · 25 comments

System Information
Operating system: Windows 10
Graphics card: GTX 1050
(Important Notice: All Hardware has this issue. It is software based!)

Blender Version
Broken: (1.60 - 3.0)
Worked: (None)

Short description of error
When saving an image sequence, if folder has more than one period at the end, it gets saved and Windows cannot deal with that folder.

Exact steps for others to reproduce the error
Step 1: Go to the Output Properties Panel
Step 2: Type /tmp/YourFilenameWithThreeDotsAtTheEnd...
Step 3: Hit the Render Animation button

Result
You now have a folder on your Windows Computer that is impossible to open or delete or do anything with because it has an invalid filename that has a compatibility issue left over from the early DOS days. This is a severe issue!image.png
image.png

Thanks!

**System Information** Operating system: Windows 10 Graphics card: GTX 1050 (Important Notice: All Hardware has this issue. It is software based!) **Blender Version** Broken: (1.60 - 3.0) Worked: (None) **Short description of error** When saving an image sequence, if folder has more than one period at the end, it gets saved and Windows cannot deal with that folder. **Exact steps for others to reproduce the error** Step 1: Go to the Output Properties Panel Step 2: Type /tmp/YourFilenameWithThreeDotsAtTheEnd...\ Step 3: Hit the Render Animation button **Result** You now have a folder on your Windows Computer that is impossible to open or delete or do anything with because it has an invalid filename that has a compatibility issue left over from the early DOS days. This is a severe issue!![image.png](https://archive.blender.org/developer/F10266084/image.png) ![image.png](https://archive.blender.org/developer/F10266089/image.png) **Thanks!**
Author

Added subscriber: @BlenderBach

Added subscriber: @BlenderBach

Added subscriber: @iss

Added subscriber: @iss

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'

This will probably be issue in more places than render output.

This will probably be issue in more places than render output.
Member

Added subscriber: @Harley

Added subscriber: @Harley
Member

Hmm.... if you choose to make a folder that ends in dots then can always remove it like this:

del /s "\\?\C:\tmp\FolderWithThreeDots..."
Hmm.... if you choose to make a folder that ends in dots then can always remove it like this: ``` del /s "\\?\C:\tmp\FolderWithThreeDots..." ```
Member

Added subscriber: @LazyDodo

Added subscriber: @LazyDodo
Member

This comment was removed by @LazyDodo

*This comment was removed by @LazyDodo*
Member

Added subscriber: @kursadk

Added subscriber: @kursadk
Member

Isn't it a user responsibility to conform the OS requirements when it comes to file and folder names? Blender is not at fault here as far as I can tell.

Isn't it a user responsibility to conform the OS requirements when it comes to file and folder names? Blender is not at fault here as far as I can tell.

I have confirmed this, because we have function BLI_filename_make_safe so it can be used perhaps with RNA set function. Path would be sanitized if you would enter it through file browser. In this case, path is also ammended, but there is report for that too - #88193

I have confirmed this, because we have function `BLI_filename_make_safe` so it can be used perhaps with RNA set function. Path would be sanitized if you would enter it through file browser. In this case, path is also ammended, but there is report for that too - #88193
Author

In #90444#1201933, @Harley wrote:
Hmm.... if you choose to make a folder that ends in dots then can always remove it like this:

del /s "\\?\C:\tmp\FolderWithThreeDots..."

Yes, I know that. However, not everyone is a tech wizard. There should be some kind of emergency name filter put in place that forcefully removes the periods so someone doesn't mess up by mistake.

> In #90444#1201933, @Harley wrote: > Hmm.... if you choose to make a folder that ends in dots then can always remove it like this: > > ``` > del /s "\\?\C:\tmp\FolderWithThreeDots..." > ``` Yes, I know that. However, not everyone is a tech wizard. There should be some kind of emergency name filter put in place that forcefully removes the periods so someone doesn't mess up by mistake.
Author

In #90444#1201967, @kursadk wrote:
Isn't it a user responsibility to conform the OS requirements when it comes to file and folder names? Blender is not at fault here as far as I can tell.

Actually, every normal software has a special block filter that tells you that it can't use this filename because it is invalid for the Operating System. Blender should also have a special blocking filter so no one makes a mistake, and then freak out that they have folder that is impossible to delete or use. (I know how to interface with these folders via command line, but not everyone does). I suggest adding a special force name block so this doesn't happen to unsuspecting users... Remember, Windows is not Linux. Linux supports these things because Linux was designed differently. Windows, on the other hand, uses compatibility with DOS, which in turn has many issues. Unfortunately, Blender isn't nearly as good with Windows as with Linux since from TRACES (Blender's Predecessor) that worked on Amiga Workbench OS (UNIX based OS) all the way to Blender 1.60 they all used UNIX and Linux based Operating Systems, so they were all to work better with that. Windows was a later port and since it was just an afterthought, there are still some bugs that need to be ironed out to have a perfect Windows compatibility...
P.S. So far, I have been impressed by Blender for many years. In all of my 6 years of Blender, this is my first ever Bug report. Amazing!

> In #90444#1201967, @kursadk wrote: > Isn't it a user responsibility to conform the OS requirements when it comes to file and folder names? Blender is not at fault here as far as I can tell. Actually, every normal software has a special block filter that tells you that it can't use this filename because it is invalid for the Operating System. Blender should also have a special blocking filter so no one makes a mistake, and then freak out that they have folder that is impossible to delete or use. (I know how to interface with these folders via command line, but not everyone does). I suggest adding a special force name block so this doesn't happen to unsuspecting users... Remember, Windows is not Linux. Linux supports these things because Linux was designed differently. Windows, on the other hand, uses compatibility with DOS, which in turn has many issues. Unfortunately, Blender isn't nearly as good with Windows as with Linux since from TRACES (Blender's Predecessor) that worked on Amiga Workbench OS (UNIX based OS) all the way to Blender 1.60 they all used UNIX and Linux based Operating Systems, so they were all to work better with that. Windows was a later port and since it was just an afterthought, there are still some bugs that need to be ironed out to have a perfect Windows compatibility... P.S. So far, I have been impressed by Blender for many years. In all of my 6 years of Blender, this is my first ever Bug report. Amazing!
Daniel Salazar changed title from SEVERE!!! Period After Folder Name in Output is not blocked! to Period After Folder Name in Output is not blocked! 2021-08-05 05:37:46 +02:00
Member

Added subscriber: @zanqdo

Added subscriber: @zanqdo
Member

If such a sanitizer is implemente it should better be a part of the file saving operation, otherwise (like in my report) it could block perfectly valid filenames

If such a sanitizer is implemente it should better be a part of the file saving operation, otherwise (like in my report) it could block perfectly valid filenames
Author

In #90444#1202036, @zanqdo wrote:
If such a sanitizer is implemente it should better be a part of the file saving operation, otherwise (like in my report) it could block perfectly valid filenames

What I mean is that it should always look at the first and last characters. If one of them is a period, it should just automatically change it to an underscore as an emergency to avoid issues. This way the filename remains intact, and only the period gets removed.

> In #90444#1202036, @zanqdo wrote: > If such a sanitizer is implemente it should better be a part of the file saving operation, otherwise (like in my report) it could block perfectly valid filenames What I mean is that it should always look at the first and last characters. If one of them is a period, it should just automatically change it to an underscore as an emergency to avoid issues. This way the filename remains intact, and only the period gets removed.
Member

The problem with that is Blender doesn't know if the last thing in your path is the full filename or is gonna get extended by the numbering and extension.

Something like File. can be perfectly valid it it's gonna be written as File.001.png

So basically the sanitizer needs to be smarter than just checking the last character of the path.

The problem with that is Blender doesn't know if the last thing in your path is the full filename or is gonna get extended by the numbering and extension. Something like *File.* can be perfectly valid it it's gonna be written as *File.001.png* So basically the sanitizer needs to be smarter than just checking the last character of the path.
Author

In #90444#1202046, @zanqdo wrote:
The problem with that is Blender doesn't know if the last thing in your path is the full filename or is gonna get extended by the numbering and extension.

Something like File. can be perfectly valid it it's gonna be written as File.001.png

So basically the sanitizer needs to be smarter than just checking the last character of the path.

They got to do something... I'm not the programmer, I'm the "Dumb Monkey Tester"

> In #90444#1202046, @zanqdo wrote: > The problem with that is Blender doesn't know if the last thing in your path is the full filename or is gonna get extended by the numbering and extension. > > Something like *File.* can be perfectly valid it it's gonna be written as *File.001.png* > > So basically the sanitizer needs to be smarter than just checking the last character of the path. They got to do something... I'm not the programmer, I'm the "Dumb Monkey Tester"

Added subscriber: @ideasman42

Added subscriber: @ideasman42

It's not obvious what an ideal solution would be in this case since files may be saved on Linux/macOS where this isn't a limitation.

Any logic that changes the output directory from the one that's requested could cause problems for rendering utilities that scan the output directory later on.

This will be an issue for any part of Blender that makes directories, not just rendering (off the top of my head...) unpacking files, generated proxies, point-cache.

It's not obvious what an ideal solution would be in this case since files may be saved on Linux/macOS where this isn't a limitation. Any logic that changes the output directory from the one that's requested could cause problems for rendering utilities that scan the output directory later on. This will be an issue for any part of Blender that makes directories, not just rendering (off the top of my head...) unpacking files, generated proxies, point-cache.
Author

In #90444#1202094, @ideasman42 wrote:
It's not obvious what an ideal solution would be in this case since files may be saved on Linux/macOS where this isn't a limitation.

Any logic that changes the output directory from the one that's requested could cause problems for rendering utilities that scan the output directory later on.

This will be an issue for any part of Blender that makes directories, not just rendering (off the top of my head...) unpacking files, generated proxies, point-cache.

This is exactly another reason why I hate Windows. (Or as I like to call it, "Obnoxious OS")

> In #90444#1202094, @ideasman42 wrote: > It's not obvious what an ideal solution would be in this case since files may be saved on Linux/macOS where this isn't a limitation. > > Any logic that changes the output directory from the one that's requested could cause problems for rendering utilities that scan the output directory later on. > > This will be an issue for any part of Blender that makes directories, not just rendering (off the top of my head...) unpacking files, generated proxies, point-cache. This is exactly another reason why I hate Windows. (Or as I like to call it, "Obnoxious OS")
Member

Realistically though, this doesn’t seem to be critical

  • This rarely happens as users are unlikely to name things this way.
  • If a user does this once they will not do so again
  • It’s easily fixed after a quick google search

In a nutshell, this naming IS supported by the Windows file system, but is just not handled well in the Windows UI. The same thing can happen with files or folders that end with a space.

Ultimately it might be best to simply do what the user asked to do rather than guess at their intentions and disallow behavior that could be intentional for someone else. Sometimes the best answer to “it hurts when I do this” is “then don’t do that”

Realistically though, this doesn’t seem to be critical - This rarely happens as users are unlikely to name things this way. - If a user does this once they will not do so again - It’s easily fixed after a quick google search In a nutshell, this naming IS supported by the Windows file system, but is just not handled well in the Windows UI. The same thing can happen with files or folders that end with a space. Ultimately it might be best to simply do what the user asked to do rather than guess at their intentions and disallow behavior that could be intentional for someone else. Sometimes the best answer to “it hurts when I do this” is “then don’t do that”
Member

Please bear in mind that this report assumes everything is happening under windows with local drives. What if the user is setting such folder on a Samba network drive where the files will be later used by on a Linux Pc that has access to those folders?

I do not see why Blender needs to bend backwards to try to catch all possibilities with all file and folder names issues.

Please bear in mind that this report assumes everything is happening under windows with local drives. What if the user is setting such folder on a Samba network drive where the files will be later used by on a Linux Pc that has access to those folders? I do not see why Blender needs to bend backwards to try to catch all possibilities with all file and folder names issues.

Changed status from 'Confirmed' to: 'Archived'

Changed status from 'Confirmed' to: 'Archived'

Closing this report as it doesn't seem practical to attempt to prevent this situation from happening, especially when this is not a common problem that users face (as far as I know this is the first time it's been reported).

Closing this report as it doesn't seem practical to attempt to prevent this situation from happening, especially when this is not a common problem that users face *(as far as I know this is the first time it's been reported).*
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
7 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#90444
No description provided.