[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

important bug - war (openldapd #57469)



Hello All,

details at:
http://www.debian.org/Bugs/db/57/57469.html

I submitted this bug report and labelled at is important, since it
prevented me from installing other packages (unless I put it on
hold). I have since heard other people on debian-devel say that such a
bug should be grave.

The maintainer of the bug report said it was fixed, and closed
it. Fair enough, however, the problem was still there. I sent a note to
the maintainer saying as much, but this was ignored.

I reopened the bug report, telling the maintainer that the problem has
not been fixed, and he (perhaps he didn't read my message, not sure)
immediately closed it again. He said it was fixed ages ago. Obviously
this is not the case...

Then again, the perl code looks OK to me, so I am not sure what the
problem is (if I run it manually it works, if I run it via apt-get
preconfiguration it doesn't work).

$done = 0;
while (! $done) {
    my $isdefault = fget ('openldapd/db_directory', 'isdefault');
    my @ret = input ('low', 'openldapd/db_directory');
    break if $ret[0] == 30;
    go;

for some reason, that break statement is not working, hence it
enters an infinite loop. Please see the bug report for details.

This is for the latest version, openldapd_1%3a1.2.9-3_i386.deb
(perhaps the maintainer wrongly assumed that I was not using the
latest version, if he was unsure, he should really ask me though,
instead of blindly closing the bug report. Or perhaps the Australian
mirror is old and out-of-date, in which case I apologise).


This isn't meant to flame the maintainer in anyway (hence my reason
for not mentioning his name), but I think this is an important bug
that deserves to be fixed. As I am not getting anywhere via the BTS,
perhaps this message will help.


I strongly suspect that problem is that the break cannot exit from the
while loop. As a test example:

perl -e 'while (1) { print "hi\n"; break; }'

this never exits the loop. Then again does break even exist in perl??
I think the fix is to replace "break" with "last". Not tested.


sidenote:

[510] [lyell:bmay] ~ >perl -e 'use strict; while (1) { print "hi\n"; break; }'
Bareword "break" not allowed while "strict subs" in use at -e line 1.
Execution of -e aborted due to compilation errors.

Personally, I use "use strict;" in all programs I write.
-- 
Brian May <bmay@csse.monash.edu.au>


Reply to: