Page MenuHomePhabricator

Welterkj (Keith Welter)
User

Projects

User does not belong to any projects.

Today

  • No visible events.

Tomorrow

  • No visible events.

Tuesday

  • No visible events.

User Details

User Since
Oct 31 2014, 3:35 PM (580 w, 1 d)
Availability
Available
LDAP User
Unknown
MediaWiki User
Welterkj [ Global Accounts ]

Recent Activity

Mar 12 2018

Welterkj added a comment to T176594: Permit graph generation by users without upload permission.

I slept on it and I think going with @Samwilson's fix is best (not the hybrid solution I described in my last post). The hybrid would just add code complexity and less predictable behavior in the extension.

Mar 12 2018, 8:11 PM · Patch-For-Review, GraphViz, Genealogy
Welterkj added a comment to T176594: Permit graph generation by users without upload permission.

Drat, foiled again. My strategy was to create a graphUpdater group with the necessary permissions and add it on the fly to a user needing to upload a graph. However, I discovered you can't add a group to an anonymous user (my first test).

Mar 12 2018, 6:35 AM · Patch-For-Review, GraphViz, Genealogy
Welterkj added a comment to T176594: Permit graph generation by users without upload permission.

If $wgEmailConfirmToEdit (and $wgEmailAuthentication​) is true, is an anonymous user allowed to edit wikitext?

Mar 12 2018, 2:06 AM · Patch-For-Review, GraphViz, Genealogy

Mar 11 2018

Welterkj added a comment to T176594: Permit graph generation by users without upload permission.

My apologies. The fact that you went to the effort to code a fix after describing your "3rd solution" should have made it clear to me that the status quo was not acceptable.

Mar 11 2018, 9:04 PM · Patch-For-Review, GraphViz, Genealogy
Welterkj added a comment to T176594: Permit graph generation by users without upload permission.

As I got deeper into coding the "don't check for upload permission" change it got ugly. To be specific, UploadLocalFile::isUploadAllowedForTitle (GraphViz) currently calls UploadBase::verifyTitlePermissions (MediaWiki core) which checks whether the user can edit, upload and create the image AND if the user is allowed to overwrite an existing image. The overwrite check is done by calling the private method UploadBase::checkOverwrite. There is no way to bypass the upload permission check without also bypassing the overwrite check. The overwrite check looks very much like it should not be bypassed.

Mar 11 2018, 6:54 AM · Patch-For-Review, GraphViz, Genealogy

Mar 9 2018

Welterkj added a comment to T176594: Permit graph generation by users without upload permission.

I wrote a draft of the fix today and got an anonymous user to create a graph. I have to do some homework verifying correctness before I'm ready to check it in for review.

Mar 9 2018, 9:53 PM · Patch-For-Review, GraphViz, Genealogy

Mar 8 2018

Welterkj added a comment to T176594: Permit graph generation by users without upload permission.

No, my idea is to remove the restriction that graph editors must have upload permission.

Mar 8 2018, 10:49 PM · Patch-For-Review, GraphViz, Genealogy
Welterkj added a comment to T176594: Permit graph generation by users without upload permission.

Is this still an issue?

Mar 8 2018, 10:32 PM · Patch-For-Review, GraphViz, Genealogy

Feb 27 2018

Welterkj closed T187663: Unfreeze image-map packagist package as Resolved.
Feb 27 2018, 10:59 PM · ImageMap, Patch-For-Review
Welterkj added a comment to T187663: Unfreeze image-map packagist package.

The 1.24/1.25/1.26 branches are all EOL/dead, why does it matter if they don't update?

Feb 27 2018, 10:59 PM · ImageMap, Patch-For-Review

Feb 18 2018

Welterkj created T187663: Unfreeze image-map packagist package.
Feb 18 2018, 10:41 PM · ImageMap, Patch-For-Review

Jan 12 2018

Welterkj added a comment to T176594: Permit graph generation by users without upload permission.

Interesting. When I wrote GraphViz version 2.0.0 for MW 1.27 there was no page created in the "File" namespace for graph images but sure enough I see it on your MW 1.30 installation.

Jan 12 2018, 1:16 AM · Patch-For-Review, GraphViz, Genealogy

Jan 11 2018

Welterkj added a comment to T176594: Permit graph generation by users without upload permission.

GraphViz truly no longer performs uploads (i.e. creates file pages) since version 2.0.0. I'm puzzled that you say otherwise. Here is a tell-tale sign. Prior to version 2.0.0, a generated graph image would include a blue circle with an "i" inside in the lower right hand corner that would link to the file page associated with the graph. At version 2.0.0+, the little blue superimposed "info" icon is gone since there is no file page to link to.

Jan 11 2018, 8:39 PM · Patch-For-Review, GraphViz, Genealogy

Nov 27 2017

Welterkj added a comment to T173209: Convert GraphViz to use extension registration.

