Me, grubba an Nilsson enumerated the major 7.8 blockers yesterday. They are as far as we could determine:
[ ] not done [/] tentatively fixed [X] fixed
Owner Issue [ ] grubba Deprecated type should print warnings. [ ] grubba Implement #pragma to turn off deprecated warnings. [ ] zino Known crash on Windows. [ ] mast/zino New Windows build environment. [ ] per/marcus Performance regression --with-assembler. (per and marcus weren't present so item assigned without consent... per says memprotect() is responsible as far as -x benchmark goes.) [ ] nilsson Running the test suite should not produce warnings. [ ] zino/mast Building external modules should work. [ ] nilsson Write ChangeLog. [ ] Deprecated type should be extracted to documentation. [ ] Documentation should transform from XML to HTML (broken) [ ] nilsson Arg module should be fixed or removed.
Non-blockers:
[ ] jhs Build (SVG) graph from the -x benchmark results Pikefarm delivers to track development.
If you think you could help with any of the items please do. Especially the items that have no one assigned to them yet.
While I'm sure any and all hacks of mine in this department will be rather appreciated, it probably won't hurt if I start with whatever was wished for in particular this time. :-) Some possibilities:
[ ] jhs Build (SVG) graph from the -x benchmark results Pikefarm delivers to track development. [ ] Sparkline views for each benchmark in (a special) Pikefarm table view, to detect any performance regressions at a glance, on a per-commit basis, live, as development goes on? [ ] Something beefy, showing the full stats of one single build, so any two stats images can be shown next to (or above) one another, for a "shootout" view? [ ] A small interactive benchmark badge for the site front page, showing (...your ideas here :-)
The only alternative that I'm quite sure about how to cast nicely into graphics at the moment is the sparkline view, but ideas will probably abound as I start playing with it. Requests, inspirational links and ideas about useful (or pretty, I guess :-) ways to present figures like those below are of course very welcome:
test total user mem (runs) Pike start overhead........ 0.272s 0.001s 8676kb (19) Ackermann.................. 0.699s 0.413s 7992kb (8) Append array............... 0.414s 0.138s 9636kb (13) Append mapping............. 1.241s 0.936s 8676kb (5) Append multiset............ 0.609s 0.323s 8608kb (9) Array & String Juggling.... 0.919s 0.626s 8896kb (6) Read binary INT16.......... 0.456s 0.178s 8172kb (11) Read binary INT32.......... 1.474s 1.154s 9344kb (4) Read binary INT128......... 0.707s 0.417s 9444kb (8) Clone null-object.......... 0.467s 0.188s 9248kb (11) Clone object............... 0.578s 0.295s 8968kb (9) Compile.................... 1.319s 1.013s 9632kb (4) Compile & Exec............. 1.029s 0.730s 10732kb (5) GC......................... 0.726s 0.435s 8664kb (7) Insert in mapping.......... 0.488s 0.202s 8728kb (11) Insert in multiset......... 0.702s 0.414s 8292kb (8) Matrix multiplication...... 0.505s 0.219s 9596kb (10) Loops Nested (local)....... 0.423s 0.142s 8860kb (12) Loops Nested (global)...... 0.611s 0.324s 8652kb (9) Loops Recursed............. 0.648s 0.359s 7916kb (8) Replace (parallel)......... 2.506s 2.155s 9048kb (2) Replace (serial)........... 2.859s 2.495s 9224kb (2) Sort equal integers........ 0.476s 0.194s 9380kb (11) Sort ordered integers...... 0.441s 0.162s 9668kb (12) Sort unordered integers.... 0.841s 0.544s 9260kb (6) Sort unordered objects..... 1.112s 0.811s 8812kb (5) Tag removal u. array_sscanf 1.678s 1.358s 8708kb (4) Tag removal u. division.... 2.276s 1.937s 7892kb (3) Tag removal using a loop... 2.177s 1.845s 9760kb (3) Tag removal u. Parser.HTML. 2.097s 1.764s 10112kb (3) Tag removal u. search...... 2.233s 1.894s 8472kb (3) Tag removal using sscanf... 2.317s 1.976s 8228kb (3)
While I'm sure any and all hacks of mine in this department will be rather appreciated, it probably won't hurt if I start with whatever was wished for in particular this time. :-) Some possibilities:
[*] jhs Build (SVG) graph from the -x benchmark results Pikefarm delivers to track development. [*] The smallest possible hack that presents performance-over-time with possibility to adjust the versions involved. The smallest possible because it is rather important that it gets done. Other stuff is very much appriciated but not as important for operation.
The only alternative that I'm quite sure about how to cast nicely into graphics at the moment is the sparkline view, but ideas will probably abound as I start playing with it. Requests, inspirational links and ideas about useful (or pretty, I guess :-) ways to present figures like those below are of course very welcome:
test total user mem (runs) Pike start overhead........ 0.272s 0.001s 8676kb (19)
^-----------------------------------------------------------------+ | Pike start overhead (Lower is better) | Baselines | | | | | | Latest tags | | ++ | | | ++ || | +-+ | | || || ++ | | | | | || || || | +-+ | | | | || || || | | | | | | | || || || | | | | | | | ++ ++ ++ | +-+ +-+ | | 2671 2671 2672 | 7.6.120 7.7.38 | +-----------------------------------------------------------------+
Me, grubba an Nilsson enumerated the major 7.8 blockers yesterday. They are as far as we could determine:
[ ] not done [/] tentatively fixed [X] fixed
Owner Issue [ ] grubba Deprecated type should print warnings. [ ] grubba Implement #pragma to turn off deprecated warnings. [ ] zino Known crash on Windows. [ ] mast/zino New Windows build environment. [ ] per/marcus Performance regression --with-assembler. (per and marcus weren't present so item assigned without consent... per says memprotect() is responsible as far as -x benchmark goes.) [X] nilsson Running the test suite should not produce warnings. [ ] zino/mast Building external modules should work. [ ] nilsson Write ChangeLog. [ ] Deprecated type should be extracted to documentation. [ ] Documentation should transform from XML to HTML (broken) [X] nilsson Arg module should be fixed or removed.
Non-blockers:
[ ] jhs Build (SVG) graph from the -x benchmark results Pikefarm delivers to track development.
If you think you could help with any of the items please do. Especially the items that have no one assigned to them yet.
Is a double free/memory overwrite problem in Image.JPEG for AMD64 and Alpha a blocker?
The latest thing changed in image_jpeg.c that could be relevant as far as I can see is a small fix from you in 2004...
Me, grubba and Nilsson enumerated the major 7.8 blockers yesterday. They are as far as we could determine:
[ ] not done [/] tentatively fixed [X] fixed
Owner Issue ! [/] grubba Deprecated type should print warnings. [ ] grubba Implement #pragma to turn off deprecated warnings. [ ] zino Known crash on Windows. [ ] mast/zino New Windows build environment. [ ] per/marcus Performance regression --with-assembler. (per and marcus weren't present so item assigned without consent... per says memprotect() is responsible as far as -x benchmark goes.) [X] nilsson Running the test suite should not produce warnings. [ ] zino/mast Building external modules should work. [ ] nilsson Write ChangeLog. [ ] Deprecated type should be extracted to documentation. [ ] Documentation should transform from XML to HTML (broken) [X] nilsson Arg module should be fixed or removed. ! [ ] mast The testsuite on a debug pike fails with gc.c:2396: ! GC fatal: GC check counted 2 refs to thing with refcount 1.
Non-blockers:
[ ] jhs Build (SVG) graph from the -x benchmark results Pikefarm delivers to track development.
If you think you could help with any of the items please do. Especially the items that have no one assigned to them yet.
Me, grubba and Nilsson enumerated the major 7.8 blockers yesterday. They are as far as we could determine:
[ ] not done [/] tentatively fixed [X] fixed
Owner Issue ! [/] grubba Deprecated type should print warnings. [ ] grubba Implement #pragma to turn off deprecated warnings. [ ] zino Known crash on Windows. [ ] mast/zino New Windows build environment. [ ] per/marcus Performance regression --with-assembler. (per and marcus weren't present so item assigned without consent... per says memprotect() is responsible as far as -x benchmark goes.) [X] nilsson Running the test suite should not produce warnings. [ ] zino/mast Building external modules should work. [ ] nilsson Write ChangeLog. [ ] Deprecated type should be extracted to documentation. [ ] Documentation should transform from XML to HTML (broken) [X] nilsson Arg module should be fixed or removed. ! [X] mast The testsuite on a debug pike fails with gc.c:2396: ! GC fatal: GC check counted 2 refs to thing with refcount 1.
Non-blockers:
[ ] jhs Build (SVG) graph from the -x benchmark results Pikefarm delivers to track development.
If you think you could help with any of the items please do. Especially the items that have no one assigned to them yet.
7.8 blockers:
Owner Issue [/] grubba Deprecated type should print warnings. [ ] grubba Implement #pragma to turn off deprecated warnings. ! [X] zino Known crash on Windows. [ ] mast/zino New Windows build environment. [ ] per/marcus Performance regression --with-assembler. (per and marcus weren't present so item assigned without consent... per says memprotect() is responsible as far as -x benchmark goes.) [ ] zino/mast Building external modules should work. [ ] nilsson Write ChangeLog. [ ] Deprecated type should be extracted to documentation. [ ] Documentation should transform from XML to HTML (broken)
Non-blockers:
[ ] jhs Build (SVG) graph from the -x benchmark results Pikefarm delivers to track development.
If you think you could help with any of the items please do. Especially the items that have no one assigned to them yet.
There are only 19 open bugs against Pike 7.7. Some of them quite old. Some filed aginast the wrong version. Some should be RESOLVED INVALID/WONTFIX or CUSTWAIT if we had had one. Some might be real bugs still existing. If someone feels like doing some good, pick a bug, test it and leave a comment about the status of the bug when running current CVS:
http://community.roxen.com/crunch/buglist.cgi?product=Pike&version=7.7&a...
There are 21 against 7.6. One or two of them are probably real and still existing in both 7.6 and 7.7:
http://community.roxen.com/crunch/buglist.cgi?product=Pike&version=7.6&a...
There are 4 bugs against 7.5 which is just silly. Either they should be closed without action or moved to a later version:
http://community.roxen.com/crunch/buglist.cgi?product=Pike&version=7.5&a...
bug 2000 seems to be assigned to me already, although I don't get why it says "7.7" when it actually seems to be about 7.3...
Bug 4377 is bogus. (It doesn't seem possible to comment bug reports...)
[^] is not a negated empty set, just as [] is not an empty set. They are sets which contain (or does not contain, in the case of ^) the character "]". So we have e.g.
"[^]]" = Any character except "]" "[^][^]" = Any character except "]", "[", or "^". "[]]" = Only "]" "[][]" = Either "]" or "["
Thus the statement that there is no conflicting interpretation is invalid, and the bug report is bogus. (Even if there is no _valid_ conflicting interpretation in the example given in the bug report, example 2 above for example would be valid (but mean different things) in both interpretations.)
A variant on that explanation would probably do wonders in the refdocs for sscanf (as it is probably not immediately apparent to many readers -- or the bug reporter, at the very least).
Yes, the autodoc currently just say "Sets including the character ']' must list this first too.", which is a bit terse. The Solaris man-page says:
If the conversion specification begins with [] or [^], the right square bracket is included in the scanlist and the next right square bracket is the matching right square bracket that ends the conversion specification; otherwise the first right square bracket is the one that ends the conversion specification.
which should be clear enough.
But in my bug report there is no "next right square bracket". I don't argue the interpretation of []], only questioning what [^] means.
Either way, what would the correct way be to construct a set containing just a caret sign?
I think Jonas wants to know how to tell sscanf to feed him a string of all consecutive ^ characters from an input string.
What [^] means depends on what follows it. If there are no more ]'s, it means you have an error in your conversion string. The format string "%[^]]]%d" matches a sequence of any characters except "]", then a "]", and then a number. If [^] were to be taken to mean a set of only caret, the interpretation of the string would change to match a sequence of carets, then two "]"s, and then a number. And you would have no way of expressing the original interpretation.
I honestly don't think there is a way to construct a set of only caret, but if there were, I'd say [^-^] was it, since the set "everything but - and ^" can be constructed with [^^-] instead.
Ok, makes sense. But then your earlier comment
[^] is not a negated empty set, just as [] is not an empty set. They are sets which contain (or does not contain, in the case of ^) the character "]".
seems incorrect. If
sscanf("^^^^^^^^hello", "%*[^]%s", string res) && res;
throws an "Error in sscanf string" it's obviously not equivalent to [^]]. Also, shouldn't you get the same error from
sscanf("^^^^^^^^hello", "%*[]%s", string res) && res;
since it's an unbalanced pattern string lacking a closing bracket?
I think this exploration of buggy edge conditions might merit some fixes for unlikely cases nobody has so far encountered in the wild. :)
I'm fairly sure I opened the original bug report based on a real-world problem. The [^-^] suggestion is nice and I'd be happy to see that in 7.8 (along with some docs); better error reporting for the buggy cases is probably less important.
Since this would be an incompatible change (Negative sets containing "-" must now have the "-" last, whereas previously both last and first were permissible), I guess it should be disabled in backward compatibility mode?
(I'll take a look at implementing this later, as well as checking the other edge cases.)
like this one? rray_sscanf("ab[\]cd", "%s%[[-]]%s"); (44) Result: ({ /* 2 elements */ "ab", "[" }) easely worked around with:
array_sscanf("ab[\]cd", "%s%[][\]%s");
(46) Result: ({ /* 3 elements */ "ab", "[\]", "cd" })
not sure if that is buggy, but edge case for sure. should the - be treated as range always unless it is at the beginning or end?
(why not use .. for the range, that would be unambigous)
greetings, martin.
No, that one is correct. %[[-]] means a set of "[" and "-", followed by a (non-set) "]". It is not possible to have a range which ends with "]". The workaround is to make the range end with , and put "]" in separately (a generalization of the workaround you mention).
not sure if that is buggy, but edge case for sure. should the - be treated as range always unless it is at the beginning or end?
Yes, but in this case it is at the end, because it is followed by ] (the end marker).
Well, it wasn't fullt stringent. "[]" is not a set which contains ], it is a _prefix_ of a set containing ]. Or put differently, all valid continuations result in sets containing ].
And yes, your second example should definitely give an error. I wonder what it actually does right now...
Also, shouldn't you get the same error from
sscanf("^^^^^^^^hello", "%*[]%s", string res) && res;
since it's an unbalanced pattern string lacking a closing bracket?
As far as I could see, this _does_ give you the same error in 7.7.
I have now implemented the interpretation of ^-X at the beginning of a set as a range rather than a negation. However, I have not created any compatibility fallback as I couldn't figure out how to do that for an operator (sscanf isn't a function)...
As far as I could see, this _does_ give you the same error in 7.7.
It seems very inconsistent between runs, actually. This is with a freshly built 7.7:
ceylon:7.7 $ ~/pike/7.7/bin/pike Pike v7.7 release 45 running Hilfe v3.5 (Incremental Pike Frontend)
sscanf("^^^^^^^^hello", "%*[]%s", string res) && res;
(1) Result: 0
sscanf("^^^^^^^^hello", "%*[]%s", string res) && res;
(2) Result: 0
sscanf("^^^^^^^^hello", "%*[]%s", string res) && res;
(3) Result: 0
sscanf("^^^^^^^^hello", "%*[]%s", string res) && res;
Error in sscanf format string. HilfeInput:1: HilfeInput()->___HilfeWrapper()
Some architecture-dependant bug?
Pike v7.7 release 45 running Hilfe v3.5 (Incremental Pike Frontend)
sscanf("^^^^^^^^hello", "%*[]%s", string res) && res;
Error in sscanf format string. HilfeInput:1: HilfeInput()->___HilfeWrapper()
sscanf("^^^^^^^^hello", "%*[]%s", string res) && res;
Error in sscanf format string. HilfeInput:1: HilfeInput()->___HilfeWrapper()
sscanf("^^^^^^^^hello", "%*[]%s", string res) && res;
Error in sscanf format string. HilfeInput:1: HilfeInput()->___HilfeWrapper()
sscanf("^^^^^^^^hello", "%*[]%s", string res) && res;
Error in sscanf format string. HilfeInput:1: HilfeInput()->___HilfeWrapper()
sscanf("^^^^^^^^hello", "%*[]%s", string res) && res;
Error in sscanf format string. HilfeInput:1: HilfeInput()->___HilfeWrapper()
sscanf("^^^^^^^^hello", "%*[]%s", string res) && res;
Error in sscanf format string. HilfeInput:1: HilfeInput()->___HilfeWrapper()
sscanf("^^^^^^^^hello", "%*[]%s", string res) && res;
Error in sscanf format string. HilfeInput:1: HilfeInput()->___HilfeWrapper()
sscanf("^^^^^^^^hello", "%*[]%s", string res) && res;
Error in sscanf format string. HilfeInput:1: HilfeInput()->___HilfeWrapper()
My original thought so I built it on Linux and retested. I managed to get the problem in the first session but haven't been able to repeat after that.
ariel:7.7 $ ./bin/pike Pike v7.7 release 45 running Hilfe v3.5 (Incremental Pike Frontend)
sscanf("^^^^^^^^hello", "%*[]%s", string res) && res;
Error in sscanf format string. HilfeInput:1: HilfeInput()->___HilfeWrapper()
sscanf("^^^^^^^^hello", "%*[]%s", string res) && res;
Error in sscanf format string. HilfeInput:1: HilfeInput()->___HilfeWrapper()
sscanf("^^^^^^^^hello", "%*[]%s", string res) && res;
Error in sscanf format string. HilfeInput:1: HilfeInput()->___HilfeWrapper()
sscanf("^^^^^^^^hello", "%*[]%s", string res) && res;
Error in sscanf format string. HilfeInput:1: HilfeInput()->___HilfeWrapper()
sscanf("^^^^^^^^hello", "%*[]%s", string res) && res;
Error in sscanf format string. HilfeInput:1: HilfeInput()->___HilfeWrapper()
sscanf("^^^^^^^^hello", "%*[]%s", string res) && res;
Error in sscanf format string. HilfeInput:1: HilfeInput()->___HilfeWrapper()
sscanf("^^^^^^^^hello", "%*[^-^]%s", string res) && res;
(1) Result: "hello"
sscanf("^^^^^^^^hello", "%*[^]%s", string res) && res;
Error in sscanf format string. HilfeInput:1: HilfeInput()->___HilfeWrapper()
sscanf("^^^^^^^^hello", "%*[^]%s", string res) && res;
(2) Result: 0
sscanf("^^^^^^^^hello", "%*[^]%s", string res) && res;
Error in sscanf format string. HilfeInput:1: HilfeInput()->___HilfeWrapper()
sscanf("^^^^^^^^hello", "%*[^]%s", string res) && res;
(3) Result: 0
sscanf("^^^^^^^^hello", "%*[^]%s", string res) && res;
Error in sscanf format string. HilfeInput:1: HilfeInput()->___HilfeWrapper()
sscanf("^^^^^^^^hello", "%*[^]%s", string res) && res;
(4) Result: 0
That was admittedly the other pattern, but something is clearly wrong with the sporadic "Result: 0" answer. That particular box won't run --valgrind ("vex amd64->IR: unhandled instruction bytes: 0x66 0xF 0x1F 0x44") so I haven't been able to dig deeper.
More interestingly, "make verify" signals a lot of sscanf format errors in the Calendar module. Did you accidentally break something with your last change?
ariel:7.7 $ pike Pike v7.4 release 464 running Hilfe v3.5 (Incremental Pike Frontend)
Calendar.ISO.dwim_day("2008-05-14");
(1) Result: Day(Wed 14 May 2008) Terminal closed. ariel:7.7 $ ./bin/pike Pike v7.7 release 45 running Hilfe v3.5 (Incremental Pike Frontend)
Calendar.ISO.dwim_day("2008-05-14");
Error in sscanf format string. lib/modules/Calendar.pmod/YMD.pike:2714: ISO->parse("%y-%M-%D (%*s) -W%W-%e (%e)%n","2008-05-14",UNDEFINED) lib/modules/Calendar.pmod/YMD.pike:2990:ISO->dwim_day("2008-05-14",UNDEFINED)
The breakage is not accidental but quite intentional. As I already wrote the change is _not backwards compatible_. All code using sscanf with a negative set starting with "-" needs to be rewritten.
Update YMD.pike again and it should work.
My comment regarded 7.7 which was incompatible with itself at the time I made my posting.
Not really related:
The "Example: %[0-9H] means any number or 'H'" example is very easy to misread as "any number of", which would have been an intuitive reading otherwise (as these matches are not like the regexp style single-shot per character class behaviour).
Would have been nice to have Uwe Assman's "roundtrip engineering docs wiki" now. ;-)
The compat issue is pretty severe, considering several incompatibilities were found just inside pike itself. I've therefore put it on the blocker list.
Yup. Handling both cases in the code is really simply, the difficult bit is communicating the compatibility level from compliation to runtime. In the case of functions, this can be done by making a compatibility function func_76 which is substituted for the regular function in a compatibility namespace. But since sscanf is an operator, I think we would need to add a special bytecode for the compatibility version. Or can someone come up with a simpler solution?
Yup. Handling both cases in the code is really simply, the difficult bit is communicating the compatibility level from compliation to runtime. In the case of functions, this can be done by making a compatibility function func_76 which is substituted for the regular function in a compatibility namespace. But since sscanf is an operator, I think we would need to add a special bytecode for the compatibility version. Or can someone come up with a simpler solution?
Hmm...
Let the compiler add an implicit call to a format conversion function on the first argument in compat mode? The question is how complicated it would be to write such a function.
The problem is that the format string could be dynamic, in which case the conversion function would need to be called each time, adding a performance penalty. (The conversion isn't all that complex, but needs to create a new string.)
True, but I believe that case to be so uncommon that a minor penalty could be accepted.
On the other hand, that piece of code has quite a bit of overhead for the format string anyway...
... and it actually uses array_sscanf() rather than sscanf(), so a compat function would be possible in this case.
I honestly don't think there is a way to construct a set of only caret, but if there were, I'd say [^-^] was it, since the set "everything but - and ^" can be constructed with [^^-] instead.
[^-^] gets extra bonus points for being humorous and logical at the same time. :-) Should someone feel deeply for this, my vote says it is the least bad backwards incompatibility to introduce to support it. :)
good question...
array_sscanf("ab^cd", "%s%[^]%s");
(1) Result: ({ /* 2 elements */ "a", "b^c" })
array_sscanf("ab^cd", "%2s%[^]%s");
(2) Result: ({ /* 2 elements */ "ab", "" })
array_sscanf("ab^cd", "%s%[^]%s");
(3) Result: ({ /* 2 elements */ "ab^cd", "" })
restarting pike...
array_sscanf("AB^CD", "%s%[^]%s");
(1) Result: ({ /* 2 elements */ "A", "B" })
array_sscanf("ab^cd", "%s%[^]%s");
(4) Result: ({ /* 2 elements */ "", "ab" })
array_sscanf("AB^CD", "%s%[^]s%s");
(11) Result: ({ /* 2 elements */ "AB^CD", "" })
array_sscanf("ab^CD", "%s%[^]s%s");
Error in sscanf format string.
array_sscanf("AB^CD", "%s%[^]s%s");
(12) Result: ({ /* 2 elements */ "AB^CD", "" })
array_sscanf("ab^CD", "%s%[^]s%s");
(13) Result: ({ /* 2 elements */ "", "ab" })
array_sscanf("ab^cd", "%s%[^]s%s");
(14) Result: ({ /* 2 elements */ "ab^cd", "" })
array_sscanf("ab^cd", "%s%[^]%s");
Error in sscanf format string.
something is being very confused here...
greetings, martin.
array_sscanf("AB^CD", "%s%[^]s%s"); array_sscanf("ab^CD", "%s%[^]s%s"); array_sscanf("AB^CD", "%s%[^]s%s"); array_sscanf("ab^CD", "%s%[^]s%s"); array_sscanf("ab^cd", "%s%[^]s%s");
^ I don't think you intended for the 's' to be there.
something is being very confused here...
greetings, martin.
i did put it there with the intention to see what difference it might make. the main observation though is that the same expression produces different results at different times.
greetings, martin.
Now it's really not possible since grubba closed it, but can you at least comment on bugs you own? I don't remember what the default settings where. You probably need some bit to be able to comment on arbitrary bugs. That would hamper my attemts at trying to get people to comment on them.
Note for bug system on eureka: Should have CUSTWAIT and possibility for all logged in users to comment on all bugs.
I don't own any bugs since I just created my account. marcus@roxen.com owns bugs, but I don't want to use that account as I'm not sure if that mail address works anymore.
IIRC, grubba batch renamed expired accounts from @roxen.com to @pike.ida.liu.se, but he might have missed a few (or I misremember).
Note for bug system on eureka: Should have CUSTWAIT and possibility for all logged in users to comment on all bugs.
Are bug tracking systems hosted, administered and developed by a third party passionate and focused on improving the bug tracking system (and competing with other bug tracking systems providers) a non-option?
Bug Crunch has sucked approximately equally much since its inception (when it was a little better than Bugzilla), and I think we have every reason to believe we won't spend more time and effort on improving Bug Tracker TNG, once installed, either.
I have a distinct feelig there are systems available today that meet all the criterias "free or cheap", "has no lock-in", "integrates well with CVS, Subversion and/or git" and, perhaps most importantly, "kicks ass, for getting things done". I find it likely that several (or most) also offer web hooks, allowing us to still hack our own cool extras to tie into the system (if we want to).
No, but you have to find one for me. The net is full of Bugzillas in diffrent stages of decomposition.
Crunch has BTW held up very well and done what it was planned to for. What it wasn't planned to handle was the IT crash and everyone leaving Roxen.
I'm not proclaiming bug crunch as a failed project, only suggesting it is likely we can do more for less today if we're still changing stuff.
That we (me, and/or others here eager for something better) have to do that scouting on our own is of course fair -- and knowing that it will get serious consideration helps to motivate doing good research. :-)
at least two people set up an alternative tracker. but neither picked up any traction (pun intended) even the current bug tracker is not really used as much as it could be.
i doubt a different tracker will make much of a difference here because at least reporting bugs should be equally complex in most of them.
(sign up, find related issues, write description of the problem, etc...)
greetings, martin.
A few thoughts concerning the bug tracker and its relative popularity/unpopularity:
I always got the impression from people I spoke with that it was not always obvious where the bug tracker resided. I have to admit that it took a long time before I realized that "Bug Crunch" == "bug tracking and reporting". I'm sure that has tended to depress the number of submitted bugs (not to mention the "must login to submit requirement", which not all trackers have.)
I've always been a fan of Mantis and JIRA and less so of TRAC and Bugzilla.
Bill
On Mon, 12 May 2008, Martin [iso-8859-1] B�hr wrote:
at least two people set up an alternative tracker. but neither picked up any traction (pun intended) even the current bug tracker is not really used as much as it could be.
i doubt a different tracker will make much of a difference here because at least reporting bugs should be equally complex in most of them.
(sign up, find related issues, write description of the problem, etc...)
greetings, martin.
!DSPAM:48286a76102985209328925!
7.8 blockers:
Owner Issue [/] grubba Deprecated type should print warnings. [ ] grubba Implement #pragma to turn off deprecated warnings. [ ] mast/zino New Windows build environment. [ ] per/marcus Performance regression --with-assembler. (per and marcus weren't present so item assigned without consent... per says memprotect() is responsible as far as -x benchmark goes.) [ ] zino/mast Building external modules should work. [ ] nilsson Write ChangeLog. [ ] Deprecated type should be extracted to documentation. [ ] Documentation should transform from XML to HTML (broken) [ ] Backward compat goo for the recent sscanf change.
Non-blockers:
[ ] jhs Build (SVG) graph from the -x benchmark results Pikefarm delivers to track development.
If you think you could help with any of the items please do. Especially the items that have no one assigned to them yet.
7.8 blockers:
Owner Issue ! [X] grubba Deprecated type should print warnings. ! [ ] grubba Implement #pragma to turn off deprecated warnings. ! #pragma no_deprecation_warnings ! [X] grubba Implement this_function (from the conference road map). ! [ ] Fallback to poll from epoll (from the conference ! road map). ! [ ] Fix gc of Stdio.File (from the conference road map). [ ] mast/zino New Windows build environment. [ ] per/marcus Performance regression --with-assembler. (per and marcus weren't present so item assigned without consent... per says memprotect() is responsible as far as -x benchmark goes.) [ ] zino/mast Building external modules should work. [ ] nilsson Write ChangeLog. ! [ ] Module dumping should succeed for all modules. [ ] Deprecated type should be extracted to documentation. [ ] Documentation should transform from XML to HTML (broken) ! [/] marcus Backward compat goo for the recent sscanf change. ! Hooks are now in place
Non-blockers:
[ ] jhs Build (SVG) graph from the -x benchmark results Pikefarm delivers to track development.
If you think you could help with any of the items please do. Especially the items that have no one assigned to them yet.
7.8 blockers:
Owner Issue [X] grubba Deprecated type should print warnings. [ ] grubba Implement #pragma to turn off deprecated warnings. #pragma no_deprecation_warnings [X] grubba Implement this_function (from the conference road map). [ ] Fallback to poll from epoll (from the conference road map). [ ] Fix gc of Stdio.File (from the conference road map). [ ] mast/zino New Windows build environment. [ ] per/marcus Performance regression --with-assembler. (per and marcus weren't present so item assigned without consent... per says memprotect() is responsible as far as -x benchmark goes.) [ ] zino/mast Building external modules should work. [ ] nilsson Write ChangeLog. [ ] Module dumping should succeed for all modules. [ ] Deprecated type should be extracted to documentation. [ ] Documentation should transform from XML to HTML (broken) [X] marcus Backward compat goo for the recent sscanf change.
Non-blockers:
[ ] jhs Build (SVG) graph from the -x benchmark results Pikefarm delivers to track development.
If you think you could help with any of the items please do. Especially the items that have no one assigned to them yet.
I'd like to remind people that read the list through KOM of the kom-edit-insert-buglist command, or C-c C-b at least in the Swedish client locale.
Quotes without the indentation and removes the previosly completed items.
pike-devel@lists.lysator.liu.se