{"action":"created","issue":{"url":"https://api.github.com/repos/thibaudgg/rb-fsevent/issues/10","labels_url":"https://api.github.com/repos/thibaudgg/rb-fsevent/issues/10/labels{/name}","comments_url":"https://api.github.com/repos/thibaudgg/rb-fsevent/issues/10/comments","events_url":"https://api.github.com/repos/thibaudgg/rb-fsevent/issues/10/events","html_url":"https://github.com/thibaudgg/rb-fsevent/issues/10","id":719668,"number":10,"title":"Events not firing","user":{"login":"whatupdave","id":7064,"avatar_url":"https://avatars.githubusercontent.com/u/7064?v=3","gravatar_id":"","url":"https://api.github.com/users/whatupdave","html_url":"https://github.com/whatupdave","followers_url":"https://api.github.com/users/whatupdave/followers","following_url":"https://api.github.com/users/whatupdave/following{/other_user}","gists_url":"https://api.github.com/users/whatupdave/gists{/gist_id}","starred_url":"https://api.github.com/users/whatupdave/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whatupdave/subscriptions","organizations_url":"https://api.github.com/users/whatupdave/orgs","repos_url":"https://api.github.com/users/whatupdave/repos","events_url":"https://api.github.com/users/whatupdave/events{/privacy}","received_events_url":"https://api.github.com/users/whatupdave/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"ttilley","id":9715,"avatar_url":"https://avatars.githubusercontent.com/u/9715?v=3","gravatar_id":"","url":"https://api.github.com/users/ttilley","html_url":"https://github.com/ttilley","followers_url":"https://api.github.com/users/ttilley/followers","following_url":"https://api.github.com/users/ttilley/following{/other_user}","gists_url":"https://api.github.com/users/ttilley/gists{/gist_id}","starred_url":"https://api.github.com/users/ttilley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ttilley/subscriptions","organizations_url":"https://api.github.com/users/ttilley/orgs","repos_url":"https://api.github.com/users/ttilley/repos","events_url":"https://api.github.com/users/ttilley/events{/privacy}","received_events_url":"https://api.github.com/users/ttilley/received_events","type":"User","site_admin":false},"milestone":null,"comments":142,"created_at":"2011-03-31T00:36:50Z","updated_at":"2015-05-14T13:49:38Z","closed_at":"2011-11-20T00:42:28Z","body":"I'm trying to pin down exactly what's happening here. The specs don't pass, I ran it in debug mode:\r\n\r\n    creating Makefile\r\n    CFLAGS='-isysroot /Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6 -mdynamic-no-pic -std=gnu99 -Os -pipe -Wmissing-prototypes -Wreturn-type -Wmissing-braces -Wparentheses -Wswitch -Wunused-function -Wunused-label -Wunused-parameter -Wunused-variable -Wunused-value -Wuninitialized -Wunknown-pragmas -Wshadow -Wfour-char-constants -Wsign-compare -Wnewline-eof -Wconversion -Wshorten-64-to-32 -Wglobal-constructors -pedantic' /usr/bin/gcc -isysroot /Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6 -mdynamic-no-pic -std=gnu99 -dead_strip -framework CoreServices -D DEBUG=true -o '/users/dave/code/temp/rb-fsevent/bin/fsevent_watch' fsevent/fsevent_watch.c\r\n    fsevent_watch compiled\r\n    .\r\n    append_path called for: /users/dave/code/temp/rb-fsevent/spec/fixtures/custom 'path\r\n      resolved path to: /Users/dave/code/temp/rb-fsevent/spec/fixtures/custom 'path\r\n\r\n    config.sinceWhen    18446744073709551615\r\n    config.latency      0.300000\r\n    config.flags        00000000\r\n    config.paths\r\n      /Users/dave/code/temp/rb-fsevent/spec/fixtures/custom 'path\r\n\r\n    FSEventStreamRef @ 0x1001085c0:\r\n       allocator = 0x7fff709faee0\r\n       callback = 0x100001522\r\n       context = {0, 0x0, 0x0, 0x0, 0x0}\r\n       numPathsToWatch = 1\r\n       pathsToWatch = 0x7fff709faee0\r\n            pathsToWatch[0] = '/Users/dave/code/temp/rb-fsevent/spec/fixtures/custom 'path'\r\n       latestEventId = -1\r\n       latency = 300000 (microseconds)\r\n       flags = 0x00000000\r\n       runLoop = 0x0\r\n       runLoopMode = 0x0\r\n\r\n    F\r\n    append_path called for: /users/dave/code/temp/rb-fsevent/spec/fixtures/custom 'path\r\n      resolved path to: /Users/dave/code/temp/rb-fsevent/spec/fixtures/custom 'path\r\n\r\n    config.sinceWhen    18446744073709551615\r\n    config.latency      0.300000\r\n    config.flags        00000000\r\n    config.paths\r\n      /Users/dave/code/temp/rb-fsevent/spec/fixtures/custom 'path\r\n\r\n    FSEventStreamRef @ 0x1001085c0:\r\n       allocator = 0x7fff709faee0\r\n       callback = 0x100001522\r\n       context = {0, 0x0, 0x0, 0x0, 0x0}\r\n       numPathsToWatch = 1\r\n       pathsToWatch = 0x7fff709faee0\r\n            pathsToWatch[0] = '/Users/dave/code/temp/rb-fsevent/spec/fixtures/custom 'path'\r\n       latestEventId = -1\r\n       latency = 300000 (microseconds)\r\n       flags = 0x00000000\r\n       runLoop = 0x0\r\n       runLoopMode = 0x0\r\n\r\n\r\n    append_path called for: /users/dave/code/temp/rb-fsevent/spec/fixtures\r\n      resolved path to: /Users/dave/code/temp/rb-fsevent/spec/fixtures\r\n\r\n    config.sinceWhen    18446744073709551615\r\n    config.latency      0.500000\r\n    config.flags        00000000\r\n    config.paths\r\n      /Users/dave/code/temp/rb-fsevent/spec/fixtures\r\n\r\n    FSEventStreamRef @ 0x1001085e0:\r\n       allocator = 0x7fff709faee0\r\n       callback = 0x100001522\r\n       context = {0, 0x0, 0x0, 0x0, 0x0}\r\n       numPathsToWatch = 1\r\n       pathsToWatch = 0x7fff709faee0\r\n            pathsToWatch[0] = '/Users/dave/code/temp/rb-fsevent/spec/fixtures'\r\n       latestEventId = -1\r\n       latency = 500000 (microseconds)\r\n       flags = 0x00000000\r\n       runLoop = 0x0\r\n       runLoopMode = 0x0\r\n\r\n    F\r\n    append_path called for: /users/dave/code/temp/rb-fsevent/spec/fixtures\r\n      resolved path to: /Users/dave/code/temp/rb-fsevent/spec/fixtures\r\n\r\n    config.sinceWhen    18446744073709551615\r\n    config.latency      0.500000\r\n    config.flags        00000000\r\n    config.paths\r\n      /Users/dave/code/temp/rb-fsevent/spec/fixtures\r\n\r\n    FSEventStreamRef @ 0x1001085e0:\r\n       allocator = 0x7fff709faee0\r\n       callback = 0x100001522\r\n       context = {0, 0x0, 0x0, 0x0, 0x0}\r\n       numPathsToWatch = 1\r\n       pathsToWatch = 0x7fff709faee0\r\n            pathsToWatch[0] = '/Users/dave/code/temp/rb-fsevent/spec/fixtures'\r\n       latestEventId = -1\r\n       latency = 500000 (microseconds)\r\n       flags = 0x00000000\r\n       runLoop = 0x0\r\n       runLoopMode = 0x0\r\n\r\n\r\n    append_path called for: /users/dave/code/temp/rb-fsevent/spec/fixtures\r\n      resolved path to: /Users/dave/code/temp/rb-fsevent/spec/fixtures\r\n\r\n    config.sinceWhen    18446744073709551615\r\n    config.latency      0.500000\r\n    config.flags        00000000\r\n    config.paths\r\n      /Users/dave/code/temp/rb-fsevent/spec/fixtures\r\n\r\n    FSEventStreamRef @ 0x1001085e0:\r\n       allocator = 0x7fff709faee0\r\n       callback = 0x100001522\r\n       context = {0, 0x0, 0x0, 0x0, 0x0}\r\n       numPathsToWatch = 1\r\n       pathsToWatch = 0x7fff709faee0\r\n            pathsToWatch[0] = '/Users/dave/code/temp/rb-fsevent/spec/fixtures'\r\n       latestEventId = -1\r\n       latency = 500000 (microseconds)\r\n       flags = 0x00000000\r\n       runLoop = 0x0\r\n       runLoopMode = 0x0\r\n\r\n    F\r\n    append_path called for: /users/dave/code/temp/rb-fsevent/spec/fixtures\r\n      resolved path to: /Users/dave/code/temp/rb-fsevent/spec/fixtures\r\n\r\n    config.sinceWhen    18446744073709551615\r\n    config.latency      0.500000\r\n    config.flags        00000000\r\n    config.paths\r\n      /Users/dave/code/temp/rb-fsevent/spec/fixtures\r\n\r\n    FSEventStreamRef @ 0x1001085e0:\r\n       allocator = 0x7fff709faee0\r\n       callback = 0x100001522\r\n       context = {0, 0x0, 0x0, 0x0, 0x0}\r\n       numPathsToWatch = 1\r\n       pathsToWatch = 0x7fff709faee0\r\n            pathsToWatch[0] = '/Users/dave/code/temp/rb-fsevent/spec/fixtures'\r\n       latestEventId = -1\r\n       latency = 500000 (microseconds)\r\n       flags = 0x00000000\r\n       runLoop = 0x0\r\n       runLoopMode = 0x0\r\n\r\n\r\n    append_path called for: /users/dave/code/temp/rb-fsevent/spec/fixtures\r\n      resolved path to: /Users/dave/code/temp/rb-fsevent/spec/fixtures\r\n\r\n    config.sinceWhen    18446744073709551615\r\n    config.latency      0.500000\r\n    config.flags        00000000\r\n    config.paths\r\n      /Users/dave/code/temp/rb-fsevent/spec/fixtures\r\n\r\n    FSEventStreamRef @ 0x1001085e0:\r\n       allocator = 0x7fff709faee0\r\n       callback = 0x100001522\r\n       context = {0, 0x0, 0x0, 0x0, 0x0}\r\n       numPathsToWatch = 1\r\n       pathsToWatch = 0x7fff709faee0\r\n            pathsToWatch[0] = '/Users/dave/code/temp/rb-fsevent/spec/fixtures'\r\n       latestEventId = -1\r\n       latency = 500000 (microseconds)\r\n       flags = 0x00000000\r\n       runLoop = 0x0\r\n       runLoopMode = 0x0\r\n\r\n    F\r\n    append_path called for: /users/dave/code/temp/rb-fsevent/spec/fixtures\r\n      resolved path to: /Users/dave/code/temp/rb-fsevent/spec/fixtures\r\n\r\n    config.sinceWhen    18446744073709551615\r\n    config.latency      0.500000\r\n    config.flags        00000000\r\n    config.paths\r\n      /Users/dave/code/temp/rb-fsevent/spec/fixtures\r\n\r\n    FSEventStreamRef @ 0x1001085e0:\r\n       allocator = 0x7fff709faee0\r\n       callback = 0x100001522\r\n       context = {0, 0x0, 0x0, 0x0, 0x0}\r\n       numPathsToWatch = 1\r\n       pathsToWatch = 0x7fff709faee0\r\n            pathsToWatch[0] = '/Users/dave/code/temp/rb-fsevent/spec/fixtures'\r\n       latestEventId = -1\r\n       latency = 500000 (microseconds)\r\n       flags = 0x00000000\r\n       runLoop = 0x0\r\n       runLoopMode = 0x0\r\n\r\n\r\n\r\n    Failures:\r\n\r\n      1) FSEvent should work with path with an apostrophe\r\n         Failure/Error: @results.should == [custom_path.to_s + '/']\r\n           expected: [\"/users/dave/code/temp/rb-fsevent/spec/fixtures/custom 'path/\"]\r\n                got: [] (using ==)\r\n           Diff:\r\n           @@ -1,2 +1,2 @@\r\n           -[\"/users/dave/code/temp/rb-fsevent/spec/fixtures/custom 'path/\"]\r\n           +[]\r\n         # ./spec/rb-fsevent/fsevent_spec.rb:30:in `block (2 levels) in <top (required)>'\r\n\r\n      2) FSEvent should catch new file\r\n         Failure/Error: @results.should == [@fixture_path.to_s + '/']\r\n           expected: [\"/users/dave/code/temp/rb-fsevent/spec/fixtures/\"]\r\n                got: [] (using ==)\r\n           Diff:\r\n           @@ -1,2 +1,2 @@\r\n           -[\"/users/dave/code/temp/rb-fsevent/spec/fixtures/\"]\r\n           +[]\r\n         # ./spec/rb-fsevent/fsevent_spec.rb:40:in `block (2 levels) in <top (required)>'\r\n\r\n      3) FSEvent should catch file update\r\n         Failure/Error: @results.should == [@fixture_path.join(\"folder1/\").to_s]\r\n           expected: [\"/users/dave/code/temp/rb-fsevent/spec/fixtures/folder1/\"]\r\n                got: [] (using ==)\r\n           Diff:\r\n           @@ -1,2 +1,2 @@\r\n           -[\"/users/dave/code/temp/rb-fsevent/spec/fixtures/folder1/\"]\r\n           +[]\r\n         # ./spec/rb-fsevent/fsevent_spec.rb:49:in `block (2 levels) in <top (required)>'\r\n\r\n      4) FSEvent should catch files update\r\n         Failure/Error: @results.should == [@fixture_path.join(\"folder1/\").to_s, @fixture_path.join(\"folder1/folder2/\").to_s]\r\n           expected: [\"/users/dave/code/temp/rb-fsevent/spec/fixtures/folder1/\", \"/users/dave/code/temp/rb-fsevent/spec/fixtures/folder1/folder2/\"]\r\n                got: [] (using ==)\r\n           Diff:\r\n           @@ -1,3 +1,2 @@\r\n           -[\"/users/dave/code/temp/rb-fsevent/spec/fixtures/folder1/\",\r\n           - \"/users/dave/code/temp/rb-fsevent/spec/fixtures/folder1/folder2/\"]\r\n           +[]\r\n         # ./spec/rb-fsevent/fsevent_spec.rb:61:in `block (2 levels) in <top (required)>'\r\n\r\n    Finished in 13.4 seconds\r\n    5 examples, 4 failures\r\n\r\n\r\n\r\n\r\nI'm running ruby-1.9.2-p180\r\nMac OSX 10.6.6\r\n\r\nI'm not sure what other information would be helpful. If i build the debug binary and run it on a directory i'm not seeing any events firing.\r\n\r\nAny ideas?\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/thibaudgg/rb-fsevent/issues/comments/102043011","html_url":"https://github.com/thibaudgg/rb-fsevent/issues/10#issuecomment-102043011","issue_url":"https://api.github.com/repos/thibaudgg/rb-fsevent/issues/10","id":102043011,"user":{"login":"andreyvit","id":5364,"avatar_url":"https://avatars.githubusercontent.com/u/5364?v=3","gravatar_id":"","url":"https://api.github.com/users/andreyvit","html_url":"https://github.com/andreyvit","followers_url":"https://api.github.com/users/andreyvit/followers","following_url":"https://api.github.com/users/andreyvit/following{/other_user}","gists_url":"https://api.github.com/users/andreyvit/gists{/gist_id}","starred_url":"https://api.github.com/users/andreyvit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreyvit/subscriptions","organizations_url":"https://api.github.com/users/andreyvit/orgs","repos_url":"https://api.github.com/users/andreyvit/repos","events_url":"https://api.github.com/users/andreyvit/events{/privacy}","received_events_url":"https://api.github.com/users/andreyvit/received_events","type":"User","site_admin":false},"created_at":"2015-05-14T13:49:38Z","updated_at":"2015-05-14T13:49:38Z","body":"Made two more changes:\r\n\r\n1. Replaced my realpath implementation with the one from OS X 10.10 — it does everything except replacing names.\r\n2. Got fishhook hooking to work — it's significantly safer than mach_override (it's even compatible with iOS App Store).\r\n\r\nI'm very happy with how this works now, and definitely shipping this.\r\n\r\n@ttilley, @thibaudgg Are you guys comfortable shipping a fix like this (overriding realpath implementation process-wide)? What do you need to include it? Should I extract the code into a separate repository?"}}