Reserved words in windows filenames for drone instantiated containers

I just stumbled across this error:

Error response from daemon: create drone-xaux5fkwjzlpgmshffdm: volume name “drone-xaux5fkwjzlpgmshffdm” cannot be a reserved word for Windows filenames

AFAICT it is related to the fact that AUX is in the filename. See this stackoverflow question which shows a similar problem:
https://stackoverflow.com/questions/50684992/creating-volume-error-on-docker-for-windows

This looks to me like a bug - but is it a docker bug or a drone bug? I would expect one or the other to sanitize the name, but as the name is in part inspired by drone, perhaps it should be done by drone, prior to sending the name to docker.

Thoughts?

@reevespaul ,

Could you please share your compose file and the yaml that you are using.

This error is appearing on Windows 2019.

“Error response from daemon: create drone-aux5mb2binzsnvkex4qa: volume name “drone-aux5mb2binzsnvkex4qa” cannot be a reserved word for Windows filenames”.

The message was found in the postgres database. In the drone runner docker logs, the following sorts of messages appear in quick succession, in one second.

“stage accepted”
“stage details fetched”
“updated stage to running”
“destroying the pipeline environment”
“cannot remove network”
“successfully destroyed the pipeline environment”
“updated stage to complete”

It jumps directly to “destroying the pipeline environment” without saying why.

The error isn’t shown in the UI, or the runner logs.

Database query to discover the message:

select stage_error from stages where stage_error LIKE ‘%reserved%’;

Error response from daemon: create drone-kw5vdor0auxfa8eqqia9: volume name “drone-kw5vdor0auxfa8eqqia9” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-0eblzeivauxoml6ct6mw: volume name “drone-0eblzeivauxoml6ct6mw” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-2mbnul7ieumqli8gpg6m: volume name “drone-2mbnul7ieumqli8gpg6m” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-cuggvqpj7jprnldisivz: volume name “drone-cuggvqpj7jprnldisivz” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-d1xbkauxlzdjqsmjredi: volume name “drone-d1xbkauxlzdjqsmjredi” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-iszuluz9anul9jekbjru: volume name “drone-iszuluz9anul9jekbjru” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-wauxizc8opbahx5kooa5: volume name “drone-wauxizc8opbahx5kooa5” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-mynull5xu517um1jophd: volume name “drone-mynull5xu517um1jophd” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-8auxrflhbxyuqhij9kg3: volume name “drone-8auxrflhbxyuqhij9kg3” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-uovxwprnl6ttoaofk7wf: volume name “drone-uovxwprnl6ttoaofk7wf” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-xlf3prnqixyt4uyb4wt2: volume name “drone-xlf3prnqixyt4uyb4wt2” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-ad9ysmchqprng6uhqdxj: volume name “drone-ad9ysmchqprng6uhqdxj” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-lrb9ybasnulv7o5m4sdg: volume name “drone-lrb9ybasnulv7o5m4sdg” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-roynullnsfuj0ycsl9xn: volume name “drone-roynullnsfuj0ycsl9xn” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-nulco1ybcz2pourd8ped: volume name “drone-nulco1ybcz2pourd8ped” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-nzy4qgslcpk1uginulmh: volume name “drone-nzy4qgslcpk1uginulmh” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-sx2erdvhqzzxrxprn2sv: volume name “drone-sx2erdvhqzzxrxprn2sv” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-9kswl4nul2k3k9jfatli: volume name “drone-9kswl4nul2k3k9jfatli” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-bt972ynauxbncmvs5gkk: volume name “drone-bt972ynauxbncmvs5gkk” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-iyauxegjyc7s8kptrjkl: volume name “drone-iyauxegjyc7s8kptrjkl” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-8kzttvjk7cv9fzbcnulc: volume name “drone-8kzttvjk7cv9fzbcnulc” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-opnulyr2awvvu4huvywg: volume name “drone-opnulyr2awvvu4huvywg” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-9eprnhgvsh5qgnefdttf: volume name “drone-9eprnhgvsh5qgnefdttf” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-nulyz527z72aaawey9gu: volume name “drone-nulyz527z72aaawey9gu” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-ljyauih8yfoixoqdnaux: volume name “drone-ljyauih8yfoixoqdnaux” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-hto4ehhcgvzhdcauxlps: volume name “drone-hto4ehhcgvzhdcauxlps” cannot be a reserved word for Windows filenames
Error response from daemon: create drone-aux5mb2binzsnvkex4qa: volume name “drone-aux5mb2binzsnvkex4qa” cannot be a reserved word for Windows filenames
(27 rows)

The pattern seems to be “aux” and “nul” .

To clarify more about the overall effects of this error and whether it’s an issue or not. Let’s say you have a drone build that contains many different Linux and Windows stages. Most of those complete successfully. If one Windows job snags on “reserved word for Windows filenames”, in the UI, that job will be shown red without further information. See attached screenshot. The build will be marked as failed.

2022-09-03-1