Details for "io.failed"

Sorry, can’t find documentation how to get details for io.failed exception? What was the operation? Why it was failed?

Sorry - we are working on the detailed error messages in the future. Unfortunately, it’s a catch-all error message for IO operations. If you could provide more context, we will try to help you better on this

Context if what I’m trying to get from the Error )))) Ok, I’ll try to add more logging in order to see what’s happening on the client side.

I do know it’s related to creating renditions. Is it happening with all renditions, or only some?

Ok, I guess I found one of the cases for xd.createRenditions crash with io.failed. Do you support paths longer than 255 chars on win? E.g. createFile for following path doesn’t crash C:\Users\curuser\AppData\Local\Packages\Adobe.CC.XD_adky2gkssdxte\LocalState\plugin_settings\io.sympli.qa.xd.plugin\work\00018\4e665e4f-bb9d-423f-b222-ffc846542506\web\114101115105122101100991141111124510198971005210155491005397102505410149505549489710010110210010250485248999845564848120535048.svg but when I try to export renditions into that file I’m getting io.failed exception.

Yeah, XD on Windows doesn’t like paths that long. And wow… that’s a long path!

CC @schenglooi ^^^

Simple user case is user create text layer and paste some long text into it. In such cases pasted text goes to layer name (BTW including special chars like line breaks) so layer name might be really huge.

But still details for exceptions are critically important. It’s really time consuming process to guess errors reasons especially on clients installations when we don’t have access to real designs.

UPD: Really unspecified exceptions in batch operations like createRenditions seems to be not very good idea because it doesn’t make any sense to catch such exception - you never know what has happened and was was already processed. Initially I thought that io.failed was thrown by createFile and it makes sense for that function but I was wrong :frowning: It looks like createFile doesn’t do anything except creating new instance of the File class.

I’m still facing io.failed on some cases when I call createRenditions as a batch which I can’t reproduce with for loop. Any suggestions how to debug such errors?
UPD: it looks like chunking by 100 items temporary solved the problem. What’s the real limit?

How big was that batch that got you failed? We are currently investigating. Currently, io.failed error message includes:

  • access denied (disk permission)
  • readonly folder
  • not enough disk space
  • maximum path (I think it’s 256 currently on both platform)

Does any of this cover your situation?

It seems it had about 1100 renditions as a single batch. None of the errors covers the case.

One more case - if we try to export folder which doesn’t have any layers inside (but has other folders) XD throws io.failed instead of rendering empty image. Are there any other restrictions? Like layer should be not empty or anything?
UPD: Layer within folder must be visible, otherwise it fails too.

Curious what you mean by “folder” and “layer” here.

By folder I mean Group or Artboard. I’m not sure if XD has any other grouping nodes except these two. And layer - all other SceneNode instances.