Permission denied error from 'rake doc'

26 views
Skip to first unread message

T.J. Crowder

unread,
Mar 30, 2009, 6:51:05 AM3/30/09
to Prototype: Core
Hi all,

I have a bunch of doc tickets I'd like to resolve (not to mention this
ticket[1] discussed here[2] that I've posted a patch for, but seems to
be waiting for someone to check that the doc stuff doesn't get broken
by blank lines), but 'rake doc' doesn't work on my system. 'rake
dist' and 'rake test' both do.

[1] http://prototype.lighthouseapp.com/projects/8886-prototype/tickets/610
[2] http://groups.google.com/group/prototype-core/browse_thread/thread/c5c83045bc3ba6ed

I've installed Ruby, git, rake, etc., cloned the repo, built the
submodules, etc., and again dist and test work. But I haven't
manually installed anything specific for PDoc -- it'd be a great
answer if it were just that I was missing out something.

I'd like to get the doc stuff working so I can test my doc changes
locally before posting patches. I know nothing about Ruby or rake.
Anyone have any idea what's going on here and how to resolve this?
* * * *
C:\Projects\prototype>rake doc --trace
(in C:/Projects/prototype)
** Invoke doc (first_time)
** Invoke doc:build (first_time)
** Invoke doc:require (first_time)
** Execute doc:require
** Execute doc:build
rake aborted!
Permission denied - C:/DOCUME~1/tjc/LOCALS~1/Temp/pdoc.3196.0
C:/Projects/prototype/vendor/sprockets/lib/sprockets/concatenation.rb:
27:in `utime'
C:/Projects/prototype/vendor/sprockets/lib/sprockets/concatenation.rb:
27:in `save_to'
C:/Projects/prototype/rakefile:72
c:/ruby/lib/ruby/1.8/tempfile.rb:172:in `open'
C:/Projects/prototype/rakefile:64
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:617:in `call'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:617:in `execute'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:612:in `each'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:612:in `execute'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:578:in
`invoke_with_call_chain'
c:/ruby/lib/ruby/1.8/monitor.rb:242:in `synchronize'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:571:in
`invoke_with_call_chain'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:588:in
`invoke_prerequisites'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:585:in `each'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:585:in
`invoke_prerequisites'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:577:in
`invoke_with_call_chain'
c:/ruby/lib/ruby/1.8/monitor.rb:242:in `synchronize'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:571:in
`invoke_with_call_chain'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:564:in `invoke'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2027:in
`invoke_task'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2005:in
`top_level'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2005:in `each'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2005:in
`top_level'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2044:in
`standard_exception_handling'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:1999:in
`top_level'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:1977:in `run'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2044:in
`standard_exception_handling'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:1974:in `run'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/bin/rake:31
c:/ruby/bin/rake:16:in `load'
c:/ruby/bin/rake:16
* * * *
The temp file (C:/DOCUME~1/tjc/LOCALS~1/Temp/pdoc.3196.0, in the
above) _does_ get created briefly, and then deleted by the end of the
process. Naturally I've checked permissions. As you can tell, this
is a Windows system -- XP Home SP3, specifically.

Thanks in advance,
--
T.J. Crowder
tj / crowder software / com

Andrew Dupont

unread,
Mar 31, 2009, 1:23:12 AM3/31/09
to Prototype: Core
Christ, that's weird. It's saying you don't have permission to read
the temporary file we create to build a concatenated version of
Prototype with documentation comments included. The whole point of the
temporary-file approach is to avoid permissions issues.

Are you logged in as an administrator?

Cheers,
Andrew

On Mar 30, 5:51 am, "T.J. Crowder" <t...@crowdersoftware.com> wrote:
> Hi all,
>
> I have a bunch of doc tickets I'd like to resolve (not to mention this
> ticket[1] discussed here[2] that I've posted a patch for, but seems to
> be waiting for someone to check that the doc stuff doesn't get broken
> by blank lines), but 'rake doc' doesn't work on my system.  'rake
> dist' and 'rake test' both do.
>
> [1]http://prototype.lighthouseapp.com/projects/8886-prototype/tickets/610
> [2]http://groups.google.com/group/prototype-core/browse_thread/thread/c5...

T.J. Crowder

unread,
Mar 31, 2009, 11:00:23 AM3/31/09
to Prototype: Core
Hi Andrew,

Thanks for the help. Yeah, it is weird, isn't it? :-) And yet we
have permission to delete it (apparently, as it does get deleted).

> Are you logged in as an administrator?

I am indeed, and that file is being created in the temp directory
associated with my account, which in theory I'd be able to read/write
to regardless. Early on, as a test, I created a different directory
with a short path with no spaces and that I have "full control"
permissions to and pointed TEMP/TMP at it instead. The directory got
used, but I got the same result.

-- T.J. :-)

T.J. Crowder

unread,
Apr 2, 2009, 5:08:20 AM4/2/09
to Prototype: Core
Folks,

Can anyone build the docs other than Tobie and Andrew? If so, do you
have any idea what's going on? I really want to close the large
number of doc tickets on my plate, but there's no point in doing the
work if the patches are just going to sit there unused (like this one
[1]), that's just a waste of time, and none of us have time to waste.
I'm about to hit a phase of a project where I won't have time to do
this, so I was trying to clean them up before that.

[1] https://prototype.lighthouseapp.com/projects/8886-prototype/tickets/610

Thanks in advance,

-- T.J.

T.J. Crowder

unread,
Apr 2, 2009, 7:17:50 AM4/2/09
to Prototype: Core
Hi again,

Thought I'd give this a try on the Ubuntu lab machine I'd just built,
in hopes that the permissions problem is Windows-specific. I got
further, it can read the temp file, but then it runs into a problem in
the PDoc Runner where it can't find the file "ajax/ajax":

* * * *
tjc@lab06:~/projects/prototype$ rake doc
(in /home/tjc/projects/prototype)

Parsing source files: /tmp/pdoc20090402-6276-fmbqy1-0.
Parsing completed in 81.040395 seconds.

Generating documentation to: /home/tjc/projects/prototype/doc.
Rendering: ajax_section.html
rake aborted!
No such file or directory - ajax/ajax
/home/tjc/projects/prototype/Rakefile:74
(See full trace by running task with --trace)
* * * *

(Rakefile:74 is the PDoc Runner call.) I'm guessing it's meant to be
in the doc subdirectory, but looking there, there is no subdirectory
called "ajax". There is, however, one called "Ajax" (with a capital
A):

* * * *
tjc@lab06:~/projects/prototype$ ls -lA doc
total 44
drwxr-xr-x 2 tjc tjc 4096 2009-04-02 12:01 Ajax
-rw-r--r-- 1 tjc tjc 21681 2009-04-02 12:01 ajax_section.html
-rw-r--r-- 1 tjc tjc 12309 2009-04-02 12:01 index.html
* * * *

Some kind of case sensitivity problem? I wonder if this has only been
used successfully on Windows (if even there?), Mac OS X, and the like
that don't (by default) have case-sensitive file systems...

-- T.J.

Andrew Dupont

unread,
Apr 3, 2009, 3:35:20 AM4/3/09
to Prototype: Core
T.J., are you sure you're running the latest code? Do a "git submodule
update" from the root Prototype directory. Those sound like issues I
had run into, and fixed, several weeks ago.

Meanwhile, I'll fire up my Windows VM and see what happens when I try
to generate docs from there.

Cheers,
Andrew

T.J. Crowder

unread,
Apr 3, 2009, 5:31:57 AM4/3/09
to Prototype: Core
Hi Andrew,

> T.J., are you sure you're running the latest code?

Yup, for the Ubuntu system yesterday I grabbed everything fresh,
including updating the submodules. The Windows stuff last week was
also brand-spanking-new, but just to be sure nothing was fixed in the
last week, I re-grabbed the entire thing this morning and I get the
same permissions error.

Maybe it's an issue with how I'm setting up my repos? Here's what I'm
doing when building from scratch:

(Starting in my "projects" directory)
git clone git://github.com/sstephenson/prototype.git
cd prototype
git submodule init
git submodule update
rake dist
(Check that prototype.js is in the dist subdirectory)
rake doc

Until the rake doc part, I'm not getting any errors.

Thanks,

-- T.J.

Richard Quadling

unread,
Apr 3, 2009, 8:37:16 AM4/3/09
to prototy...@googlegroups.com
2009/4/3 T.J. Crowder <t...@crowdersoftware.com>:
I think the issue is the /'s in the filename.

I know nada about Ruby, but does it auto translate / to \ for window?
I don't think.



--
-----
Richard Quadling
Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731
"Standing on the shoulders of some very clever giants!"

T.J. Crowder

unread,
Apr 3, 2009, 8:42:46 AM4/3/09
to Prototype: Core
Hi,

> I think the issue is the /'s in the filename.
>
> I know nada about Ruby, but does it auto translate / to \ for window?
> I don't think.

If it didn't, it probably wouldn't get that far. Most cross-OS
systems (Java, for instance) handle translating slashes to backslashes
in file ops on Windows. I also know nothing about Ruby, but I suspect
that it does as well.

-- T.J.

Richard Quadling

unread,
Apr 3, 2009, 8:58:28 AM4/3/09
to prototy...@googlegroups.com
2009/4/3 T.J. Crowder <t...@crowdersoftware.com>:
I think I've found the problem.

File.utime(timestamp, timestamp, filename)

is trying to amend the time on the open file.

I commented this line and it worked.

Well. I'm getting ...

[03/04/2009 13:54:34] [D:\Personal
Files\Downloads\Software\Programming\Javascript\Prototype\master] []
>rake doc --trace
(in D:/Personal
Files/Downloads/Software/Programming/Javascript/Prototype/master)
** Invoke doc (first_time)
** Invoke doc:build (first_time)
** Invoke doc:require (first_time)
** Execute doc:require
** Execute doc:build
rm -rf D:/Personal
Files/Downloads/Software/Programming/Javascript/Prototype/master/doc

Parsing source files: C:/DOCUME~1/RichardQ/LOCALS~1/Temp/pdoc.3448.0.
Processing... 0%
←[F Processing 0%
←[F Processing. 0%
←[F Processing.. 0%
←[F Processing... 0%
←[F Processing 1%
←[F Processing. 1%
←[F Processing.. 1%
←[F Processing... 2%
←[F Processing 2%
←[F Processing. 3%
←[F Processing.. 3%
←[F Processing... 3%
←[F Processing 4%
←[F Processing. 4%
←[F Processing.. 5%
←[F Processing... 5%
←[F Processing 5%
←[F Processing. 5%
←[F Processing.. 6%
←[F Processing... 6%
←[F Processing 7%
←[F Processing. 7%
←[F Processing.. 7%
←[F Processing... 8%
←[F Processing 8%
←[F Processing. 9%
←[F Processing.. 9%
←[F Processing... 9%
←[F Processing 10%
←[F Processing. 10%
←[F Processing.. 11%
←[F Processing... 11%
←[F Processing 11%
←[F Processing. 11%
←[F Processing.. 12%
←[F Processing... 12%
←[F Processing 13%
←[F Processing. 13%
←[F Processing.. 14%
←[F Processing... 14%
←[F Processing 14%
←[F Processing. 15%
←[F Processing.. 15%
←[F Processing... 15%
←[F Processing 16%
←[F Processing. 16%
←[F Processing.. 16%
←[F Processing... 17%
←[F Processing 17%
←[F Processing. 18%
←[F Processing.. 18%
←[F Processing... 18%
←[F Processing 19%
←[F Processing. 19%
←[F Processing.. 19%
←[F Processing... 20%
←[F Processing 20%
←[F Processing. 20%
←[F Processing.. 21%
←[F Processing... 21%
←[F Processing 22%
←[F Processing. 22%
←[F Processing.. 22%
←[F Processing... 23%
←[F Processing 23%
←[F Processing. 23%
←[F Processing.. 24%
←[F Processing... 24%
←[F Processing 25%
←[F Processing. 25%
←[F Processing.. 25%
←[F Processing... 25%
←[F Processing 26%
←[F Processing. 26%
←[F Processing.. 26%
←[F Processing... 27%
←[F Processing 27%
←[F Processing. 27%
←[F Processing.. 28%
←[F Processing... 28%
←[F Processing 28%
←[F Processing. 29%
←[F Processing.. 29%
←[F Processing... 29%
←[F Processing 30%
←[F Processing. 30%
←[F Processing.. 31%
←[F Processing... 31%
←[F Processing 31%
←[F Processing. 32%
←[F Processing.. 32%
←[F Processing... 33%
←[F Processing 33%
←[F Processing. 34%
←[F Processing.. 34%
←[F Processing... 34%
←[F Processing 34%
←[F Processing. 35%
←[F Processing.. 35%
←[F Processing... 36%
←[F Processing 36%
←[F Processing. 36%
←[F Processing.. 37%
←[F Processing... 37%
←[F Processing 37%
←[F Processing. 38%
←[F Processing.. 38%
←[F Processing... 38%
←[F Processing 39%
←[F Processing. 39%
←[F Processing.. 39%
←[F Processing... 40%
←[F Processing 40%
←[F Processing. 40%
←[F Processing.. 41%
←[F Processing... 41%
←[F Processing 42%
←[F Processing. 42%
←[F Processing.. 42%
←[F Processing... 43%
←[F Processing 43%
←[F Processing. 43%
←[F Processing.. 44%
←[F Processing... 44%
←[F Processing 44%
←[F Processing. 45%
←[F Processing.. 45%
←[F Processing... 46%
←[F Processing 46%
←[F Processing. 46%
←[F Processing.. 47%
←[F Processing... 47%
←[F Processing 47%
←[F Processing. 47%
←[F Processing.. 48%
←[F Processing... 48%
←[F Processing 48%
←[F Processing. 49%
←[F Processing.. 49%
←[F Processing... 49%
←[F Processing 50%
←[F Processing. 50%
←[F Processing.. 51%
←[F Processing... 51%
←[F Processing 51%
←[F Processing. 52%
←[F Processing.. 52%
←[F Processing... 53%
←[F Processing 53%
←[F Processing. 53%
←[F Processing.. 53%
←[F Processing... 54%
←[F Processing 54%
←[F Processing. 55%
←[F Processing.. 55%
←[F Processing... 55%
←[F Processing 56%
←[F Processing. 56%
←[F Processing.. 56%
←[F Processing... 57%
←[F Processing 57%
←[F Processing. 57%
←[F Processing.. 58%
←[F Processing... 58%
←[F Processing 59%
←[F Processing. 59%
←[F Processing.. 59%
←[F Processing... 60%
←[F Processing 60%
←[F Processing. 60%
←[F Processing.. 61%
←[F Processing... 61%
←[F Processing 62%
←[F Processing. 62%
←[F Processing.. 62%
←[F Processing... 62%
←[F Processing 63%
←[F Processing. 63%
←[F Processing.. 64%
←[F Processing... 64%
←[F Processing 64%
←[F Processing. 64%
←[F Processing.. 65%
←[F Processing... 65%
←[F Processing 66%
←[F Processing. 66%
←[F Processing.. 66%
←[F Processing... 66%
←[F Processing 67%
←[F Processing. 67%
←[F Processing.. 68%
←[F Processing... 68%
←[F Processing 68%
←[F Processing. 68%
←[F Processing.. 69%
←[F Processing... 69%
←[F Processing 70%
←[F Processing. 70%
←[F Processing.. 70%
←[F Processing... 71%
←[F Processing 71%
←[F Processing. 71%
←[F Processing.. 72%
←[F Processing... 72%
←[F Processing 72%
←[F Processing. 73%
←[F Processing.. 73%
←[F Processing... 73%
←[F Processing 74%
←[F Processing. 74%
←[F Processing.. 74%
←[F Processing... 74%
←[F Processing 75%
←[F Processing. 75%
←[F Processing.. 76%
←[F Processing... 76%
←[F Processing 76%
←[F Processing. 77%
←[F Processing.. 77%
←[F Processing... 77%
←[F Processing 78%
←[F Processing. 78%
←[F Processing.. 78%
←[F Processing... 79%
←[F Processing 79%
←[F Processing. 79%
←[F Processing.. 80%
←[F Processing... 80%
←[F Processing 80%
←[F Processing. 81%
←[F Processing.. 81%
←[F Processing... 81%
←[F Processing 82%
←[F Processing. 82%
←[F Processing.. 82%
←[F Processing... 83%
←[F Processing 83%
←[F Processing. 84%
←[F Processing.. 84%
←[F Processing... 84%
←[F Processing 84%
←[F Processing. 85%
←[F Processing.. 85%
←[F Processing... 86%
←[F Processing 86%
←[F Processing. 86%
←[F Processing.. 87%
←[F Processing... 87%
←[F Processing 88%
←[F Processing. 88%
←[F Processing.. 88%
←[F Processing... 88%
←[F Processing 89%
←[F Processing. 89%
←[F Processing.. 90%
←[F Processing... 90%
←[F Processing 90%
←[F Processing. 91%
←[F Processing.. 91%
←[F Processing... 91%
←[F Processing 92%
←[F Processing. 92%
←[F Processing.. 93%
←[F Processing... 93%
←[F Processing 93%
←[F Processing. 93%
←[F Processing.. 94%
←[F Processing... 94%
←[F Processing 95%
←[F Processing. 95%
←[F Processing.. 95%
←[F Processing... 96%
←[F Processing 96%
←[F Processing. 96%
←[F Processing.. 97%
←[F Processing... 97%
←[F Processing 97%
←[F Processing. 98%
←[F Processing.. 98%
←[F Processing... 98%
←[F Processing 99%
←[F Processing. 99%
←[F Processing.. 99%
←[F Processing... 99%
←[F Processing 99%
←[F Processing. 99%
←[F Processing.. 99%
←[F Processing... 99%
←[F Processing 99%
←[F Processing. 100%
←[F Parsing completed in 52.168 seconds.

Generating documentation to: D:/Personal
Files/Downloads/Software/Programming/Javascript/Prototype/master/doc.

←[F←[K Rendering: ajax_section.html
←[F←[K Rendering: ajax/ajax/periodicalupdater.html
←[F←[K Rendering: ajax/ajax/request.html
←[F←[K Rendering: ajax/ajax/responders.html

Richard Quadling

unread,
Apr 3, 2009, 9:00:53 AM4/3/09
to prototy...@googlegroups.com
2009/4/3 Richard Quadling <rqua...@googlemail.com>:
Spoke too soon ...

Generating documentation to: D:/Personal
Files/Downloads/Software/Programming/Javascript/Prototype/master/doc.

←[F←[K Rendering: ajax_section.html
←[F←[K Rendering: ajax/ajax/periodicalupdater.html
←[F←[K Rendering: ajax/ajax/request.html
←[F←[K Rendering: ajax/ajax/responders.html
←[F←[K Rendering: ajax/ajax/response.html
rake aborted!
undefined method `signature' for #<Documentation::InstanceProperty
Ajax.Response#headerJSON>
(erb):5:in `include'
D:/Personal Files/Downloads/Software/Programming/Javascript/Prototype/master/vendor/pdoc/lib/pdoc/generators/html/page.rb:32:in
`include'
D:/Personal Files/Downloads/Software/Programming/Javascript/Prototype/master/vendor/pdoc/lib/pdoc/generators/html/page.rb:32:in
`map'
D:/Personal Files/Downloads/Software/Programming/Javascript/Prototype/master/vendor/pdoc/lib/pdoc/generators/html/page.rb:32:in
`include'
(erb):165:in `render'
(erb):154:in `each'
(erb):154:in `render'
D:/Personal Files/Downloads/Software/Programming/Javascript/Prototype/master/vendor/pdoc/lib/pdoc/generators/html/page.rb:14:in
`render'
D:/Personal Files/Downloads/Software/Programming/Javascript/Prototype/master/vendor/pdoc/lib/pdoc/generators/html/page.rb:25:in
`render_to_file'
D:/Personal Files/Downloads/Software/Programming/Javascript/Prototype/master/vendor/pdoc/lib/pdoc/generators/html/page.rb:25:in
`open'
D:/Personal Files/Downloads/Software/Programming/Javascript/Prototype/master/vendor/pdoc/lib/pdoc/generators/html/page.rb:25:in
`render_to_file'
D:/Personal Files/Downloads/Software/Programming/Javascript/Prototype/master/vendor/pdoc/lib/pdoc/generators/html/website.rb:41:in
`render_template'
D:/Personal Files/Downloads/Software/Programming/Javascript/Prototype/master/vendor/pdoc/lib/pdoc/generators/html/website.rb:58:in
`build_tree'
D:/Personal Files/Downloads/Software/Programming/Javascript/Prototype/master/vendor/pdoc/lib/pdoc/generators/html/website.rb:54:in
`build_tree'
D:/Personal Files/Downloads/Software/Programming/Javascript/Prototype/master/vendor/pdoc/lib/pdoc/generators/html/website.rb:54:in
`each'
D:/Personal Files/Downloads/Software/Programming/Javascript/Prototype/master/vendor/pdoc/lib/pdoc/generators/html/website.rb:54:in
`build_tree'
D:/Personal Files/Downloads/Software/Programming/Javascript/Prototype/master/vendor/pdoc/lib/pdoc/generators/html/website.rb:30:in
`render'
D:/Personal Files/Downloads/Software/Programming/Javascript/Prototype/master/vendor/pdoc/lib/pdoc/generators/html/website.rb:30:in
`each'
D:/Personal Files/Downloads/Software/Programming/Javascript/Prototype/master/vendor/pdoc/lib/pdoc/generators/html/website.rb:30:in
`render'
D:/Personal Files/Downloads/Software/Programming/Javascript/Prototype/master/vendor/pdoc/lib/pdoc/generators/html/website.rb:26:in
`each'
D:/Personal Files/Downloads/Software/Programming/Javascript/Prototype/master/vendor/pdoc/lib/pdoc/generators/html/website.rb:26:in
`render'
D:/Personal Files/Downloads/Software/Programming/Javascript/Prototype/master/vendor/pdoc/lib/pdoc/runner.rb:36:in
`render'
D:/Personal Files/Downloads/Software/Programming/Javascript/Prototype/master/vendor/pdoc/lib/pdoc/runner.rb:43:in
`run'
D:/Personal Files/Downloads/Software/Programming/Javascript/Prototype/master/rakefile:74
C:/Ruby/lib/ruby/1.8/tempfile.rb:172:in `open'
D:/Personal Files/Downloads/Software/Programming/Javascript/Prototype/master/rakefile:64
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:617:in `call'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:617:in `execute'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:612:in `each'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:612:in `execute'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:578:in
`invoke_with_call_chain'
C:/Ruby/lib/ruby/1.8/monitor.rb:242:in `synchronize'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:571:in
`invoke_with_call_chain'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:588:in
`invoke_prerequisites'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:585:in `each'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:585:in
`invoke_prerequisites'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:577:in
`invoke_with_call_chain'
C:/Ruby/lib/ruby/1.8/monitor.rb:242:in `synchronize'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:571:in
`invoke_with_call_chain'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:564:in `invoke'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2027:in `invoke_task'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2005:in `top_level'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2005:in `each'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2005:in `top_level'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2044:in
`standard_exception_handling'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:1999:in `top_level'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:1977:in `run'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2044:in
`standard_exception_handling'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:1974:in `run'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/bin/rake:31
C:/ruby/bin/rake:19:in `load'
C:/ruby/bin/rake:19

T.J. Crowder

unread,
Apr 3, 2009, 9:30:48 AM4/3/09
to Prototype: Core
[snip]

> I think I've found the problem.
> File.utime(timestamp, timestamp, filename)
> is trying to amend the time on the open file.
> I commented this line and it worked.

Yup, that lets me get past that point as well. Andrew said he'd be
working on this in his Windows VM soon, so hopefully that gives him a
leg up.

> rake aborted!
> undefined method `signature' for #<Documentation::InstanceProperty
> Ajax.Response#headerJSON>

Yup, here too. Probably a different problem.

-- T.J.

Richard Quadling

unread,
Apr 3, 2009, 10:21:47 AM4/3/09
to prototy...@googlegroups.com
2009/4/3 T.J. Crowder <t...@crowdersoftware.com>:
I'm really stumped here. I wonder if the lack of a ...

headerJSON: function() {
...

is causing it. I tried temporarily adding one to response.js, but it
didn't make a diff.

T.J. Crowder

unread,
Apr 3, 2009, 10:28:46 AM4/3/09
to Prototype: Core
Hi Richard,

> I'm really stumped here. I wonder if the lack of a ...

I'd leave it until Andrew's had a chance to take a look.

-- T.J. :-)

Andrew Dupont

unread,
Apr 3, 2009, 12:22:44 PM4/3/09
to Prototype: Core
*headdesk*

Had local changes to my PDoc checkout that I had not pushed back to
the repo. Fixed now.

git pull && git submodule update

...should do the trick.

Cheers,
Andrew

Andrew Dupont

unread,
Apr 3, 2009, 1:56:38 PM4/3/09
to Prototype: Core
OK, once I commented out that "File.utime" line, things went smoothly.
There was an error in the rendering stage that I had to correct
(something that was showing up with BlueCloth but not with RDiscount)
— so do a "git pull" once again. Then the docs will build.

The line that needs commenting out is a bug in Sprockets that I've
passed along to Sam, so expect a fix for that sometime soon.

T.J., let me know if you have any further problems.

Cheers,
Andrew

T.J. Crowder

unread,
Apr 3, 2009, 5:41:08 PM4/3/09
to Prototype: Core
Hi Andrew,

Thanks. With the latest, on Windows if I also comment out the atime
line, building the docs goes through to completion. However, the
generated doc seems to have issues: For instance, if I go into
index.html, then choose "Language Section" from the menu, if I click
on $A on the "Utilities" line on the page, I get a 404 for language
\dollara.html.

Haven't had a chance to try Ubuntu yet.

-- T.J.

T.J. Crowder

unread,
Apr 7, 2009, 4:37:33 AM4/7/09
to Prototype: Core
> Thanks. With the latest, on Windows if I also comment out the atime
> line, building the docs goes through to completion. However, the
> generated doc seems to have issues: For instance, if I go into
> index.html, then choose "Language Section" from the menu, if I click
> on $A on the "Utilities" line on the page, I get a 404 for language
> \dollara.html.

Can anyone build the docs without having that problem? I just need to
know whether it's an issue with my setup.

Thanks,

-- T.J.

Richard Quadling

unread,
Apr 7, 2009, 5:26:10 AM4/7/09
to prototy...@googlegroups.com
2009/4/7 T.J. Crowder <t...@crowdersoftware.com>:
Please hold, your call will be answered shortly.

