From 2c8e14adaba68a2733ab59991beb2b319d006f81 Mon Sep 17 00:00:00 2001 From: Landon Curt Noll Date: Sun, 21 Apr 2024 15:59:48 -0700 Subject: [PATCH] improve bugs.html and contact.html Improved some excessively long headings from `bugs.md`. Removed unused "STATUS: missing make rules" from `bugs.md`. Add "Jump to: top" near the bottom of `bugs.html`. Add "Jump to: top" near the bottom of `contact.html`. Run `make gen_top_html` to perform the above. --- bugs.html | 118 ++++++++++++++++++++++++++++----------------------- bugs.md | 68 ++++++++++++++++++++--------- contact.html | 2 + contact.md | 5 +++ 4 files changed, 122 insertions(+), 71 deletions(-) diff --git a/bugs.html b/bugs.html index 90e8fa98d..8aee09d5b 100644 --- a/bugs.html +++ b/bugs.html @@ -190,7 +190,9 @@ would be wise to test it under all that you have access to. Otherwise we can do that. Of course if the entry does not work under any platform and you fix it for one that’s more than fine (and it has been done numerous times).

Again, THANK YOU!

-

LIST OF STATUSES - PLEASE READ BEFORE FIXING (you may skip if you’re only interested in knowing about entries with known issues)

+

LIST OF STATUSES

+

PLEASE READ BEFORE FIXING

+

BTW: You may skip if you’re only interested in knowing about entries with known issues.

Entries below have one or more of the following STATUS values. Please see the text below for more information. If an entry has more than one status it means that either they all apply or they compliment each other. For instance @@ -246,30 +248,38 @@ break code! Cody Boone Ferguson h experienced this many times with vim so he tends to disable all format options when formatting code. In vim you should be able to do that with:

    :set formatoptions=
-

STATUS: known bug - please help us fix

+

STATUS: known bug

+

Please help us fix!

Entries with this status have one or more bugs that need to be fixed. Are you able to fix it? We welcome your help!

An important point to note is that there is a very fine line when fixing bugs where it might sometimes border on tampering with the program. And after all, these are not meant to be maintainable or even good programming style! Use careful judgement when fixing bugs please!

-

STATUS: possible bug (possibly depending on system) - please help test and if necessary fix

+

STATUS: possible bug

+

System dependent bug possibly

+

Please help test, and if necessary fix this bug!

Entries with this status might or might not have a bug possibly depending on the system. In these entries it’s unknown if there is a bug and sometimes it’s because we do not remember and sometimes we don’t have the appropriate system or environment to test and fix any possible problems.

-

STATUS: might not be completely functional - can you confirm?

+

STATUS: might not be completely functional

+

Can you confirm there is a bug?

Although these entries appear to work for one or more reasons we’re unsure if they are completely functional. Can you confirm this? Please let us know so we can fix it!

-

STATUS: probable bug (possibly depending on system) - please help test and if necessary fix

+

STATUS: probable bug

+

Possible system dependent bug

+

Please help test and if necessary fix this bug!

Entries with this status almost certainly have a bug or some other problem. The issue or issues might depend on the system much like the above STATUS: possible bug (possibly depending on system).

-

STATUS: doesn’t work with some platforms - please help us fix

+

STATUS: doesn’t work with some platforms

+

Please help us fix this bug!

Entries with this status do not work under some OSes and/or architectures (and/or something else?). Please help us to fix it!

-

STATUS: doesn’t work with some compilers - please provide alternative code or fix for more compilers

+

STATUS: doesn’t work with some compilers

+

Please provide alternative code or fix for more compilers!

Some entries do not work with some compilers. A good example is 1992/lush which uses error messages from the compiler to generate its output.

@@ -278,7 +288,8 @@ tampering this is okay though it’s probably not possible with the above mentioned entry; otherwise it would be better to provide alternate code. In some cases it might be better to provide alternate code anyway. Use a judgement call here as best you can manage.

-

STATUS: main() function args not allowed - please help us fix

+

STATUS: main() function args not allowed

+

Please help us fix the main() function!

NOTE: it appears that most if not all of these have been fixed except perhaps for 1989/westley but this has probably been fixed as much as possible given the nature of how it generates code: the entry itself @@ -310,7 +321,8 @@ differently). In other cases he was able to dereference the pointers to be used like an int and other times a cast was necessary. He used other various techniques to get them to compile. In some cases this introduced a problem but typically if not always that problem exists with compilers that are less strict.

-

STATUS: main() has only one arg - try and make it have 2 or 3

+

STATUS: main() has only one arg

+

Please help modify so that main() as 2 or 3 args!

Because some versions of clang complain about the number of args of main() and in particular say (when it has four, for instance) that it’s only allowed to have 0, 2 or 3 args, numerous entries had a second arg added to main() (if @@ -319,14 +331,16 @@ impossible especially as it already claims having only one arg is not allowed. At this time (04 Feb 2024) there is one entry known (it is possible that not all were checked) that has this problem but it’s not as simple as the others to fix without breaking it.

-

STATUS: compiled executable crashes - please help us fix

+

STATUS: compiled executable crashes

+

Please help us fix this bug!

While such entries can compile, the resulting executable sometimes or always crashes.

NOTE: this does NOT apply to entries under the INABIAF status (though they’re not mutually exclusive in some cases).

REMINDER: if you’re debugging a crash it will be very helpful to have -O0 -g or if you can -ggdb3 when compiling as that will help with debugging symbols.

-

STATUS: uses gets() - change to fgets() if possible

+

STATUS: uses gets()

+

Please help us change use of gets() to fgets(), if possible.

Entries with this status use gets() which is unsafe because it has no limit on the length of the string. Cody Boone Ferguson has fixed several of these and he’s @@ -364,16 +378,14 @@ during compiling, linking and/or runtime, sometimes causing confusing output (as noted above).

Sometimes getline(3) will work but note that this function also stores the newline just like fgets(3).

-

STATUS: missing file(s) - please provide them

+

STATUS: missing file(s)

+

Please help is by finding missing file(s)!

In these entries one file or multiple files are missing from the repo. In some cases these files can be found on the IOCCC website but in other cases they are entirely absent. In this case you’ll probably have to contact the author (unless you are the author! :-) ).

-

STATUS: missing make rules - please provide them

-

In these entries one or more make rules noted by the author and/or judges is/are -missing. You might consider looking at the archive as a good place -to find them.

- + +

Please help is fix missing or dead link(s)!

This is as they sound: a link is either missing or it’s no longer valid. In many cases the Internet Wayback Machine will be very useful but there happens to be numerous links that this is not helpful. In other @@ -489,7 +501,7 @@ and does not crash.

1989/fubar

-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

Source code: 1989/fubar/fubar.c

Information: 1989/fubar/index.html

If you use either fubar or ouroboros.c (it’s executable, see index.html for @@ -510,7 +522,7 @@ operators like /. To see what operators are supported check the sou

1989/westley

-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

Source code: 1989/westley/westley.c

Information: 1989/westley/index.html

With version 2 it sometimes segfaults even with the same input where other times @@ -663,7 +675,7 @@ more time and resources to run as well. For instance:

1990/jaw

-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

Source code: 1990/jaw/jaw.c

Information: 1990/jaw/index.html

Cody Boone Ferguson @@ -766,7 +778,7 @@ have to remove the outer () pair.

1992/albert

-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

Source code: 1992/albert/albert.c

Information: 1992/albert/index.html

Leo Broukhis, before he was an IOCCC judge, sent the IOCCC judges an email:

@@ -809,7 +821,7 @@ entry itself. Can you fix the actual entry? You are welcome to try and do so.

1992/gson

-

STATUS: uses gets() - change to fgets() if possible

+

STATUS: uses gets() - change to fgets() if possible

Source code: 1992/gson/gson.c

Information: [1992/gson/index.html])(1992/gson/index.html)

Cody changed it so that the buffer size is ARG_MAX+1 to try and get past the @@ -829,7 +841,7 @@ to be read (in case the gets(3) was not used in a loop).

1992/kivinen

-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

Source code: 1992/kivinen/kivinen.c

Information: 1992/kivinen/index.html

When you start the program everything starts to move over to the right side and @@ -839,7 +851,7 @@ click the mouse it takes it back towards the centre.

1992/lush

-

STATUS: doesn’t work with some compilers - please provide alternative code or fix for more compilers

+

STATUS: doesn’t work with some compilers - please provide alternative code or fix for more compilers

Source code: 1992/lush/lush.c

Information: 1992/lush/index.html

