Dear Rob,
With all due respect, what kind of ridiculous username is that? How are we supposed to link "80686" to a person in a quick manner? I see "brion", I can think "Brion Vibber, don't argue with his code", I see "tstarling", I know it's Tim.
well, it's me, as I'm known since 15 years in all kind of computing fields, including Wikipedia, MediaWiki and the IRC channels.
Exactly like Brion (thanks) has introduced me in his mail.
"80686" might be a popular username, but we aren't dealing with a bunch of children dancing about behind some wonderful label. We're dealing with people who need to be a touch *more* accountable than the damn wikis this is powering.
It is not propular, and that's the reason why I kept it since 15 years.
I don't know how young you are, but as learned IT specialists and studied computer scientiest (applied computerscience in the field of internet engineering) I don't see a problem here. To be honest, I didn't find sponsors to pay people to create questioned extensions and deal with them that they may be put under GPL to be pissed off by you because of such a stupid thing like a username.
On 29/11/06, Manuel Schneider manuel.schneider@wikimedia.ch wrote: [snip the lot]
Do excuse the fact that my (assumed) lack of formal IT education or experience in the field makes me irrational. And let's bring age into it; age is SUCH a brilliant non sequitur.
Do also excuse the fact that I don't word things in a manner that non-native speakers won't be offended by. I don't think it's a massive deal, I just find it irritatingly confusing enough to complain about.
Congratulations on getting sponsors, etc.
Rob Church
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Rob Church wrote:
I don't think it's a massive deal, I just find it irritatingly confusing enough to complain about.
Perhaps you should be yelling at Brion. He is the one, after all, who (probably) created the new user.
On 29/11/06, Edward Z. Yang edwardzyang@thewritingpot.com wrote:
Perhaps you should be yelling at Brion. He is the one, after all, who (probably) created the new user.
Yeah, but Brion stabs.
Rob Church
"Edward Z. Yang" edwardzyang@thewritingpot.com wrote in message news:ekl67p$ccs$1@sea.gmane.org...
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Rob Church wrote:
I don't think it's a massive deal, I just find it irritatingly confusing enough to complain about.
Perhaps you should be yelling at Brion. He is the one, after all, who (probably) created the new user.
"I am not a number! I am a.... oh wait... yes I am."
- Mark Clements (68080 - formerly HappyDog)
On 30/11/06, Mark Clements gmane@kennel17.co.uk wrote:
"I am not a number! I am a.... oh wait... yes I am."
Right, that's it. Wanted, one esoteric symbol from an obscure font...
The Developer Formerly Known As Rob Church
It's ok - let's go back to work and forget about it.
It's ok - let's go back to work and forget about it.
Hello and welcome!
One small request, can we please have log messages describing the general intent and thinking behind a commit? e.g. svn commit --message="Adding the SelectCategory extension" SelectCategory ... or if you want to write an essay, chuck it in a text file (e.g. ../msg.txt ), and commit like so: svn commit --file ../msg.txt includes/File-You-Modified.php includes/Another-File-You-Modified.php RELEASE-NOTES
Other potentially helpful notes and stuff at: http://www.mediawiki.org/wiki/Commit_access (and please feel free to add anything you find useful).
Also, I found the SelectCategory extension gives my apache2 web server segfaults when I edit a page: ---------------------------------- [Thu Nov 30 19:56:23 2006] [notice] child pid 18508 exit signal Segmentation fault (11) [Thu Nov 30 19:57:20 2006] [notice] child pid 16733 exit signal Segmentation fault (11) [Thu Nov 30 19:58:46 2006] [notice] child pid 18948 exit signal Segmentation fault (11) [Thu Nov 30 19:58:48 2006] [notice] child pid 3263 exit signal Segmentation fault (11) [Thu Nov 30 19:59:30 2006] [notice] child pid 9535 exit signal Segmentation fault (11) ----------------------------------
With some slow binary searching I tracked it down to this line, line # 195 of SpecialCategoryFunctions.php :
// $m_allCats = array_merge( array( $m_row['title'] => $m_prefix ), fnSelectCategoryGetChildren( $m_row['title'], ++$m_prefix ) );
... with this line commented out, will run without segfaulting, with it enabled will segfault.
At this point, it may help to see my categorylinks table, which contains some deliberately whacky category test data: ==================================== mysql> select * from categorylinks; +---------+---------------------------------+--------------------------+---------------------+ | cl_from | cl_to | cl_sortkey | cl_timestamp | +---------+---------------------------------+--------------------------+---------------------+ | 1 | Sydney | Main Page | 2006-11-29 03:47:22 | | 1533 | Blog | Fake | 2006-09-12 04:20:54 | | 1534 | Fake | Blog | 2006-09-12 04:22:26 | | 1535 | Blog | Fish | 2006-09-12 04:23:59 | | 1536 | Fish | Animial | 2006-09-12 04:24:30 | | 1537 | Australian_media | Sydney | 2006-09-12 04:26:58 | | 1537 | Sydney_culture | Media in Sydney | 2006-09-12 04:26:58 | | 1538 | Australian_culture | Sydney culture | 2006-09-12 04:27:08 | | 1538 | Culture_by_city | Sydney culture | 2006-09-12 04:27:08 | | 1538 | Sydney | Culture of Sydney | 2006-09-12 04:27:08 | | 1539 | Australian_capital_cities | Sydney | 2006-09-12 04:27:41 | | 1539 | Cities_in_New_South_Wales | Sydney | 2006-09-12 04:27:41 | | 1539 | Metropolitan_areas_of_Australia | Sydney | 2006-09-12 04:27:41 | | 1540 | Fake | '); alert('Ownage'); (' | 2006-09-12 05:41:25 | | 1541 | Fake | "onmouseover=alert(123); | 2006-09-12 05:44:42 | | 1542 | Fake | '); alert('Ownage'); (' | 2006-09-12 05:46:35 | +---------+---------------------------------+--------------------------+---------------------+ 16 rows in set (0.00 sec) ====================================
... and here it is as an ASCII diagram: [cheers Tels!] ====================================
+---------------------------+ | Cities_in_New_South_Wales | +---------------------------+ | | v +---------------------------+ +---------------------------+ +---------------------------------+ | Australian_capital_cities | --> | | --> | Main Page | +---------------------------+ | Sydney | +---------------------------------+ +---------------------------+ | | +---------------------------------+ | Australian_media | --> | | <-- | Metropolitan_areas_of_Australia | +---------------------------+ +---------------------------+ +---------------------------------+ | | v +---------------------------+ +---------------------------+ +---------------------------------+ +---------+ +> | Blog | -+ | Culture of Sydney | | Fish | --> | Animial | | +---------------------------+ | +---------------------------+ +---------------------------------+ +---------+ | | | ^ | | +--------------------------------------+ | v | +---------------------------+ +---------------------------+ +- | | --> | "onmouseover=alert(123); | | Fake | +---------------------------+ | | +---------------------------+ | | --> | '); alert('Ownage'); (' | +---------------------------+ +---------------------------+ | | v +---------------------------+ | '); alert('Ownage'); (' | +---------------------------+ +---------------------------+ +---------------------------+ +---------------------------------+ | Australian_culture | --> | Sydney culture | <-- | Culture_by_city | +---------------------------+ +---------------------------+ +---------------------------------+ +---------------------------+ +---------------------------+ | Sydney_culture | --> | Media in Sydney | +---------------------------+ +---------------------------+
====================================
In particular, note the circular "Blog" <--> "Fake" relationship (i.e. on this test wiki, Category:Blog has a subcategory Category:Fake, and Category:Fake has a subcategory Category:Blog).
Then taking fnSelectCategoryGetChildren() and fnSelectCategoryGetAllCategories(), and putting them into a separate command line test script that calls them, and running that, confirmed the problem:
================================ root@bling:/var/www/hosts/mediawiki/wiki/maintenance# php test-script-del.php
Fatal error: Maximum function nesting level of '100' reached, aborting! in /var/www/hosts/mediawiki/wiki/includes/LoadBalancer.php on line 404
Call Stack: 0.0006 111672 1. {main}() /var/www/hosts/mediawiki/wiki/maintenance/test-script-del.php:0 0.1017 7094816 2. fnSelectCategoryGetAllCategories() /var/www/hosts/mediawiki/wiki/maintenance/test-script-del.php:77 0.1248 8247608 3. fnSelectCategoryGetChildren() /var/www/hosts/mediawiki/wiki/maintenance/test-script-del.php:37 0.1251 8247920 4. fnSelectCategoryGetChildren() /var/www/hosts/mediawiki/wiki/maintenance/test-script-del.php:67 0.1254 8248520 5. fnSelectCategoryGetChildren() /var/www/hosts/mediawiki/wiki/maintenance/test-script-del.php:67 0.1257 8249120 6. fnSelectCategoryGetChildren() /var/www/hosts/mediawiki/wiki/maintenance/test-script-del.php:67 0.1260 8250008 7. fnSelectCategoryGetChildren() /var/www/hosts/mediawiki/wiki/maintenance/test-script-del.php:67 0.1263 8251744 8. fnSelectCategoryGetChildren() /var/www/hosts/mediawiki/wiki/maintenance/test-script-del.php:67 0.1266 8253840 9. fnSelectCategoryGetChildren() /var/www/hosts/mediawiki/wiki/maintenance/test-script-del.php:67 0.1270 8256072 10. fnSelectCategoryGetChildren() /var/www/hosts/mediawiki/wiki/maintenance/test-script-del.php:67
[ ... snip ... ]
0.1549 8450736 93. fnSelectCategoryGetChildren() /var/www/hosts/mediawiki/wiki/maintenance/test-script-del.php:67 0.1553 8452984 94. fnSelectCategoryGetChildren() /var/www/hosts/mediawiki/wiki/maintenance/test-script-del.php:67 0.1556 8455232 95. fnSelectCategoryGetChildren() /var/www/hosts/mediawiki/wiki/maintenance/test-script-del.php:67 0.1556 8455456 96. wfGetDB() /var/www/hosts/mediawiki/wiki/maintenance/test-script-del.php:52 0.1556 8455752 97. LoadBalancer->getConnection() /var/www/hosts/mediawiki/wiki/includes/GlobalFunctions.php:2054 0.1557 8456488 98. LoadBalancer->openConnection() /var/www/hosts/mediawiki/wiki/includes/LoadBalancer.php:364 0.1557 8456568 99. LoadBalancer->isOpen() /var/www/hosts/mediawiki/wiki/includes/LoadBalancer.php:381 root@bling:/var/www/hosts/mediawiki/wiki/maintenance# ================================
I.e. looks like if you've got circular categories, then you'll exhaust your stack or segfault by recursing infinitely.
The English Wikipedia definitely has circular categories, or at least it used to [indirectly, not directly - there was some talk about this a few months ago]. :-)
All the best, Nick.
Sorry, one more quick thing in SpecialCategoryFunctions.php :
Line 35: $m_place = editFormTextAfterWarn; Line 38: $m_place = uploadFormTextAfterSummary;
Probably mean something like this: * $m_place = "editFormTextAfterWarn"; * $m_place = editFormTextAfterWarn(); * Something else.
All the best, Nick.
Probably mean something like this:
- $m_place = "editFormTextAfterWarn";
- $m_place = editFormTextAfterWarn();
- Something else.
fixed that one, thanks.
On 11/30/06, Nick Jenkins nickpj@gmail.com wrote:
The English Wikipedia definitely has circular categories, or at least it used to [indirectly, not directly - there was some talk about this a few months ago]. :-)
I don't think anyone would complain if the developers announced that recursive categories were no longer supported, and would fail gracefully if attempted.
Steve
Hi Nick,
One small request, can we please have log messages describing the general intent and thinking behind a commit? e.g. svn commit --message="Adding the SelectCategory extension" SelectCategory ... or if you want to write an essay, chuck it in a text file (e.g. ../msg.txt ), and commit like so: svn commit --file ../msg.txt includes/File-You-Modified.php includes/Another-File-You-Modified.php RELEASE-NOTES
yes, I already learned that now ;-)
// $m_allCats = array_merge( array( $m_row['title'] => $m_prefix ), fnSelectCategoryGetChildren( $m_row['title'], ++$m_prefix ) );
... with this line commented out, will run without segfaulting, with it enabled will segfault.
you just got an old version - you're just pointing on some of the "major bugs" I'm refering to in the CHANGELOG of v0.2.
Pleas use 0.2 whereas the old version doesn't work correctly.
Greets,
Manuel
"Manuel Schneider" manuel.schneider@wikimedia.ch wrote in message news:200611292354.45509.manuel.schneider@wikimedia.ch...
well, it's me, as I'm known since 15 years in all kind of computing
fields,
including Wikipedia, MediaWiki and the IRC channels.
According to your user page at mediawiki.org (http://www.mediawiki.org/wiki/User:80686) you were born in 1981.
In which particular field were you known at the age of 10?
- Mark Clements (HappyDog)
In which particular field were you known at the age of 10?
In this age I weren't known anywhere. I started using this name (not knowing that it will later be used by Intel for all CPUs > Pentium) because I was young and stupid and found the naming scheme from Intel interesting ;-)
In these days I was mostly sitting around the old nice telnet chat of CCC in Berlin and made my first steps in computing and the later upcoming Internet.
wikitech-l@lists.wikimedia.org