summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2015-08-03 11:27:27 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2015-08-03 11:27:27 -0400
commit50f5d1a95b4b6fd130f4b7f6a07f51c35907e255 (patch)
treef382ea2170a59c264c90f0e5c9587cbb30a6787d
parent4d9725c4be4cf4078201c066a6088c1476072ab3 (diff)
analysis; forwarded
-rw-r--r--Utility/DirWatcher/INotify.hs3
-rw-r--r--doc/bugs/Error_writing_log_message_when_filename_contains_Unicode_chars/comment_2_1be17780fd4244053c504383ad56969b._comment26
2 files changed, 28 insertions, 1 deletions
diff --git a/Utility/DirWatcher/INotify.hs b/Utility/DirWatcher/INotify.hs
index 4d11b95a8..76f8ab890 100644
--- a/Utility/DirWatcher/INotify.hs
+++ b/Utility/DirWatcher/INotify.hs
@@ -102,7 +102,8 @@ watchDir i dir ignored scanevents hooks
| Files.isSymbolicLink s ->
when (hashook addSymlinkHook) $
runhook addSymlinkHook f ms
- | Files.isRegularFile s ->
+ | Files.isRegularFile s -> do
+ print ("ADDED")
when (hashook addHook) $
runhook addHook f ms
_ -> noop
diff --git a/doc/bugs/Error_writing_log_message_when_filename_contains_Unicode_chars/comment_2_1be17780fd4244053c504383ad56969b._comment b/doc/bugs/Error_writing_log_message_when_filename_contains_Unicode_chars/comment_2_1be17780fd4244053c504383ad56969b._comment
new file mode 100644
index 000000000..fabe85a3a
--- /dev/null
+++ b/doc/bugs/Error_writing_log_message_when_filename_contains_Unicode_chars/comment_2_1be17780fd4244053c504383ad56969b._comment
@@ -0,0 +1,26 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 2"""
+ date="2015-08-03T14:33:38Z"
+ content="""
+I was able to reproduce this, but only once I started the assistant with
+LANG=C. I suspect that the bug reporter's locale in the shell is not
+the locale the assistant was started with.
+
+(Also, I included the French quotes in the filename, which wasn't very
+clear in the bug report.)
+
+The failure to output a debug message is not actually fatal. The file
+still gets added and committed if it exists when the assistant starts up,
+despite this "error". What actually seems to be failing is the
+inotify code. Creating the file while the assistant is running with LANG=C
+results in no inotify event being received for it. AFAICS, the
+inotify library is falling over on the filename, before git-annex ever gets
+to see the file.
+
+Hmm, it looks like the inotify library is generating events with
+filenames that have high bit characters stripped out when run in the C
+locale! So, git-annex gets an event for a file that's not present, and
+ignores it. This sure seems like a bug in the inotify library to me. Bug
+filed: <https://github.com/kolmodin/hinotify/issues/13>.
+"""]]