Page MenuHomePhabricator

SocialProfile broken - error 500 due to cache setup
Closed, InvalidPublic

Description

Attempting to install Extension:SocialProfile on mediawiki 1.29.1 results in internal error 500, I noticed that recently there were configuration changes to the extension registration; could that possibly be the reason why this is failing?

Event Timeline

The exact error after enabling the extension is that the PHP interpreter crashes (segmentation fault).
server logs:

End of script output before headers: index.php, referer: main website url

After disabling extensions, AbuseFilter is conflicting with this...

Which webserver software?
Which PHP version is this about?
Which PHP mode is used (e.g. PHP FastCGI)?
Which exacxt version of SocialProfile?

After disabling extensions, AbuseFilter is conflicting with this...

AbuseFilter is an extension so I don't understand this sentence.

64 bit Debian Linux running Apache 2.4.10
PHP 5.6.32 (cgi-fcgi)
SocialProfile version 1.13 (ede9c86) 02:46, 4 November 2017

What I mean is that enabling Extension:AbuseFilter and Extension:SocialProfile results in the above segmentation fault causing internal error 500.

Also... SocialProfile doesn't use extension registration.

Both work fine on my master wiki. What do you need to do to trigger the segfault you're seeing?

Its being converted to extension registration per T152865. The segfault/internal 500 error happens upon enabling the two extensions in question, are you running master branch of AbuseFilter and SocialProfile? Keeping either AbuseFilter or SocialProfile enabled is ok, but not both. This is for mediawiki 1.29.1.

I ran a strace command, It appears that the application crashes while trying to do a number of sequential INSERTs into the database. I have attached the output file.

What do you do to cause it? Just browse a page?

The problem looks to be related to using the database as a localisation cache. Nothing specific to AbuseFilter or SocialProfile, I guess they just tip things over the edge with the amount of extensions, and therefore the amount of strings trying to be imported

You might want to consider using localisation cache cdb files on disk

https://www.mediawiki.org/wiki/Manual:LocalisationCache

The 500 internal server error occurs if I simply try to visit the wiki website, it just instantly crashes. Disabling a few other extensions didn't help. Didn't install that many extensions

"that many"

I'd say quite a few, for sure.

stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/languages/i18n/en.json", {st_mode=S_IFREG|0644, st_size=299901, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/includes/api/i18n/en.json", {st_mode=S_IFREG|0644, st_size=189486, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/resources/lib/oojs-ui/i18n/en.json", {st_mode=S_IFREG|0644, st_size=1059, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/skins/MonoBook/i18n/en.json", {st_mode=S_IFREG|0644, st_size=379, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/skins/Vector/i18n/en.json", {st_mode=S_IFREG|0644, st_size=773, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/AbuseFilter/i18n/en.json", {st_mode=S_IFREG|0644, st_size=34377, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/ProtectSite/i18n/en.json", {st_mode=S_IFREG|0644, st_size=2074, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/ParserFunctions/i18n/en.json", {st_mode=S_IFREG|0644, st_size=1581, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/Renameuser/i18n/en.json", {st_mode=S_IFREG|0644, st_size=2289, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/TitleBlacklist/i18n/en.json", {st_mode=S_IFREG|0644, st_size=2962, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/WikiEditor/i18n/en.json", {st_mode=S_IFREG|0644, st_size=14865, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/UserMerge/i18n/en.json", {st_mode=S_IFREG|0644, st_size=1856, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/Nuke/i18n/en.json", {st_mode=S_IFREG|0644, st_size=1849, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/CheckUser/i18n/en.json", {st_mode=S_IFREG|0644, st_size=7164, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/MassMessage/i18n/en.json", {st_mode=S_IFREG|0644, st_size=9478, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/MediaWikiChat/i18n/en.json", {st_mode=S_IFREG|0644, st_size=5229, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/VoteNY/i18n/en.json", {st_mode=S_IFREG|0644, st_size=1699, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/Comments/i18n/en.json", {st_mode=S_IFREG|0644, st_size=5493, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/BlogPage/i18n/en.json", {st_mode=S_IFREG|0644, st_size=3986, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/StaffPowers/i18n/en.json", {st_mode=S_IFREG|0644, st_size=786, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/DisableAccount/i18n/en.json", {st_mode=S_IFREG|0644, st_size=966, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/SocialProfile/UserActivity/i18n/en.json", {st_mode=S_IFREG|0644, st_size=1297, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/MwEmbedSupport/i18n/en.json", {st_mode=S_IFREG|0644, st_size=131, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/MwEmbedSupport/MwEmbedModules/MwEmbedSupport/i18n/en.json", {st_mode=S_IFREG|0644, st_size=714, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/Echo/i18n/en.json", {st_mode=S_IFREG|0644, st_size=20778, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/WikiForum/i18n/en.json", {st_mode=S_IFREG|0644, st_size=6423, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/BatchUserRights/i18n/en.json", {st_mode=S_IFREG|0644, st_size=1291, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/LookupUser/i18n/en.json", {st_mode=S_IFREG|0644, st_size=1128, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/DeleteBatch.2054205/i18n/en.json", {st_mode=S_IFREG|0644, st_size=1643, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/Sudo/i18n/en.json", {st_mode=S_IFREG|0644, st_size=1231, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/Lockdown/i18n/en.json", {st_mode=S_IFREG|0644, st_size=114, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/SocialProfile/i18n/en.json", {st_mode=S_IFREG|0644, st_size=758, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/SocialProfile/UserBoard/i18n/en.json", {st_mode=S_IFREG|0644, st_size=4304, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/SocialProfile/UserProfile/i18n/en.json", {st_mode=S_IFREG|0644, st_size=15955, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/SocialProfile/UserRelationship/i18n/en.json", {st_mode=S_IFREG|0644, st_size=10608, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/SocialProfile/UserStats/i18n/en.json", {st_mode=S_IFREG|0644, st_size=5645, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/SocialProfile/UserGifts/i18n/en.json", {st_mode=S_IFREG|0644, st_size=4899, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/SocialProfile/SystemGifts/i18n/en.json", {st_mode=S_IFREG|0644, st_size=4355, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/TimedMediaHandler/i18n/en.json", {st_mode=S_IFREG|0644, st_size=11842, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/i18n/en.json", {st_mode=S_IFREG|0644, st_size=6002, ...}) = 0
stat("/home/hypoverse/vhosts/test._default/mediawiki-1.29.1/extensions/TimedMediaHandler/MwEmbedModules/TimedText/i18n/en.json", {st_mode=S_IFREG|0644, st_size=1026, ...}) = 0

I disabled extensions MassMessage, VoteNY, Comments, BlogPage and now the internal server error went away...any idea why this came to be? Everything is fine now.

The problem looks to be related to using the database as a localisation cache. Nothing specific to AbuseFilter or SocialProfile, I guess they just tip things over the edge with the amount of extensions, and therefore the amount of strings trying to be imported

You might want to consider using localisation cache cdb files on disk

https://www.mediawiki.org/wiki/Manual:LocalisationCache

^

Ok i'll look into getting cache set up properly

SpookyGhost8 claimed this task.
Aklapper renamed this task from SocialProfile broken - error 500 to SocialProfile broken - error 500 due to cache setup.Dec 3 2017, 2:33 PM
Aklapper changed the task status from Resolved to Invalid.

updating to mediawiki 1.29.2 and PHP 7.0 resolved all issues, including Extension:WikiForums also causing similar internal error upon upgrading mediawiki from mediawiki 1.29.1.