]> git.donarmstrong.com Git - infobot.git/blob - doc/BUGS
Initial revision
[infobot.git] / doc / BUGS
1                         KNOWN PROBLEMS AND BUGS
2
3 Problem #1:
4         'topic [#channel] shuffle' will produce 1 in n! (where n
5         is number of subtopics in topic. IS THIS CORRECT PROBABILITY?)
6         chance that it will be the same as before.
7
8         If someone wants to experiment a fix for this, do so.
9         Here is a hint:
10         'while (!defined $newtopic || $topic{$talkchannel} eq $newtopic) {'
11
12 Problem #2: [UPDATED 20000224]
13         A race condition is observed if the topic is changed very
14         quickly. If the bot is told to change the topic twice but
15         has not received notification of the new topic before
16         changing to the second modification of the topic, it
17         would use the absolute first (0) topic as a reference,
18         therefore missing out on the first alteration of the 
19         topic.
20
21         A very cheap solution exists. Edit IrcHooks.pl, search for
22         'topic', alter '1' to '0'. This will only cache topics made by the
23         bot (I hope). I have a faint feeling that bot-only topics are
24         stored elsewhere (history I think) but I'm not quite sure.
25
26         Yet another (ultimate and preferable) solution would be to have
27         topic queueing, altering the topic once the first alteration has
28         been done, changing the topic until the queue is empty. However,
29         topic floods will eventuate unfortunately. If a queue of 2 or more
30         is detected, no more topic changes are done until a time of
31         5-10seconds (how can this be done?). This is a challenge to
32         implement.
33
34 Problem #3: 19991110
35         It appears that if the last string separated by a whitespace
36         of the topic will be chopped off (if it's "()") because the
37         ownership is null. At first I thought it was a bug in the regex
38         but it was okay. I guess it's a minor problem but why should
39         there be a semi-ownerless subtopic :) If it's annoying, please
40         investigate the &topicCipher() function in Topic.pl in relation to
41         &topicDecipher().
42
43 Problem #4: 199912xx
44         mysql overload...
45
46         DBD::mysql::st execute failed: Duplicate entry 'xk' for key 1 at
47         ./src/Freshmeat.pl line 85.
48         when freshmeat.pl is building the table and something's said in the
49         channel... seen code tries to update table but fails.
50
51         [UPDATE 20000224]
52         This may be eliminated by reducing 4-5 INSERT/UPDATE requests to
53         just 1 (total of 2), depending on the return of SELECT. If this
54         still persists and memory leaks are happening, first make
55         sure you are not using broken mysql tables, secondly bitch at the
56         mysql-perl author that there is a memory leak when a broken table 
57         is in use.
58
59 Problem #5:
60         doWarn is called when perl catches a "warning".
61
62         =>
63         [   44] !WARN! PERL: Use of uninitialized value at ./src/Modules.pl line 316.
64         [   45] !WARN! PERL: offending line => '        if ($query eq "") {'.
65         [   46] !DEBUG! test1.
66         [   47] !DEBUG! test2.
67         [   48] !DEBUG! test3.
68
69         ### From 'perlfunc'...
70         Note that this is quite safe and will not produce an endless loop,
71         since __WARN__ hooks are not called from inside one.
72
73         ### From 'perlvar'...
74         Note that __DIE__/__WARN__ handlers are very special in one 
75         respect: they may be called to report (probable) errors found by
76         the parser.  In such a case the parser may be in inconsistent
77         state, so any attempt to evaluate Perl code from such a handler
78         will probably result in a segfault.
79
80 Problem #6:
81 !   14! Debian: 12.87 sec to complete query.
82 !   15! </#debian-bots> Debian Search of 'testing' (2 shown): ...
83 [   38] disconnect from irc.home.org (Connection reset by peer).
84 [   39] reconnection... cleaning out channel cache.
85
86         Solution #6:
87                 Edit /usr/lib/perl5/Net/IRC.pm
88                 Comment out *->quit() on 'sub DESTROY'
89                 Alternatively, bitch at author of Net::IRC.
90
91 Problem #7: why...
92         <\ifvoid> apt, cellwave?
93         <apt> i haven't a clue, \ifvoid
94         <tapt> bugger all, i dunno, \ifvoid
95
96 Problem #8:
97         <egamI-rorriM> apt: lart
98         * apt/#debian strangles  with a doohicky mouse cord
99
100 Problem #9:
101         [Flugh] i say 'rom, rom is a mud server', it says 'ok'. then
102                 'rom, rom?' it says 'yes? <nick>'
103
104 # info package dist doesn't recognise dist.