FBX importer fails when importing from a junction or symlink location. #104953
Labels
No Label
Interest
Animation & Rigging
Interest
Blender Cloud
Interest
Collada
Interest
Core
Interest
Documentation
Interest
Eevee & Viewport
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
Import and Export
Interest
Modeling
Interest
Modifiers
Interest
Nodes & Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds, Tests & Devices
Interest
Python API
Interest
Rendering & Cycles
Interest
Sculpt, Paint & Texture
Interest
Translations
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Meta
Good First Issue
Meta
Papercut
Module
Add-ons (BF-Blender)
Module
Add-ons (Community)
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
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender-addons#104953
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
System Information
Operating system: win10
Graphics card: rtx4090
Blender Version
Broken: 3.3, 3.6. 4.0
Worked: Presumably never
When importing an FBK from a system location that passes through a symlink or junction the importer will process for a while, then fail and report that the file was not found.
FileNotFoundError: [WinError 3] The system cannot find the path specified:
Exact steps for others to reproduce the error
No sample file because this is system configuration dependent.
Importing through a symlink or junction works fine here, please post the full error.
Please excuse the gibberish folder names, but out of concern for adhering NDA I've scrambled the names while keeping the same character count in the very off chance there were a character limit issue.
FBX location through junction, where
junct_folderd
is the link folder to a separate drive:C:\files\new\junct_folderd\xyx\sources5\sources5_cur\cal_to_hela_larger\textures\vip_xyx_map_to_hela_larger_bungo1\Assets\Models\
The associated texture map does exist and is pathed at:
Users\steveinaba\Downloads\A136371TLirLirp_TouringP000A1\A136371TLirLirp_TouringP000A1CutsPart1\text\'A136371TLirLirp_TouringP000A1CutsPart1.fbm\A136371TLirLirp_TouringP000A1CutsPart1_50M16K_u1_v1.png
This is correct to what is in the FBX itself when checking it with n++.
Windows itself has a 260 character limit on paths which might be part of the problem here: https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation
The path from the original error message is cut off very close to that limit. You can see it's not actually the entire path and is missing the remaining
\text\'A136371TLirLirp_TouringP000A1CutsPart1.fbm\A136371TLirLirp_TouringP000A1CutsPart1_50M16K_u1_v1.png
portion of the filepath.The error has occurred in the
bpy.path
module called from thebpy_extras.image_utils
module, both of which are part of Blender's Python API and not the FBX importer, so I think it's likely that if there is a code issue here, the issue should be re-created over at https://projects.blender.org/blender/blender/issues.Going to line 1760 of
C:\Program Files\Blender Foundation\Blender 3.6\3.6\scripts\addons\io_scene_fbx\import_fbx.py
and adding theverbose=True
argument to the function call will print theimagepath
(filepath
) anddirname
arguments, that were passed to thebpy_extras.image_utils.load_image
function, to the System Console. Printing something likeload_image('<imagepath>', '<dirname>', ...)
.If what's printed is not the unscrambled equivalents of
C:\files\new\junct_folderd\xyx\sources5\sources5_cur\cal_to_hela_larger\textures\vip_xyx_map_to_hela_larger_bungo1\Assets\Models\..\..\..\..\..\..\..\..\..\..\..\Users\steveinaba\Downloads\A136371TLirLirp_TouringP000A1\A136371TLirLirp_TouringP000A1CutsPart1.fbm\A136371TLirLirp_TouringP000A1CutsPart1_50M16K_u1_v1.png
and
C:\files\new\junct_folderd\xyx\sources5\sources5_cur\cal_to_hela_larger\textures\vip_xyx_map_to_hela_larger_bungo1\Assets\Models\
, then I would mention what they actually were.I did notice that the path from the original error message is cut off before the
.
in the directory containing a.
character, but I can't think of any reasons why the path might accidentally be cut off at a.
specifically.A little odd is that looking at the line of code that raised the error, in order to call
_os.listdir(dirpath)
, it must have first passed the_os.path.isdir(dirpath)
check that checks whether the path is a directory that exists (_os
is just an alias of theos
module in the file in question).Going through the discussion, the issue here seems to be related to reading filepath or path limit, and not related to FBX i/o
Closing in that case. Please report bug at https://projects.blender.org/blender/blender/issues with possible way of redoing it locally.