Richard Quadling

unread,
Apr 7, 2009, 6:09:47 AM4/7/09
to prototy...@googlegroups.com
2009/4/7 Richard Quadling <rqua...@googlemail.com>:
[07/04/2009 10:26:41] [D:\Personal
Files\Downloads\Software\Programming\Javascript\Prototype\master] []
>rake doc
(in D:/Personal
Files/Downloads/Software/Programming/Javascript/Prototype/master)
rm -rf D:/Personal
Files/Downloads/Software/Programming/Javascript/Prototype/master/doc

Parsing source files: C:/DOCUME~1/RichardQ/LOCALS~1/Temp/pdoc.2796.0.
Parsing completed in 51.437 seconds.

Generating documentation to: D:/Personal
Files/Downloads/Software/Programming/Javascript/Prototype/master/doc.
Documentation generated in 566.789 seconds.

Summary:
Sections: 3
Utilities: 7
Namespaces: 34
Mixins: 1
Classes: 23
Constructor methods: 11
Constants: 0
Class methods: 46
Instance methods: 208
Class properties: 2
Instance properties: 9

So far so good.

But ...

file:///D:/Personal%20Files/Downloads/Software/Programming/Javascript/Prototype/master/doc/dom/dollar.html
file:///D:/Personal%20Files/Downloads/Software/Programming/Javascript/Prototype/master/doc/dom/dollardollar.html
file:///D:/Personal%20Files/Downloads/Software/Programming/Javascript/Prototype/master/doc/dom/dollarf.html
file:///D:/Personal%20Files/Downloads/Software/Programming/Javascript/Prototype/master/doc/language/dollara.html
file:///D:/Personal%20Files/Downloads/Software/Programming/Javascript/Prototype/master/doc/language/dollarh.html
file:///D:/Personal%20Files/Downloads/Software/Programming/Javascript/Prototype/master/doc/language/dollarr.html
file:///D:/Personal%20Files/Downloads/Software/Programming/Javascript/Prototype/master/doc/language/dollarw.html

