aboutsummaryrefslogtreecommitdiff
path: root/doc/bugs/recentchangesdiff_crashes_on_commits_which_remove_a_lot_of_files.mdwn
blob: 5872275b5c40b3de73546ba4215c4f99b5a183f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[[plugin/recentchangesdiff]] causes rendering to segfault if a commit removes a lot of contents. I removed close to 400 files, total size of about 950Kb in a single commit and now `ikiwiki` segfaults on refresh and rebuild:

    [...]
    rendering recentchanges.mdwn
    [1]    5541 segmentation fault  ikiwiki --verbose --setup ikiwiki.setup --refresh

If I disable the plugin, the segfault does not happen, but I have to remove `wc/recentchanges/*` or else it will crash just as well.

This is reproducible, but I cannot provide the source code.

> Can you provide a sanitised version of the source code? I've tried
> ikiwiki on some files that are just large, and cannot reproduce any
> problems, so it must be something in the specific file. (A perl bug is
> also clearly involved here.) --[[Joey]]

The tarball is at http://scratch.madduck.net/__tmp__recentchanges-segfault.tgz - unpack it in `/tmp` and `chdir()` to /tmp/cdt.taF18912, then run

    ikiwiki --setup ikiwiki.setup
    # segfaults
    git checkout HEAD^
    ikiwiki --setup ikiwiki.setup
    # segfaults
    rm -rf wc/recentchanges
    ikiwiki --setup ikiwiki.setup
    # works