I am in agreement with @Samwilson with respect to the new version number, i.e. 2.1.1. However, the dependencies in composer.json do need to be updated so that installations with MW versions <= 1.28 do not automatically upgrade the GraphViz extension to an incompatible version. The version history needs to be updated as well. Sorry to make these comments here. I'll get them into gerrit when I have a little more time.

Nov 27 2017, 4:32 PM · Patch-For-Review, GraphViz

Nov 26 2017

Welterkj added a comment to T173209: Convert GraphViz to use extension registration.

@Samwilson, yes, I'd be very happy to have you as a co-maintainer! My apologies for slowing things down. I'm even rusty in gerrit and couldn't find a spot to add a code comment. My question is, what is the rationale for bumping the version all the way up to 3.0.0? Also, has anyone tested the extension with the full set of edits? If it still works I will quickly get out of the way :)

Nov 26 2017, 9:54 PM · Patch-For-Review, GraphViz

Apr 17 2017

Welterkj added a comment to T163103: Graph URLs all point to the first-defined link.

@Samwilson, please review the change. If you could also confirm that it still satisfies your T151294 test case (but with multiple links) that would be great. Thanks.

Apr 17 2017, 8:14 PM · Patch-For-Review, GraphViz
Welterkj added a comment to T163103: Graph URLs all point to the first-defined link.

When I comment-out the code added in T151294, this problem goes away.

Apr 17 2017, 5:12 PM · Patch-For-Review, GraphViz

Mar 28 2017

Welterkj added a comment to T100795: GraphViz repeatedly reuploads GraphVizExtensionDummy dot files.

The recursive parse exception is due to an interaction with the
SpamBlacklist extension and the UploadVerifyFile hook. Since GraphViz no
longer creates a file page there is no wiki text for the SpamBlacklist
extension (or any other to examine). The only reliable way to prevent this
exception is for the custom GraphViz upload code to not call the
UploadVerifyFile hook. I've updated the patch accordingly.

Mar 28 2017, 12:00 AM · Patch-For-Review, GraphViz

Mar 26 2017

Welterkj added a comment to T100795: GraphViz repeatedly reuploads GraphVizExtensionDummy dot files.

There shouldn't be any recursive calls to Parser::parse. Can you provide
the exception traceback and the wikitext?

Mar 26 2017, 5:08 PM · Patch-For-Review, GraphViz

Mar 24 2017

Welterkj added a comment to T100795: GraphViz repeatedly reuploads GraphVizExtensionDummy dot files.

I switched to 1.28, recreated the problem and updated the patch to address it. Please try again.

Mar 24 2017, 8:22 PM · Patch-For-Review, GraphViz

Mar 23 2017

Welterkj added a comment to T100795: GraphViz repeatedly reuploads GraphVizExtensionDummy dot files.

Please try the provided patch set and let me know if the redesign solves your problem.

Mar 23 2017, 8:03 PM · Patch-For-Review, GraphViz

Mar 10 2017

Welterkj added a comment to T100795: GraphViz repeatedly reuploads GraphVizExtensionDummy dot files.

I've written a fix that is actually a design change. The fix performs the upload of graph or message sequence chart images without creating a file page. This approach eliminates the need for dummy file pages and other awkward techniques. Creation of these file pages may be considered a feature of the extension that will be lost. On balance, they seem to have caused more pain than good (both in the implementation and in the user community) and I now think it is best to abandon that feature. The fix needs some cleanup and additional testing so stay tuned.

Mar 10 2017, 7:19 PM · Patch-For-Review, GraphViz

Dec 20 2016

Welterkj added a comment to T151294: GraphViz double-encodes entities in URLs.

Thanks for reporting!

Dec 20 2016, 7:09 PM · Patch-For-Review, GraphViz

May 29 2015

Welterkj closed T89325: PHP Fatal error with GraphViz extension as Resolved.
May 29 2015, 6:43 PM · Patch-For-Review, GraphViz
Welterkj added a comment to T89325: PHP Fatal error with GraphViz extension.

The warnings you see are the result of the fix for T98500. In retrospect, it would have been nice to include a configuration option to suppress warnings. Feel free to open a ticket for that.

May 29 2015, 6:43 PM · Patch-For-Review, GraphViz

May 13 2015

Welterkj added a comment to T89325: PHP Fatal error with GraphViz extension.

Hi Prod, please try the latest dev-master version of GraphViz:
php composer.phar require mediawiki/graph-viz 'dev-master'

May 13 2015, 6:31 PM · Patch-For-Review, GraphViz

May 7 2015

Welterkj closed T98500: GraphViz: DOT syntax warnings not displayed as Resolved.
May 7 2015, 5:46 PM · Patch-For-Review, GraphViz
Welterkj created T98500: GraphViz: DOT syntax warnings not displayed.
May 7 2015, 5:32 PM · Patch-For-Review, GraphViz
Welterkj closed T97603: files leaked in graphviz/images directory as Resolved.
May 7 2015, 5:21 PM · Patch-For-Review, GraphViz
Welterkj closed T97603: files leaked in graphviz/images directory, a subtask of T89325: PHP Fatal error with GraphViz extension, as Resolved.
May 7 2015, 5:21 PM · Patch-For-Review, GraphViz