are all missing.

Others may also be missing.

Richard Quadling

unread,
Apr 7, 2009, 6:15:15 AM4/7/09
to prototy...@googlegroups.com
Confirmed using Teleport Pro. Only 7 pages missing and they are the
dollar* pages.

T.J. Crowder

unread,
Apr 7, 2009, 6:44:46 AM4/7/09
to Prototype: Core
Thanks Richard. I've opened ticket #647[1] for it, just to track it.
I don't think this needs to get in the way of the doc tickets I'm
trying to clean up.

[1] https://prototype.lighthouseapp.com/projects/8886-prototype/tickets/647

-- T.J.

On Apr 7, 11:15 am, Richard Quadling <rquadl...@googlemail.com> wrote:
> 2009/4/7 Richard Quadling <rquadl...@googlemail.com>:
>
>
>
> > 2009/4/7 Richard Quadling <rquadl...@googlemail.com>:

Andrew Dupont

unread,
Apr 8, 2009, 1:33:56 AM4/8/09
to Prototype: Core
OK, fixed it. This was caused by a recent commit to PDoc that fixed
one problem but introduced another.

Cheers,
Andrew

Richard Quadling

unread,
Apr 8, 2009, 3:26:29 AM4/8/09
to prototy...@googlegroups.com
Having refreshed my prototype checkout (along with the submodules),
the sprockets issue is still present.

