<p dir="auto">I'm getting a crash both with latest master and with 0.4.6 after loading CategoricalArrays.jl and calling <code class="notranslate">gc()</code>. You can get the code from the <code class="notranslate">nl/crash</code> branch.</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type &quot;?help&quot; for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.6.0-dev.456 (2016-09-03 13:57 UTC)
 _/ |\__'_|_|_|\__'_|  |  Commit a9140fd* (0 days old master)
|__/                   |  x86_64-redhat-linux

julia&gt; using CategoricalArrays
INFO: Recompiling stale cache file /home/milan/.julia/lib/v0.6/CategoricalArrays.ji for module CategoricalArrays.
julia&gt; gc()
GC error (probable corruption) :
Allocations: 2519259 (Pool: 2518041; Big: 1218); GC: 2
&lt;?#0x7f85f4112870::&lt;circular reference @-1&gt;&gt;

signal (6): Aborted
while loading no file, in expression starting on line 0
gsignal at /lib64/libc.so.6 (unknown line)
abort at /lib64/libc.so.6 (unknown line)
push_root at /home/milan/Dev/julia/src/gc.c:1478
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1368
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1368
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1368
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1368
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1368
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1368
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1368
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
gc_mark_module at /home/milan/Dev/julia/src/gc.c:1218
push_root at /home/milan/Dev/julia/src/gc.c:1429
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1368
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1368
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1368
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
gc_mark_module at /home/milan/Dev/julia/src/gc.c:1218
push_root at /home/milan/Dev/julia/src/gc.c:1429
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
gc_mark_module at /home/milan/Dev/julia/src/gc.c:1218
push_root at /home/milan/Dev/julia/src/gc.c:1429
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
gc_mark_module at /home/milan/Dev/julia/src/gc.c:1218
push_root at /home/milan/Dev/julia/src/gc.c:1429
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
pre_mark at /home/milan/Dev/julia/src/gc.c:1515
_jl_gc_collect at /home/milan/Dev/julia/src/gc.c:1709 [inlined]
jl_gc_collect at /home/milan/Dev/julia/src/gc.c:1865
gc at ./base.jl:145
unknown function (ip: 0x7f85e315de7f)
jl_call_method_internal at /home/milan/Dev/julia/src/julia_internal.h:189 [inlined]
jl_apply_generic at /home/milan/Dev/julia/src/gf.c:1931
do_call at /home/milan/Dev/julia/src/interpreter.c:66
eval at /home/milan/Dev/julia/src/interpreter.c:205
jl_toplevel_eval_flex at /home/milan/Dev/julia/src/toplevel.c:619 [inlined]
jl_toplevel_eval at /home/milan/Dev/julia/src/toplevel.c:641
jl_toplevel_eval_in_warn at /home/milan/Dev/julia/src/builtins.c:590
eval at ./boot.jl:234
unknown function (ip: 0x7f87f6301cdf)
jl_call_method_internal at /home/milan/Dev/julia/src/julia_internal.h:189 [inlined]
jl_apply_generic at /home/milan/Dev/julia/src/gf.c:1931
eval_user_input at ./REPL.jl:66
unknown function (ip: 0x7f85e3156a06)
jl_call_method_internal at /home/milan/Dev/julia/src/julia_internal.h:189 [inlined]
jl_apply_generic at /home/milan/Dev/julia/src/gf.c:1931
macro expansion at ./REPL.jl:97 [inlined]
#3 at ./event.jl:68
unknown function (ip: 0x7f85e314df2f)
jl_call_method_internal at /home/milan/Dev/julia/src/julia_internal.h:189 [inlined]
jl_apply_generic at /home/milan/Dev/julia/src/gf.c:1931
jl_apply at /home/milan/Dev/julia/src/julia.h:1364 [inlined]
start_task at /home/milan/Dev/julia/src/task.c:259
unknown function (ip: 0xffffffffffffffff)
Allocations: 2519259 (Pool: 2518041; Big: 1218); GC: 2
Aborted (core dumped)
"><pre lang="_" class="notranslate"><code class="notranslate">   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.6.0-dev.456 (2016-09-03 13:57 UTC)
 _/ |\__'_|_|_|\__'_|  |  Commit a9140fd* (0 days old master)
|__/                   |  x86_64-redhat-linux

julia&gt; using CategoricalArrays
INFO: Recompiling stale cache file /home/milan/.julia/lib/v0.6/CategoricalArrays.ji for module CategoricalArrays.
julia&gt; gc()
GC error (probable corruption) :
Allocations: 2519259 (Pool: 2518041; Big: 1218); GC: 2
&lt;?#0x7f85f4112870::&lt;circular reference @-1&gt;&gt;