We used a patch from Yusuke Endoh to get this to @@ -922,7 +934,7 @@ at 80 columns. However due to the nature of the program if the terminal is < in column width it will not display right. To see the number of columns in your terminal try:

    echo $COLUMNS
-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

The author suggested that the alternate version, which Cody added (but fixed for modern systems), should print

    main(l,a,n,d)...
@@ -951,7 +963,7 @@ not a misunderstanding).

The author wrote in the documentation file ant.txt that there is a version of the code that is not obfuscated. This file, agag.c does not exist in the archive. Do you have it? Please provide it!

-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

Source code: 1993/cmills/cmills.c

Information: 1993/cmills/index.html

In multiple platforms, both macOS and also linux (in particular a RHEL 9.3 @@ -1047,7 +1059,7 @@ one liner it’s already quite long.

1994/schnitzi

-

STATUS: uses gets() - change to fgets() if possible

+

STATUS: uses gets() - change to fgets() if possible

Source code: 1994/schnitzi/schnitzi.c

Information: 1994/schnitzi/index.html

NOTE: the generated code of all versions, when fed its own source, will differ @@ -1163,7 +1175,7 @@ if it checked for != EOF.

1994/tvr

-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

Source code: 1994/tvr/tvr.c

Information: 1994/tvr/index.html

The judges said the following in their remarks:

@@ -1192,7 +1204,7 @@ it calls getchar() via the pointer m. So this is a fea

1995/leo

-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

Source code: 1995/leo/leo.c

Information: 1995/leo/index.html

The judges suggested that the following commands should result in output:

@@ -1230,7 +1242,7 @@ compilers to use the program but this file is missing. Can you provide it?

1996/gandalf

- +

Source code: 1996/gandalf/gandalf.c

Information: 1996/gandalf/index.html

The link was http://www.tc3.co.uk/~gandalf/G.HTML but this no longer exists as @@ -1239,7 +1251,7 @@ it was instead requiring a login / password.

1996/huffman

-

STATUS: uses gets() - change to fgets() if possible

+

STATUS: uses gets() - change to fgets() if possible

Source code: 1996/huffman/huffman.c

Information: 1996/huffman/index.html

The changing to using fgets(3) in this entry is a bit more complicated. It can @@ -1280,7 +1292,7 @@ almost be done except that some of the output of the This should NOT be fixed.

NOTE: the two boards will be on top of each other so you will have to drag one off the other so that you can properly play.

- +

As well: the link which was http://www.uio.no/~jonth is no longer valid and there’s no archive on the Internet Wayback Machine. Do you know of a proper URL? We greatly appreciate your help here!

@@ -1294,7 +1306,7 @@ We greatly appreciate your help here!

1998/dlowe

- +

Source code: 1998/dlowe/dlowe.c

Information: 1998/dlowe/index.html

The domain http://pootpoot.com no longer exists as it once did. The judges have @@ -1305,7 +1317,7 @@ to the page as well! You’ll have IOCCC fame for reviving a pootifier! :-)

1998/dloweneil

- +

Source code: 1998/dloweneil/dloweneil.c

Information: 1998/dloweneil/index.html

See above entry 1998/dlowe.

@@ -1335,7 +1347,7 @@ is in the index.html file as something to try and ponder.

2000/dlowe

-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

Source code: 2000/dlowe/dlowe.c

Information: 2000/dlowe/index.html

The author gives an example command:

@@ -1561,7 +1573,7 @@ elves of Imladris :-(

2001/bellard

STATUS: INABIAF - please DO NOT fix

-

STATUS: doesn’t work with some platforms - please help us fix

+

STATUS: doesn’t work with some platforms - please help us fix

Source code: 2001/bellard/bellard.c

Information: 2001/bellard/index.html

The two statuses might seem contradictory but that is a complicated question. @@ -1618,12 +1630,12 @@ before the fixes there.

2001/herrmann1

-

STATUS: missing files - please provide them

+

STATUS: missing files - please provide them

Source code: 2001/herrmann1/herrmann1.c

Information: 2001/herrmann1/index.html

The author referred to the file herrmann1.turing but it does not exist not even in the archive. Do you have a copy? Please provide it!

-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

There is also a bug in part. During compilation you’re supposed to see some animation but this does not seem to work with modern gcc versions. It appears that version 2.95 works but maybe others do as well. Do you have a fix? We would @@ -1650,7 +1662,7 @@ set. In other words both have to be ASCII or EBCDIC - not one of each.

2001/rosten

-

STATUS: missing files - please provide them

+

STATUS: missing files - please provide them

Source code: 2001/rosten/rosten.c

Information: 2001/rosten/index.html

The author stated that there is a cat man page for this program in case one @@ -1667,14 +1679,14 @@ details and a workaround.

2001/westley

-

STATUS: uses gets() - change to fgets() if possible

+

STATUS: uses gets() - change to fgets() if possible

Source code: 2001/westley/westley.c

Information: 2001/westley/index.html

This function uses gets(3) but it would be ideal if it used fgets(3). This one is rather complicated and will be looked at later (some progress was made by Cody but it is less important than other work) but you are welcome to try and fix this if you wish.

-

STATUS: main() has only one arg - try and make it have 2 or 3

+

STATUS: main() has only one arg - try and make it have 2 or 3

This program only has one arg to main(). However changing it to have 2 is not as simple as it might seem. Doing this breaks things. If memory serves changing it to two will, for instance, break the punch card code output. It might be that @@ -1685,13 +1697,13 @@ does too. You might try running the try.sh script and redirect it t first so that you can compare the output. Make sure to recreate the extra files as described by the author if you do fix this. This might be looked at later if nobody else takes up the challenge.

-

STATUS: missing files - please provide them

+

STATUS: missing files - please provide them

The author referred to a file card.gif but this file is missing. Do you have it? Please provide it!

2001/williams

-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

Source code: 2001/williams/williams.c

Information: 2001/williams/index.html

There seem to be a couple bugs at least in this entry. The first one is that @@ -1737,8 +1749,8 @@ sleeping.

2004/gavin

-

STATUS: compiled executable crashes - please help us fix

-

STATUS: doesn’t work with some platforms - please help us fix

+

STATUS: compiled executable crashes - please help us fix

+

STATUS: doesn’t work with some platforms - please help us fix

Source code: 2004/gavin/gavin.c

Information: 2004/gavin//index.html

Segmentation fault will occur in some systems. For instance on macOS with the @@ -1960,7 +1972,7 @@ used decimal mode, or any of the “undocumented” instructions.

2006/birken

-

STATUS: uses gets() - change to fgets() if possible

+

STATUS: uses gets() - change to fgets() if possible

Source code: 2006/birken/birken.c

Information: 2006/birken/index.html

This entry uses gets(3) which is unsafe and provides annoying warnings, most @@ -1981,7 +1993,7 @@ with possibly corrupt GIF files.

2006/monge

-

STATUS: doesn’t work with some platforms - please help us fix

+

STATUS: doesn’t work with some platforms - please help us fix

Source code: 2006/monge/monge.c

Information: 2006/monge/index.html

This program requires x86 (with an x87 FPU) or x86_64 machine and it requires @@ -2068,7 +2080,7 @@ bins at the edges.

2011/dlowe

- +

Source code: 2011/dlowe/dlowe.c

Information: 2011/dlowe/index.html

The author’s website, http://www.pootpoot.net, no longer exists as it once did, @@ -2098,7 +2110,7 @@ remarks instead.

2011/richards

-

STATUS: doesn’t work with some platforms - please help us fix

+

STATUS: doesn’t work with some platforms - please help us fix

Source code: 2011/richards/richards.c

Information: 2011/richards/index.html

This does not appear to work with macOS, resulting in a segfault (and sometimes @@ -2492,7 +2504,7 @@ player become bigger, stay away from blocks!

2014/vik

-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

Source code: 2014/vik/prog.c

Information: 2014/vik/index.html

Cody Boone Ferguson discovered a bug to do @@ -2619,7 +2631,7 @@ fixing the syntax error in the generated ioccc.json file.

2018/mills

-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

Source code: 2018/mills/prog.c

Information: 2018/mills/index.html

After exiting the program (with ctrl-e) if you try running it again you will @@ -2732,7 +2744,7 @@ in the de.sh/de.alt.sh scripts:

2019/dogon

-

STATUS: uses gets() - change to fgets() if possible

+

STATUS: uses gets() - change to fgets() if possible

Source code: 2019/dogon/prog.c

Information: 2019/dogon/index.html

The author does not it uses gets() and one will get warnings but it would be @@ -2947,6 +2959,8 @@ fixes] via a GitHub request or otherwise, we thank you as well for the help! We will happily add you to the thanks file as well.

+
+

Jump to: top