Apr 29 2015

Welterkj created T97603: files leaked in graphviz/images directory.
Apr 29 2015, 11:04 PM · Patch-For-Review, GraphViz
Welterkj closed T97596: New graphs do not display properly for edit previews as Resolved.
Apr 29 2015, 10:41 PM · Patch-For-Review, GraphViz
Welterkj closed T97596: New graphs do not display properly for edit previews, a subtask of T89325: PHP Fatal error with GraphViz extension, as Resolved.
Apr 29 2015, 10:41 PM · Patch-For-Review, GraphViz
Welterkj created T97596: New graphs do not display properly for edit previews.
Apr 29 2015, 10:21 PM · Patch-For-Review, GraphViz
Welterkj added a comment to T89325: PHP Fatal error with GraphViz extension.

Please try the new patch. I found additional problems when doing edit->show preview (the graph doesn't display properly) but I wanted to first deliver the patch for fixing the fread warning.

Apr 29 2015, 8:07 PM · Patch-For-Review, GraphViz

Apr 12 2015

Welterkj added a comment to T89325: PHP Fatal error with GraphViz extension.
Apr 12 2015, 7:54 PM · Patch-For-Review, GraphViz
Welterkj added a comment to T89325: PHP Fatal error with GraphViz extension.

GraphViz::render: sourceChanged: 1
GraphViz::updateSource: file_put_contents(/home/welterkj/public_html/mediawiki/git/core/images/graphviz/Graphviz4_digraph_test_Welterkj.src,source) succeeded
wfShellExec: /bin/bash '/home/welterkj/public_html/mediawiki/git/core/includes/limit.sh' ''\''/usr/bin/dot'\'' -T '\''png'\'' -o '\''/home/welterkj/public_html/mediawiki/git/core/images/graphviz/images/Graphviz4_digraph_test_Welterkj_dot.png'\'' '\''/home/welterkj/public_html/mediawiki/git/core/images/graphviz/Graphviz4_digraph_test_Welterkj.src'\'' 2>&1' 'MW_INCLUDE_STDERR=;MW_CPU_LIMIT=180; MW_CGROUP='\'''\''; MW_MEM_LIMIT=0; MW_FILE_SIZE_LIMIT=102400; MW_WALL_CLOCK_LIMIT=180; MW_USE_LOG_PIPE=yes'
[error-json] {"id":"26d72684","type":"ErrorException","file":"/home/welterkj/public_html/mediawiki/git/core/includes/GlobalFunctions.php","line":2894,"message":"PHP Notice: ","suppressed":true,"url":"/wdev/index.php?title=Graphviz4&action=submit","backtrace":[{"function":"handleError","class":"MWExceptionHandler","type":"::","args":["integer","string","string","integer","array"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/GlobalFunctions.php","line":2894,"function":"trigger_error","args":["string"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/extensions/GraphViz/GraphViz_body.php","line":1429,"function":"wfShellExec","args":["string","NULL"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/extensions/GraphViz/GraphViz_body.php","line":1079,"function":"executeCommand","class":"GraphViz","type":"::","args":["string","string"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/extensions/GraphViz/GraphViz_body.php","line":782,"function":"render","class":"GraphViz","type":"::","args":["string","array","Parser","PPFrame_DOM"]},{"function":"graphvizParserHook","class":"GraphViz","type":"::","args":["string","array","Parser","PPFrame_DOM"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/parser/Parser.php","line":4209,"function":"call_user_func_array","args":["array","array"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/parser/Preprocessor_DOM.php","line":1252,"function":"extensionSubstitution","class":"Parser","type":"->","args":["array","PPFrame_DOM"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/parser/Parser.php","line":3319,"function":"expand","class":"PPFrame_DOM","type":"->","args":["PPNode_DOM","integer"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/parser/Parser.php","line":1228,"function":"replaceVariables","class":"Parser","type":"->","args":["string"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/parser/Parser.php","line":431,"function":"internalParse","class":"Parser","type":"->","args":["string"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/content/WikitextContent.php","line":333,"function":"parse","class":"Parser","type":"->","args":["string","Title","ParserOptions","boolean","boolean","NULL"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/content/AbstractContent.php","line":497,"function":"fillParserOutput","class":"WikitextContent","type":"->","args":["Title","NULL","ParserOptions","boolean","ParserOutput"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/EditPage.php","line":3522,"function":"getParserOutput","class":"AbstractContent","type":"->","args":["Title","NULL","ParserOptions"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/EditPage.php","line":2320,"function":"getPreviewText","class":"EditPage","type":"->","args":[]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/EditPage.php","line":560,"function":"showEditForm","class":"EditPage","type":"->","args":[]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/actions/EditAction.php","line":56,"function":"edit","class":"EditPage","type":"->","args":[]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/actions/SubmitAction.php","line":40,"function":"show","class":"EditAction","type":"->","args":[]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/MediaWiki.php","line":403,"function":"show","class":"SubmitAction","type":"->","args":[]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/MediaWiki.php","line":275,"function":"performAction","class":"MediaWiki","type":"->","args":["Article","Title"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/MediaWiki.php","line":571,"function":"performRequest","class":"MediaWiki","type":"->","args":[]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/MediaWiki.php","line":422,"function":"main","class":"MediaWiki","type":"->","args":[]},{"file":"/home/welterkj/public_html/mediawiki/git/core/index.php","line":46,"function":"run","class":"MediaWiki","type":"->","args":[]}]}
FSFile::getProps: Getting file info for /home/welterkj/public_html/mediawiki/git/core/images/graphviz/images/Graphviz4_digraph_test_Welterkj_dot.png
MimeMagic::doGuessMimeType: analyzing head and tail of /home/welterkj/public_html/mediawiki/git/core/images/graphviz/images/Graphviz4_digraph_test_Welterkj_dot.png for magic numbers.
MimeMagic::doGuessMimeType: getimagesize detected /home/welterkj/public_html/mediawiki/git/core/images/graphviz/images/Graphviz4_digraph_test_Welterkj_dot.png as image/png
MimeMagic::guessMimeType: guessed mime type of /home/welterkj/public_html/mediawiki/git/core/images/graphviz/images/Graphviz4_digraph_test_Welterkj_dot.png: image/png
MimeMagic::improveTypeFromExtension: improved mime type for .png: image/png
FSFile::getProps: /home/welterkj/public_html/mediawiki/git/core/images/graphviz/images/Graphviz4_digraph_test_Welterkj_dot.png loaded, 3395 bytes, image/png.
mime: <image/png> extension: <png>
UploadBase::detectScript: checking for embedded scripts and HTML stuff
UploadBase::detectScript: no scripts found
ZipDirectoryReader: Fatal error: zip file lacks EOCDR signature. It probably isn't a zip file.
UploadBase::detectVirus: virus scanner disabled
FSFile::getProps: Getting file info for /home/welterkj/public_html/mediawiki/git/core/images/graphviz/images/Graphviz4_digraph_test_Welterkj_dot.png
MimeMagic::doGuessMimeType: analyzing head and tail of /home/welterkj/public_html/mediawiki/git/core/images/graphviz/images/Graphviz4_digraph_test_Welterkj_dot.png for magic numbers.
MimeMagic::doGuessMimeType: getimagesize detected /home/welterkj/public_html/mediawiki/git/core/images/graphviz/images/Graphviz4_digraph_test_Welterkj_dot.png as image/png
MimeMagic::guessMimeType: guessed mime type of /home/welterkj/public_html/mediawiki/git/core/images/graphviz/images/Graphviz4_digraph_test_Welterkj_dot.png: image/png
MimeMagic::improveTypeFromExtension: improved mime type for .png: image/png
FSFile::getProps: /home/welterkj/public_html/mediawiki/git/core/images/graphviz/images/Graphviz4_digraph_test_Welterkj_dot.png loaded, 3395 bytes, image/png.
UploadBase::verifyExtension: mime type image/png matches extension png, passing file
UploadBase::verifyFile: all clear; passing.
wfShellExec: /bin/bash '/home/welterkj/public_html/mediawiki/git/core/includes/limit.sh' ''\''/usr/bin/dot'\'' -T '\''cmapx'\'' -o '\''/home/welterkj/public_html/mediawiki/git/core/images/graphviz/Graphviz4_digraph_test_Welterkj_dot.map'\'' '\''/home/welterkj/public_html/mediawiki/git/core/images/graphviz/Graphviz4_digraph_test_Welterkj.src'\'' 2>&1' 'MW_INCLUDE_STDERR=;MW_CPU_LIMIT=180; MW_CGROUP='\'''\''; MW_MEM_LIMIT=0; MW_FILE_SIZE_LIMIT=102400; MW_WALL_CLOCK_LIMIT=180; MW_USE_LOG_PIPE=yes'
[error-json] {"id":"5e8a874c","type":"ErrorException","file":"/home/welterkj/public_html/mediawiki/git/core/includes/GlobalFunctions.php","line":2894,"message":"PHP Notice: ","suppressed":true,"url":"/wdev/index.php?title=Graphviz4&action=submit","backtrace":[{"function":"handleError","class":"MWExceptionHandler","type":"::","args":["integer","string","string","integer","array"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/GlobalFunctions.php","line":2894,"function":"trigger_error","args":["string"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/extensions/GraphViz/GraphViz_body.php","line":1429,"function":"wfShellExec","args":["string","NULL"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/extensions/GraphViz/GraphViz_body.php","line":1105,"function":"executeCommand","class":"GraphViz","type":"::","args":["string","string"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/extensions/GraphViz/GraphViz_body.php","line":782,"function":"render","class":"GraphViz","type":"::","args":["string","array","Parser","PPFrame_DOM"]},{"function":"graphvizParserHook","class":"GraphViz","type":"::","args":["string","array","Parser","PPFrame_DOM"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/parser/Parser.php","line":4209,"function":"call_user_func_array","args":["array","array"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/parser/Preprocessor_DOM.php","line":1252,"function":"extensionSubstitution","class":"Parser","type":"->","args":["array","PPFrame_DOM"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/parser/Parser.php","line":3319,"function":"expand","class":"PPFrame_DOM","type":"->","args":["PPNode_DOM","integer"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/parser/Parser.php","line":1228,"function":"replaceVariables","class":"Parser","type":"->","args":["string"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/parser/Parser.php","line":431,"function":"internalParse","class":"Parser","type":"->","args":["string"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/content/WikitextContent.php","line":333,"function":"parse","class":"Parser","type":"->","args":["string","Title","ParserOptions","boolean","boolean","NULL"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/content/AbstractContent.php","line":497,"function":"fillParserOutput","class":"WikitextContent","type":"->","args":["Title","NULL","ParserOptions","boolean","ParserOutput"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/EditPage.php","line":3522,"function":"getParserOutput","class":"AbstractContent","type":"->","args":["Title","NULL","ParserOptions"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/EditPage.php","line":2320,"function":"getPreviewText","class":"EditPage","type":"->","args":[]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/EditPage.php","line":560,"function":"showEditForm","class":"EditPage","type":"->","args":[]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/actions/EditAction.php","line":56,"function":"edit","class":"EditPage","type":"->","args":[]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/actions/SubmitAction.php","line":40,"function":"show","class":"EditAction","type":"->","args":[]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/MediaWiki.php","line":403,"function":"show","class":"SubmitAction","type":"->","args":[]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/MediaWiki.php","line":275,"function":"performAction","class":"MediaWiki","type":"->","args":["Article","Title"]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/MediaWiki.php","line":571,"function":"performRequest","class":"MediaWiki","type":"->","args":[]},{"file":"/home/welterkj/public_html/mediawiki/git/core/includes/MediaWiki.php","line":422,"function":"main","class":"MediaWiki","type":"->","args":[]},{"file":"/home/welterkj/public_html/mediawiki/git/core/index.php","line":46,"function":"run","class":"MediaWiki","type":"->","args":[]}]}
GraphViz::render: Graphviz4 digraph test Welterkj dot.png does not exist
GraphViz::render: copying /home/welterkj/public_html/mediawiki/git/core/images/graphviz/images/Graphviz4_digraph_test_Welterkj_dot.png to /home/welterkj/public_html/mediawiki/git/core/images/graphviz/images/File_graph_GraphVizExtensionDummy_dot.png
GraphViz::disableHooks: hooks disabled
FSFile::getProps: Getting file info for /home/welterkj/public_html/mediawiki/git/core/images/graphviz/images/File_graph_GraphVizExtensionDummy_dot.png
[error] [b39f8b15] /wdev/index.php?title=Graphviz4&action=submit ErrorException from line 646 of /home/welterkj/public_html/mediawiki/git/core/includes/MimeMagic.php: PHP Warning: fread(): Length parameter must be greater than 0
#0 [internal function]: MWExceptionHandler::handleError(2, 'fread(): Length...', '/home/welterkj/...', 646, Array)
#1 /home/welterkj/public_html/mediawiki/git/core/includes/MimeMagic.php(646): fread(Resource id #107, 0)
#2 /home/welterkj/public_html/mediawiki/git/core/includes/MimeMagic.php(602): MimeMagic->doGuessMimeType('/home/welterkj/...', false)
#3 /home/welterkj/public_html/mediawiki/git/core/includes/filebackend/FSFile.php(94): MimeMagic->guessMimeType('/home/welterkj/...', false)
#4 /home/welterkj/public_html/mediawiki/git/core/includes/filebackend/FSFile.php(121): FSFile->getMimeType()
#5 /home/welterkj/public_html/mediawiki/git/core/includes/filebackend/FSFile.php(241): FSFile->getProps(true)
#6 /home/welterkj/public_html/mediawiki/git/core/includes/filerepo/file/LocalFile.php(1130): FSFile::getPropsFromPath('/home/welterkj/...')
#7 /home/welterkj/public_html/mediawiki/git/core/includes/upload/UploadBase.php(715): LocalFile->upload('/home/welterkj/...', 'generated by th...', '[[Category:Grap...', 1, NULL, false, Object(User))
#8 /home/welterkj/public_html/mediawiki/git/core/extensions/GraphViz/UploadLocalFile.php(238): UploadBase->performUpload('generated by th...', '[[Category:Grap...', false, Object(User))
#9 /home/welterkj/public_html/mediawiki/git/core/extensions/GraphViz/GraphViz_body.php(1193): UploadLocalFile::upload('File_graph_Grap...', '/home/welterkj/...', Object(User), 'generated by th...', '[[Category:Grap...', false, true)
#10 /home/welterkj/public_html/mediawiki/git/core/extensions/GraphViz/GraphViz_body.php(782): GraphViz::render('?digraph test {...', Array, Object(Parser), Object(PPFrame_DOM))
#11 [internal function]: GraphViz::graphvizParserHook('?digraph test {...', Array, Object(Parser), Object(PPFrame_DOM))
#12 /home/welterkj/public_html/mediawiki/git/core/includes/parser/Parser.php(4209): call_user_func_array(Array, Array)
#13 /home/welterkj/public_html/mediawiki/git/core/includes/parser/Preprocessor_DOM.php(1252): Parser->extensionSubstitution(Array, Object(PPFrame_DOM))
#14 /home/welterkj/public_html/mediawiki/git/core/includes/parser/Parser.php(3319): PPFrame_DOM->expand(Object(PPNode_DOM), 0)
#15 /home/welterkj/public_html/mediawiki/git/core/includes/parser/Parser.php(1228): Parser->replaceVariables('<graphviz>?digr...')
#16 /home/welterkj/public_html/mediawiki/git/core/includes/parser/Parser.php(431): Parser->internalParse('<graphviz>?digr...')
#17 /home/welterkj/public_html/mediawiki/git/core/includes/content/WikitextContent.php(333): Parser->parse('<graphviz>?digr...', Object(Title), Object(ParserOptions), true, true, NULL)
#18 /home/welterkj/public_html/mediawiki/git/core/includes/content/AbstractContent.php(497): WikitextContent->fillParserOutput(Object(Title), NULL, Object(ParserOptions), true, Object(ParserOutput))
#19 /home/welterkj/public_html/mediawiki/git/core/includes/EditPage.php(3522): AbstractContent->getParserOutput(Object(Title), NULL, Object(ParserOptions))
#20 /home/welterkj/public_html/mediawiki/git/core/includes/EditPage.php(2320): EditPage->getPreviewText()
#21 /home/welterkj/public_html/mediawiki/git/core/includes/EditPage.php(560): EditPage->showEditForm()
#22 /home/welterkj/public_html/mediawiki/git/core/includes/actions/EditAction.php(56): EditPage->edit()
#23 /home/welterkj/public_html/mediawiki/git/core/includes/actions/SubmitAction.php(40): EditAction->show()
#24 /home/welterkj/public_html/mediawiki/git/core/includes/MediaWiki.php(403): SubmitAction->show()
#25 /home/welterkj/public_html/mediawiki/git/core/includes/MediaWiki.php(275): MediaWiki->performAction(Object(Article), Object(Title))
#26 /home/welterkj/public_html/mediawiki/git/core/includes/MediaWiki.php(571): MediaWiki->performRequest()
#27 /home/welterkj/public_html/mediawiki/git/core/includes/MediaWiki.php(422): MediaWiki->main()
#28 /home/welterkj/public_html/mediawiki/git/core/index.php(46): MediaWiki->run()
#29 {main}

Apr 12 2015, 7:43 PM · Patch-For-Review, GraphViz
Welterkj added a comment to T89325: PHP Fatal error with GraphViz extension.

I reproduced the problem (with the debug log file disabled). Debug details to follow (from the debug toolbar).

Apr 12 2015, 7:41 PM · Patch-For-Review, GraphViz

Apr 11 2015

Welterkj added a comment to T89325: PHP Fatal error with GraphViz extension.

Prod, I was unable to reproduce the problem but I merged a fix that may fix the problem. Can you try it?

Apr 11 2015, 4:25 PM · Patch-For-Review, GraphViz
Welterkj added a comment to T94795: Support ImageMap extension in OCG bundler & renderer.

Note that GraphViz emits markup with typeof="mw:Extension/graphviz" and typeof="mw:Extension/mscgen". So, even though GraphViz uses ImageMap for generating HTML output, making the OCG bundler and renderer recognize mw:Extension/imagemap won't help GraphViz.

Apr 11 2015, 1:58 PM · OCG-PDFRenderer, OCG-General, ImageMap, GraphViz
Welterkj renamed T94795: Support ImageMap extension in OCG bundler & renderer from Support GraphViz extension in OCG bundler & renderer to Support ImageMap extension in OCG bundler & renderer.
Apr 11 2015, 1:00 PM · OCG-PDFRenderer, OCG-General, ImageMap, GraphViz
Welterkj renamed T94793: Support ImageMap extension in Parsoid from Support GraphViz extension in Parsoid. to Support ImageMap extension in Parsoid..
Apr 11 2015, 12:55 PM · Parsoid-Rendering, Parsing-Active-Work, Parsoid
Welterkj updated the task description for T94793: Support ImageMap extension in Parsoid.
Apr 11 2015, 12:53 PM · Parsoid-Rendering, Parsing-Active-Work, Parsoid

Apr 10 2015

Welterkj renamed T94795: Support ImageMap extension in OCG bundler & renderer from Support ImageMap extension in OCG bundler & renderer to Support GraphViz extension in OCG bundler & renderer.
Apr 10 2015, 11:10 PM · OCG-PDFRenderer, OCG-General, ImageMap, GraphViz
Welterkj added a comment to T94793: Support ImageMap extension in Parsoid.

Oops. The original description was correct so I restored it.

Apr 10 2015, 11:06 PM · Parsoid-Rendering, Parsing-Active-Work, Parsoid
Welterkj renamed T94793: Support ImageMap extension in Parsoid from Support ImageMap extension in Parsoid. to Support GraphViz extension in Parsoid..
Apr 10 2015, 11:03 PM · Parsoid-Rendering, Parsing-Active-Work, Parsoid
Welterkj added a comment to T94793: Support ImageMap extension in Parsoid.

Graph images rendered by the GraphViz extension (and ImageMap) appear as non-editable images in VE when editing. In other words, the behavior of the extensions in VE is what I would expect/hope for.

Apr 10 2015, 10:36 PM · Parsoid-Rendering, Parsing-Active-Work, Parsoid

Feb 12 2015

Welterkj added a comment to T89325: PHP Fatal error with GraphViz extension.

Can you recreate the problem? A debug log file would help put the problem in context:
https://www.mediawiki.org/wiki/Manual:How_to_debug#Setting_up_a_debug_log_file

Feb 12 2015, 4:08 PM · Patch-For-Review, GraphViz

Jan 26 2015

Welterkj closed T75073: GraphViz and MscGen Graphics produce errors and do not render properly when page saved as Resolved.
Jan 26 2015, 10:45 PM · GraphViz, Patch-For-Review, Browser-Support-Firefox
Welterkj added a comment to T75073: GraphViz and MscGen Graphics produce errors and do not render properly when page saved.

Regarding SRF process format, see:
https://github.com/SemanticMediaWiki/SemanticResultFormats/issues/49

Jan 26 2015, 10:45 PM · GraphViz, Patch-For-Review, Browser-Support-Firefox

Jan 15 2015

Welterkj added a comment to T75073: GraphViz and MscGen Graphics produce errors and do not render properly when page saved.

Hi, I merged a change for the unstub issue. Please try the fix again (same procedure as T75073#977379).

Jan 15 2015, 10:33 PM · GraphViz, Patch-For-Review, Browser-Support-Firefox

Jan 14 2015

Welterkj added a comment to T75073: GraphViz and MscGen Graphics produce errors and do not render properly when page saved.

I merged a fix for the problem that occurs at MW 1.25alpha. Thanks for reporting this. Please delete your extensions/Graphviz directory, re-install via composer (composer require mediawiki/graph-viz 'dev-master') and confirm that the issue is resolved for you.

Jan 14 2015, 9:48 PM · GraphViz, Patch-For-Review, Browser-Support-Firefox
Welterkj added a comment to T75073: GraphViz and MscGen Graphics produce errors and do not render properly when page saved.

I recreated the problem on MW 1.25alpha. Here is the backtrace:

Jan 14 2015, 9:19 PM · GraphViz, Patch-For-Review, Browser-Support-Firefox

Jan 8 2015

Welterkj added a comment to T75073: GraphViz and MscGen Graphics produce errors and do not render properly when page saved.

On the MW installation where you still see errors, please confirm that version 1.5.1 appears for GraphViz on the Special:Version page. Also, did you restart your web server after updating the extension? If not, a PHP accelerator like APC might have yielded an old version of the extension.

Jan 8 2015, 9:26 PM · GraphViz, Patch-For-Review, Browser-Support-Firefox

Dec 22 2014

Welterkj added a comment to T75073: GraphViz and MscGen Graphics produce errors and do not render properly when page saved.

@Temptuousinsolence, if you haven't already, could you install the fix via composer and confirm that it works? If so, I will release the version and close this task. Thanks!

Dec 22 2014, 4:57 PM · GraphViz, Patch-For-Review, Browser-Support-Firefox

Dec 18 2014

Welterkj added a comment to T76651: avoid Parser::parse recursion.

@tstarling, could you review this bug when you have a moment and share any more thoughts about refactoring the Parser to avoid the recursion seen in T75073#763545?

Dec 18 2014, 5:01 PM · MediaWiki-Parser
Welterkj renamed T76651: avoid Parser::parse recursion from Make Parser::parse handle recursion better (throw exception or tolerate it) to avoid Parser::parse recursion.
Dec 18 2014, 4:51 PM · MediaWiki-Parser
Welterkj updated subscribers of T76651: avoid Parser::parse recursion.

I noticed that Parser::lock() now throws an exception in the case of Parser::parse recursion. So now my only interest is eliminating Parser::parse recursion that arises from WikitTextContent usage of wgParser.

Dec 18 2014, 4:50 PM · MediaWiki-Parser

Dec 17 2014

Welterkj removed a project from T75073: GraphViz and MscGen Graphics produce errors and do not render properly when page saved: MediaWiki-extensions-Other.
Dec 17 2014, 4:34 PM · GraphViz, Patch-For-Review, Browser-Support-Firefox

Dec 16 2014

Welterkj added a project to T69587: GraphViz extension: updating DOT code does not lead to new diagram: GraphViz.
Dec 16 2014, 9:35 PM · GraphViz
Welterkj removed projects from T69587: GraphViz extension: updating DOT code does not lead to new diagram: MediaWiki-extensions-Other, Browser-Support-Firefox.
Dec 16 2014, 9:34 PM · GraphViz
Welterkj edited projects for T74325: GraphViz: Warning: creating default object from empty value, added: GraphViz; removed MediaWiki-extensions-Other.
Dec 16 2014, 9:32 PM · GraphViz

Dec 15 2014

Welterkj added a comment to T75073: GraphViz and MscGen Graphics produce errors and do not render properly when page saved.

Fix available in dev-master:

Dec 15 2014, 11:18 PM · GraphViz, Patch-For-Review, Browser-Support-Firefox

Dec 11 2014

Welterkj added a comment to T78332: Create project for GraphViz extension.

Sure

Dec 11 2014, 9:41 PM · GraphViz, Project-Admins
Welterkj created T78332: Create project for GraphViz extension.
Dec 11 2014, 8:48 PM · GraphViz, Project-Admins

Dec 10 2014

Welterkj added a comment to T76651: avoid Parser::parse recursion.

A trivial test using WikitextContent::getParser copied from MessageCache::getParser worked (replaced all instances of $wgParser in WikitextContent with getParser calls). It resolved the problem in T75073 and did not have any side effects I could see.

Dec 10 2014, 11:55 PM · MediaWiki-Parser

Dec 9 2014

Welterkj renamed T76651: avoid Parser::parse recursion from Make Parser::parse tolerate recursion to Make Parser::parse handle recursion better (throw exception or tolerate it).
Dec 9 2014, 10:16 PM · MediaWiki-Parser
Welterkj added a comment to T76651: avoid Parser::parse recursion.

@matmarex, thanks for the info about recursiveTagParse. The situation I'm grappling with is shown in the backtrace in T75073#763545. WikitextContent::getParserOutput called parser::parse in the midst of an ongoing parse due to the interoperation of two extensions (GraphViz and SMW). I'm fishing for a core improvement, if one can be found, because I don't love the solution I've written for GraphViz as described in T75073#798676 (I added you as a reviewer of that change in gerrit BTW).

Dec 9 2014, 10:15 PM · MediaWiki-Parser

Dec 8 2014

Welterkj closed T76996: Encoding issue in GraphViz extension as Declined.
Dec 8 2014, 3:43 PM · GraphViz
Welterkj added a comment to T76996: Encoding issue in GraphViz extension.

Here's an example that works:

Dec 8 2014, 3:43 PM · GraphViz
Welterkj added a comment to T76996: Encoding issue in GraphViz extension.

@Aklapper, please add a phab project for GraphViz. There is no external bug tracker. Thanks.

Dec 8 2014, 3:40 PM · GraphViz

Dec 3 2014

Welterkj added a comment to T75073: GraphViz and MscGen Graphics produce errors and do not render properly when page saved.

I created task T76651 to track my request to fix this issue in the core.

Dec 3 2014, 7:51 PM · GraphViz, Patch-For-Review, Browser-Support-Firefox
Welterkj created T76651: avoid Parser::parse recursion.
Dec 3 2014, 7:48 PM · MediaWiki-Parser

Dec 1 2014

Welterkj added a comment to T75073: GraphViz and MscGen Graphics produce errors and do not render properly when page saved.

I don't love the fix I currently have out for review. It disables all hooks while GraphViz is uploading a file. This solution brings the phrases "sledgehammer method" and "band-aid solution" to mind. However, I think it is safe enough for the time being to unblock GraphViz users that are eager for a fix while I investigate alternatives.

Dec 1 2014, 5:54 PM · GraphViz, Patch-For-Review, Browser-Support-Firefox

Nov 30 2014

Welterkj added a comment to T75073: GraphViz and MscGen Graphics produce errors and do not render properly when page saved.

I inquired on semediawiki-devel@lists.sourceforge.net about the consequences of disabling SMW hooks during the GraphViz upload. Here is the reply:

Nov 30 2014, 3:45 AM · GraphViz, Patch-For-Review, Browser-Support-Firefox

Nov 25 2014

Welterkj added a comment to T75073: GraphViz and MscGen Graphics produce errors and do not render properly when page saved.

If you don't mind, please add the diagnostic code I gave Nov. 14 to Parser.php in your mediawiki includes/parser directory (repeated here).

Nov 25 2014, 9:31 PM · GraphViz, Patch-For-Review, Browser-Support-Firefox