signal (6): Aborted
while loading no file, in expression starting on line 0
gsignal at /lib64/libc.so.6 (unknown line)
abort at /lib64/libc.so.6 (unknown line)
push_root at /home/milan/Dev/julia/src/gc.c:1478
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1368
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1368
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1368
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1368
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1368
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1368
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1368
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
gc_mark_module at /home/milan/Dev/julia/src/gc.c:1218
push_root at /home/milan/Dev/julia/src/gc.c:1429
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1368
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1368
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1368
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
gc_mark_module at /home/milan/Dev/julia/src/gc.c:1218
push_root at /home/milan/Dev/julia/src/gc.c:1429
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
push_root at /home/milan/Dev/julia/src/gc.c:1466
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
gc_mark_module at /home/milan/Dev/julia/src/gc.c:1218
push_root at /home/milan/Dev/julia/src/gc.c:1429
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
gc_mark_module at /home/milan/Dev/julia/src/gc.c:1218
push_root at /home/milan/Dev/julia/src/gc.c:1429
gc_push_root at /home/milan/Dev/julia/src/gc.c:1189 [inlined]
pre_mark at /home/milan/Dev/julia/src/gc.c:1515
_jl_gc_collect at /home/milan/Dev/julia/src/gc.c:1709 [inlined]
jl_gc_collect at /home/milan/Dev/julia/src/gc.c:1865
gc at ./base.jl:145
unknown function (ip: 0x7f85e315de7f)
jl_call_method_internal at /home/milan/Dev/julia/src/julia_internal.h:189 [inlined]
jl_apply_generic at /home/milan/Dev/julia/src/gf.c:1931
do_call at /home/milan/Dev/julia/src/interpreter.c:66
eval at /home/milan/Dev/julia/src/interpreter.c:205
jl_toplevel_eval_flex at /home/milan/Dev/julia/src/toplevel.c:619 [inlined]
jl_toplevel_eval at /home/milan/Dev/julia/src/toplevel.c:641
jl_toplevel_eval_in_warn at /home/milan/Dev/julia/src/builtins.c:590
eval at ./boot.jl:234
unknown function (ip: 0x7f87f6301cdf)
jl_call_method_internal at /home/milan/Dev/julia/src/julia_internal.h:189 [inlined]
jl_apply_generic at /home/milan/Dev/julia/src/gf.c:1931
eval_user_input at ./REPL.jl:66
unknown function (ip: 0x7f85e3156a06)
jl_call_method_internal at /home/milan/Dev/julia/src/julia_internal.h:189 [inlined]
jl_apply_generic at /home/milan/Dev/julia/src/gf.c:1931
macro expansion at ./REPL.jl:97 [inlined]
#3 at ./event.jl:68
unknown function (ip: 0x7f85e314df2f)
jl_call_method_internal at /home/milan/Dev/julia/src/julia_internal.h:189 [inlined]
jl_apply_generic at /home/milan/Dev/julia/src/gf.c:1931
jl_apply at /home/milan/Dev/julia/src/julia.h:1364 [inlined]
start_task at /home/milan/Dev/julia/src/task.c:259
unknown function (ip: 0xffffffffffffffff)
Allocations: 2519259 (Pool: 2518041; Big: 1218); GC: 2
Aborted (core dumped)

</code></pre></div>
<p dir="auto">Is this a duplicate of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="174214021" data-permission-text="Title is private" data-url="https://github.com/JuliaLang/julia/issues/18299" data-hovercard-type="issue" data-hovercard-url="/JuliaLang/julia/issues/18299/hovercard" href="https://github.com/JuliaLang/julia/issues/18299">#18299</a>?</p>
<p dir="auto">Having recently gone through the updating of several packages for 0.4 and trying out the new doc system, I first have to say, I love it! Much kudos to everyone who put in so much effort to build and make the transition.</p>
<p dir="auto">As an extension to the wonderful new functionality, I find myself wanting to document the daylight out of my packages, but then find myself in an awkward position when I go to write my package's <code class="notranslate">README</code>. Do I duplicate everything? (tedious) Do I just point users to the help system? (not ideal since it's hard to quickly skim over an entire package's contents).</p>
<p dir="auto">I find myself wishing there was a quick script I could call on my package that would auto-generate a README from the combined docstrings in my package.</p>
<p dir="auto">I think this would be a great little piece of functionality that would probably be pretty approachable for anyone interested in giving it a go.</p>
<p dir="auto">I file the issue here, mainly because I'm not exactly sure where this would live. On the one hand, this could obviously go in a package by itself that package developers would then simply install and use. On the other hand, I could see this being something we include with our batteries for new bare packages, a single <code class="notranslate">generate_docs.jl</code> script that we maybe build into the package manager itself via <code class="notranslate">Pkg.docs(pkg)</code> or something like that. Happy to discuss more and get more concrete, but wanted to get the ball running for now.</p>