Trying to change the timestamp causes a problem.

Looking at the output of Filemon
(http://live.sysinternals.com/filemon.exe), I can see the information
contained in the attached log file (best viewable in a spreadsheet to
separate the columns cleanly).

It seems that there is a SHARING VIOLATION.

As the file is unique, what benefit does setting the timestamp have?

For windows, this will be updated automatically anyway.


So, commenting out the odd line allows the build to succeed.

Though it is VERY VERY slow. I can build our PHP manual from DocBook
XML to CHM in about the same time. And that contains over 8,500 pages
from a single 23MB XML file (which is first concatenated from over
12,500 XML files).







2009/4/8 Andrew Dupont <goo...@andrewdupont.net>:
Partial Filemon.txt

Richard Quadling

unread,
Apr 8, 2009, 3:42:58 AM4/8/09
to prototy...@googlegroups.com
2009/4/8 Richard Quadling <rqua...@googlemail.com>:
[08/04/2009 8:20:02] [D:\Personal
Files\Downloads\Software\Programming\Javascript\prototype] [] >rake
doc --trace
(in D:/Personal Files/Downloads/Software/Programming/Javascript/prototype)
** Invoke doc (first_time)
** Invoke doc:build (first_time)
** Invoke doc:require (first_time)
** Execute doc:require
** Execute doc:build
rm -rf D:/Personal Files/Downloads/Software/Programming/Javascript/prototype/doc

Parsing source files: C:/DOCUME~1/RichardQ/LOCALS~1/Temp/pdoc.2360.0.
Parsing completed in 53.079 seconds.

Generating documentation to: D:/Personal
Files/Downloads/Software/Programming/Javascript/prototype/doc.
Documentation generated in 655.04 seconds.

Summary:
Sections: 3
Utilities: 7
Namespaces: 34
Mixins: 1
Classes: 23
Constructor methods: 11
Constants: 0
Class methods: 46
Instance methods: 208
Class properties: 2
Instance properties: 9

** Execute doc

And the dollarx pages are present.

But. New problem ... styling ...

Good

prototype\doc\ajax_section.html
prototype\doc\dom_section.html
prototype\doc\index.html
prototype\doc\language_section.html
prototype\doc\DOM\dollarf.html
prototype\doc\DOM\dollar.html
prototype\doc\DOM\dollardollar.html
prototype\doc\Language\dollarw.html
prototype\doc\Language\dollara.html
prototype\doc\Language\dollarh.html
prototype\doc\Language\dollarr.html


Bad

prototype\doc\Ajax\ajax.html
prototype\doc\Ajax\ajax\updater.html
prototype\doc\Ajax\ajax\periodicalupdater.html
prototype\doc\Ajax\ajax\request.html
prototype\doc\Ajax\ajax\responders.html
prototype\doc\Ajax\ajax\response.html
prototype\doc\DOM\element.html
prototype\doc\DOM\event.html
prototype\doc\DOM\form.html
prototype\doc\DOM\selector.html
prototype\doc\DOM\abstract.html
prototype\doc\DOM\document.html
prototype\doc\DOM\abstract\timedobserver.html
prototype\doc\DOM\abstract\eventobserver.html
prototype\doc\DOM\document\viewport.html
prototype\doc\DOM\form\observer.html
prototype\doc\DOM\form\element.html
prototype\doc\DOM\form\element\observer.html
prototype\doc\DOM\form\element\eventobserver.html
prototype\doc\Language\enumerable.html
prototype\doc\Language\function.html
prototype\doc\Language\hash.html
prototype\doc\Language\number.html
prototype\doc\Language\object.html
prototype\doc\Language\objectrange.html
prototype\doc\Language\periodicalexecuter.html
prototype\doc\Language\regexp.html
prototype\doc\Language\string.html
prototype\doc\Language\template.html
prototype\doc\Language\try.html
prototype\doc\Language\array.html
prototype\doc\Language\class.html
prototype\doc\Language\date.html


The issue is in the path given to the javascript.

In the DOM folder, the working file have a <head> of ...

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Prototype API documentation | $$ utility</title>
<meta name="generator" content="PDoc" />

<script type="text/javascript" src="../javascripts/prototype.js"
charset="utf-8"></script>
<script type="text/javascript" src="../javascripts/effects.js"
charset="utf-8"></script>
<script type="text/javascript" src="../javascripts/controls.js"
charset="utf-8"></script>
<script type="text/javascript" src="../javascripts/application.js"
charset="utf-8"></script>
<script type="text/javascript"
src="../javascripts/code_highlighter.js" charset="utf-8"></script>

<script type="text/javascript" src="../javascripts/item_index.js"
charset="utf-8"></script>

<link type="text/css" media="screen, projection" rel="stylesheet"
href="../stylesheets/core.css" charset="utf-8" />
<link type="text/css" media="screen, projection" rel="stylesheet"
href="../stylesheets/api.css" charset="utf-8" />

<script type="text/javascript">PDoc.pathPrefix = '../';</script>
</head>



The broken ones have ...

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Prototype API documentation | document namespace</title>
<meta name="generator" content="PDoc" />

<script type="text/javascript" src="javascripts/prototype.js"
charset="utf-8"></script>
<script type="text/javascript" src="javascripts/effects.js"
charset="utf-8"></script>
<script type="text/javascript" src="javascripts/controls.js"
charset="utf-8"></script>
<script type="text/javascript" src="javascripts/application.js"
charset="utf-8"></script>
<script type="text/javascript" src="javascripts/code_highlighter.js"
charset="utf-8"></script>

<script type="text/javascript" src="javascripts/item_index.js"
charset="utf-8"></script>

<link type="text/css" media="screen, projection" rel="stylesheet"
href="stylesheets/core.css" charset="utf-8" />
<link type="text/css" media="screen, projection" rel="stylesheet"
href="stylesheets/api.css" charset="utf-8" />

<script type="text/javascript">PDoc.pathPrefix = '';</script>
</head>


Missing ../ in front of the javascript and stylesheet src/hrefs as
well as the PDoc.pathPrefix

Regards,

Richard.

Richard Quadling

unread,
Apr 8, 2009, 3:45:32 AM4/8/09
to prototy...@googlegroups.com
2009/4/8 Richard Quadling <rqua...@googlemail.com>:
Add to that all the relative paths are wrong also for the pages that
have bad styling.

1 ../ missing.

T.J. Crowder

unread,
Apr 8, 2009, 3:54:47 AM4/8/09
to Prototype: Core
Hi Richard,

For these really long listings and such, I wonder if it might be
better to use Pastie[1] rather than inlining them in messages?
(Pastie has a plain text choice.) It's just that with replies and
quoting and such, these messages get REALLY long and in some cases
they seem to freak out the GGroups display (not, I know, an enormously
difficult task :-) ).

[1] http://pastie.org

-- T.J. :-)

On Apr 8, 8:45 am, Richard Quadling <rquadl...@googlemail.com> wrote:
> 2009/4/8 Richard Quadling <rquadl...@googlemail.com>:
[snip]

Richard Quadling

unread,
Apr 8, 2009, 4:16:08 AM4/8/09
to prototy...@googlegroups.com
2009/4/8 T.J. Crowder <t...@crowdersoftware.com>:
Sorry. I forgot about that. Will do next time.

Andrew Dupont

unread,
Apr 8, 2009, 1:04:10 PM4/8/09
to Prototype: Core
On Apr 8, 2:26 am, Richard Quadling <rquadl...@googlemail.com> wrote:
> Having refreshed my prototype checkout (along with the submodules),
> the sprockets issue is still present.

Ball's still in Sam's court on that one. If it doesn't get fixed soon
I'll ask him for commit access to the Sprockets repo so I can fix it
myself.

> As the file is unique, what benefit does setting the timestamp have?
>
> For windows, this will be updated automatically anyway.

At that point in the Sprockets code, it doesn't know that it's writing
to a tempfile. It could be writing to a file that already exists.

> Though it is VERY VERY slow. I can build our PHP manual from DocBook
> XML to CHM in about the same time. And that contains over 8,500 pages
> from a single 23MB XML file (which is first concatenated from over
> 12,500 XML files).

