-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build fails for new project #3732
Comments
I can't see your builds, I think it's because of your project privacy level. I'll try to reproduce it on my local installation. |
Sorry that you are having this problem on your new project, seems like a unicode error. This is because of this file. Any possibility that you can rename the file? Otherwise you need to wait for readthedocs/readthedocs-build#27 gets fixed. |
I found a fix readthedocs/readthedocs-build#27 (comment), lets wait to get a reply on the other issue :) |
Thank you. I have removed the Unicode character in the filename and now it works :-). But nevertheless, it would be good to fix the bug, or at least provide a meaningful error message. |
That would be a great idea for a PR! Would you be able to file that, @Randrian45? |
@Randrian45 while trying to fix the issue readthedocs/readthedocs-build#45 (comment) I came up with some questions, hope you can help me with that. What OS did you use when creating the file? What is the default encoding of that OS? Also, could you create a file outside mercurial with some especial characters and run this script? # test.py
import os
def find_all(path, filenames):
path = os.path.abspath(path)
for root, dirs, files in os.walk(path, topdown=True):
dirs.sort()
for filename in filenames:
if filename in files:
yield os.path.abspath(os.path.join(root, filename))
def find_one(path, filenames):
for _path in find_all(path, filenames):
return _path
return ''
find_one(
u'/path/to/a/dir/with/a/file/created/by/you/outside/mercurial/with/special/chars/',
('readthedocs.yml', '.readthedocs.yml')
) |
I did not create the file myself but received it from a colleague over the mercurial repository. I asked him what OS he did use, and he said that it probably was Windows 7, I think with German settings, or at least a german keyboard layout. |
@Randrian45 do you also use Windows?. I'll try to see if I can reproduce this with Windows |
Yes, I also use Windows, but Windows10, with German settings. |
I'd say that the file is corrupted: it's supposed that its name is in one encoding but it's in another. So, we try to read it's from the filesystem and it fails on decoding it. We should probably have a try/except block for this and skip the corrupted files. |
Probably the file was corrupted, the test pass with a proper unicode filename. See readthedocs#3732 (comment)
* Import parser tests * Move code * Linter * Move utils module * Isort * Move tests for find.py * Move implementation from find.py * Add fixture * Fix path for test * Fix test about encoding Probably the file was corrupted, the test pass with a proper unicode filename. See #3732 (comment) * Linter * Isort * Remove wrong assert We are using unicode literals
Closing as we can't replicate. Probably it was a corrupted file as mention in #3732 (comment). And we have a test for this too (passing). |
Details
Expected Result
A description of what you wanted to happen
ReadTheDocs should clone the repository and build the documentation.
Actual Result
A description of what actually happened
ReadTheDocs clones the repository without problems, but then crashes without giving a proper error message. I just receive:
There was a problem with Read the Docs while building your documentation. Please report this to us with your build id (6841210).
All the output of the commands ReadTheDocs executed was without errors:
hg clone https://bitbucket.org/randrian/open_gpias .
hg update --clean default
hg tags
hg branches
The text was updated successfully, but these errors were encountered: