Yes indeed, Catalysts has moved, but that doesn’t mean we are gone, we just moved to our new website
together with our partners from Crisp Research to do the same things we used to do in an improved way. We still do great software and we are still great people, more or less only the color has changed except from our domain 😉

Flex File I/O Error #2038 on Mac Clients

5 Kommentare

The list of reasons for the infamous i/o error #2038 seems to be endless and considering the huge number of google hits [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] a lot of people are struggling with it. One of the reasons for this is that error #2038 is a very generic i/o error and doesn’t provide any further details that would help to track down the root problem. It even doesn’t state whether the error was client or server side.

In our case the error seemed to be client side, Mac only to be specific – “seemed to be” because we were proven different in the end. It happened that any file upload attempts initiated from Mac clients aborted with that particular error. Since we were able to upload the very same files with any Windows client we concluded that it can neither by the file size or type, nor any permission problems on the server. And since it only happened on Mac clients we further concluded that it has to be a bug in the Mac version of the Flash player.

We started to find the least complex setup to trace down the bug and finally file a bug report – and guess what, the very basic file upload example that can be found on so many tutorial pages worked. Well, that on the other hand proved that it is not a sole Mac player bug.

So if it’s neither a client bug nor a server bug, what else can it be? To solve that puzzle we set up Wireshark and started to compare the network traffic between our not working web application and our working test environment and the respective client. The first interesting thing we discovered was that in the failing case the client not even attempted to upload something. Why the heck can something fail that was not even tried to be done?

After further investigation of the network traffic we finally found the problem! It turned out to indeed be a Mac player bug that only arises with certain webserver configurations. More specifically, our webserver had some redirection rules in place that aimed to correct broken links, enforce https, and such. The problematic rule was the one that appended a slash to all requests that addressed a directory but ommited the trailing slash, and the upload request turned out to be such a request. While the Windows version of the Flash player understood that redirect and re-uploaded the file to the new location the Mac player just dropped the connection and bailed out with that ominous i/o error.

The fix was an easy one, we just added a trailing slash to the upload URL specified in the Actionscript code and everything worked fine.

Vorheriger Beitrag
3. Wispri: Integration bringt mehr
Nächster Beitrag
Dependency Management with Ivy

Related Posts

FlexUnit 4 und TeamCity

We switched from FlexUnit to funit which seemed much more lightweight and came with out-of-the-box TeamCity support. Then FlexUnit 4 came up and IntelliJ IDEA 9 was released including a built-in FlexUnit runner. That alone would have been reason enough to switch over again, but additionally FlexUnit 4 seems to be a huge improvement over the 0.9 predecessor.


5 Kommentare. Hinterlasse eine Antwort

Thanks for the post, we’re having the same issue – you said you put a slash at the end of your URL, could you be more specific?

was it as simple as : “”


Thanks again – john


    That was for the case when the webserver handles uploading and you are just pointing to the upload location (folder). If uploads are handled by a server-side script (as in your example) the trailing slash is bogus of course.

    Try to figure out if you script actually gets any requests to process, if it is the mentioned redirect issue the client will fail before actually transmitting something.


2 other things you need to do:
– encode the special characters
– echo at least one thing in your php file (if you use php), I just had to add echo ” “; and it worked!!


Thank you Harald,
your post just saved my team a couple of days of debugging 🙂
extremely good vibes from Rome


Just want to add that our soulution was to remove spaces in url parameters : vrac replaced by and now it works on Mac so !
Thanks for your post


Schreibe einen Kommentar zu Filippo Gregoretti Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Bitte füllen Sie dieses Feld aus
Bitte füllen Sie dieses Feld aus
Bitte gib eine gültige E-Mail-Adresse ein.
Sie müssen den Bedingungen zustimmen, um fortzufahren