Yeah, PDoc is slow. We think it's because there's an obscenely large
number of objects being created during the parsing phase — and the
fact that they're all kept around during the generation phase. (Time
to generate grows exponentially — when I switch the task to process
only, say, the Ajax files, it takes _far_ less time.) At some point,
Tobie and I will change PDoc to include an intermediate stage that
takes the objects from the parsing phase and converts them into
lightweight objects that have only the information we need.

Fun fact: it takes less time to generate docs for Prototype within my
Windows VM (in VMWare Fusion, 512MB RAM) than it does in OS X (2GB
RAM).

Cheers,
Andrew

Richard Quadling

unread,
Apr 9, 2009, 4:30:38 AM4/9/09
to prototy...@googlegroups.com
2009/4/8 Andrew Dupont <goo...@andrewdupont.net>:
Being VERY new to using Ruby, is there a realtime debugger I could use
(ideally stepwise execution with rollback, but that may be asking a
lot!).

Being able to provide a patch will help move things along a bit.

Andrew Dupont

unread,
Apr 9, 2009, 11:39:11 PM4/9/09
to Prototype: Core
On Apr 9, 2009, at 3:30 AM, Richard Quadling wrote:
> Being VERY new to using Ruby, is there a realtime debugger I could use
> (ideally stepwise execution with rollback, but that may be asking a
> lot!).
>
> Being able to provide a patch will help move things along a bit.

Best option is the ruby-debug gem (`gem install ruby-debug` from the
terminal). Have fun. ;-)

If you have questions about PDoc internals, find me on AIM
(ADupont1)
or email me off-list .

Cheers,
Andrew
Reply all
Reply to author
Forward
0 new messages