If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

Fatal error: memcache is not installed or not configured correctly

VERIFIED FIXED

Status

mozilla.org Graveyard
Server Operations
--
critical
VERIFIED FIXED
8 years ago
3 years ago

People

(Reporter: stephend, Assigned: oremj)

Tracking

({regression})

Details

(URL)

(Reporter)

Description

8 years ago
STR:

1. As an approver/admin, load https://support-stage-new.mozilla.com/tiki-editpage.php?locale=en-US&page=%252AUpgrading%2520to%2520Firefox%25203.6 while logged in
2. Add a tag, save it
3. Approve the changes

Fatal error: Call to undefined function mb_ereg_replace() in /data/www/support-stage-new.mozilla.com/webroot/tiki-approve_staging_page.php  on line 107
(Reporter)

Comment 1

8 years ago
(I don't actually know if this is important; we might be only redirecting search, and not this part of SUMO, for 1.5.4/2.0 -- just filed for completeness.)
(Reporter)

Updated

8 years ago
Assignee: nobody → server-ops
Component: Knowledge Base Software → Server Operations
Product: support.mozilla.com → mozilla.org
QA Contact: kb-software → mrz
Target Milestone: 1.5.4 → ---
Version: unspecified → other
(Reporter)

Comment 2

8 years ago
IT: can we get you to install the php-mb library on that host?  Thanks!
Severity: blocker → major
Assignee: server-ops → justdave
Package php-mbstring-5.2.9-2.rhel5.i386 already installed and latest version
(Reporter)

Comment 4

8 years ago
(In reply to comment #3)
> Package php-mbstring-5.2.9-2.rhel5.i386 already installed and latest version

James/Paul ^^^
mb_ereg_replace is from the php-mbstring library. I'm not sure what else could cause it to fail. In this case I'd usually restart Apache--maybe that's worth a shot?
Apache has been restarted.
(Reporter)

Comment 7

8 years ago
(In reply to comment #6)
> Apache has been restarted.

I still see this error.
(Reporter)

Comment 8

8 years ago
Seeing a related error, maybe (same package?):

https://support-stage-new.mozilla.com/search.php?where=all&locale=en-US&qs=s&q=deleting+bookmarks&sa=Search

Fatal error: Call to undefined function mb_convert_encoding() in /data/www/support-stage-new.mozilla.com/webroot/search.php on line 68
Yes, Stephen, mb_convert_encoding() also comes from the php-mbstring library.

Dave, can you paste the output of running this from the CLI:

  php -r 'var_dump(function_exists("mb_convert_encoding"));'
  php -r 'var_dump(extension_loaded("mbstring"));'

And I wonder if it's possible |which php| could somehow not be the same installation as Apache is using?
(Reporter)

Updated

8 years ago
Severity: major → critical
[root@mradm02 ~]# /data/bin/issue-generic-command php -r '"var_dump(function_exists(''''mb_convert_encoding''''));"'
===pm-app-generic01===
bool(true)
===pm-app-generic02===
bool(true)
===pm-app-generic03===
bool(true)
===pm-app-generic04===
bool(true)
===pm-app-generic05===
bool(true)
===pm-app-generic06===
bool(true)
[root@mradm02 ~]# /data/bin/issue-generic-command php -r '"var_dump(extension_loaded(''''mbstring''''));"'
===pm-app-generic01===
bool(true)
===pm-app-generic02===
bool(true)
===pm-app-generic03===
bool(true)
===pm-app-generic04===
bool(true)
===pm-app-generic05===
bool(true)
===pm-app-generic06===
bool(true)
[root@mradm02 ~]# /data/bin/issue-generic-command which php
===pm-app-generic01===
/usr/bin/php
===pm-app-generic02===
/usr/bin/php
===pm-app-generic03===
/usr/bin/php
===pm-app-generic04===
/usr/bin/php
===pm-app-generic05===
/usr/bin/php
===pm-app-generic06===
/usr/bin/php
[root@mradm02 ~]# /data/bin/issue-generic-command locate bin/php
===pm-app-generic01===
/opt/hp/hpsmh/bin/php.ini
/usr/bin/php
/usr/bin/php-cgi
/usr/bin/php-config
/usr/bin/phpize
===pm-app-generic02===
/opt/hp/hpsmh/bin/php.ini
/usr/bin/php
/usr/bin/php-cgi
/usr/bin/php-config
/usr/bin/phpize
===pm-app-generic03===
/opt/hp/hpsmh/bin/php.ini
/usr/bin/php
/usr/bin/php-cgi
/usr/bin/php-config
/usr/bin/phpize
/usr/lib/debug/usr/bin/php-cgi.debug
/usr/lib/debug/usr/bin/php.debug
===pm-app-generic04===
/opt/hp/hpsmh/bin/php.ini
/usr/bin/php
/usr/bin/php-cgi
/usr/bin/php-config
/usr/bin/phpize
===pm-app-generic05===
/opt/hp/hpsmh/bin/php.ini
/usr/bin/php
/usr/bin/php-cgi
/usr/bin/php-config
/usr/bin/phpize
===pm-app-generic06===
/usr/bin/php
/usr/bin/php-cgi
/usr/bin/php-config
/usr/bin/phpize
/usr/lib/debug/usr/bin/php-cgi.debug
/usr/lib/debug/usr/bin/php.debug
[root@mradm02 ~]# /data/bin/issue-generic-command php --version
===pm-app-generic01===
PHP 5.2.9 (cli) (built: Jun 23 2009 14:49:15) 
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
    with eAccelerator v0.9.5.2, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
===pm-app-generic02===
PHP 5.2.9 (cli) (built: Jun 23 2009 14:49:15) 
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
    with eAccelerator v0.9.5.2, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
===pm-app-generic03===
PHP 5.2.9 (cli) (built: Jun 23 2009 14:49:15) 
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
    with eAccelerator v0.9.5.2, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
===pm-app-generic04===
PHP 5.2.9 (cli) (built: Jun 23 2009 14:49:15) 
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
    with eAccelerator v0.9.5.2, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
===pm-app-generic05===
PHP 5.2.9 (cli) (built: Jun 23 2009 14:49:15) 
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
    with eAccelerator v0.9.5.2, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
===pm-app-generic06===
PHP 5.2.9 (cli) (built: Jun 23 2009 14:49:15) 
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
    with eAccelerator v0.9.5.2, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
[root@mradm02 ~]# /data/bin/issue-generic-command rpm -qf /etc/httpd/modules/libphp5.so
===pm-app-generic01===
php-5.2.9-2.rhel5
===pm-app-generic02===
php-5.2.9-2.rhel5
===pm-app-generic03===
php-5.2.9-2.rhel5
===pm-app-generic04===
php-5.2.9-2.rhel5
===pm-app-generic05===
php-5.2.9-2.rhel5
===pm-app-generic06===
php-5.2.9-2.rhel5
Isn't support-stage-new on a VM, not on the generic cluster?
doh.  forgot we were talking about stage...

and the box I looked at the first time when I said it was installed already is apparently the wrong one.  It's staged on mrapp-stage04 rather than mrapp-stage02.

mrapp-stage04 does *not* have php-mbstring installed.  I'm installing it now.

I also notice it's using the upstream php 5.1.6 build rather than our internally-packaged 5.2.9.  Will that be an issue?
Installed:
  php-mbstring.x86_64 0:5.1.6-27.el5
(In reply to comment #16)
> Installed:
>   php-mbstring.x86_64 0:5.1.6-27.el5

I think PHP <5.2 may be an issue. There were a couple non-backwards-compatible changes in 5.2. Since we already have the 5.2.9 RPM, let's just use that.
This is still blocking us and QA. Any chance we can get this done sooner than later?
looking into it.
I got the rest of the packages upgraded except memcached.

Getting this error with it.

[root@mrapp-stage04 yum.repos.d]# yum -y --skip-broken install memcached-1.4.4-1.el5.rf
Loaded plugins: rhnplugin, security
Excluding Packages from Extra Packages for Enterprise Linux 5 - x86_64
Finished
Excluding Packages from Base git repository
Finished
Excluding Packages from Red Hat Enterprise 5Server - RPMforge.net - dag
Finished
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package memcached.x86_64 0:1.4.4-1.el5.rf set to be updated
--> Processing Dependency: libevent-1.1a.so.1()(64bit) for package: memcached
--> Finished Dependency Resolution
memcached-1.4.4-1.el5.rf.x86_64 from rpmforge has depsolving problems
  --> Missing Dependency: libevent-1.1a.so.1()(64bit) is needed by package memcached-1.4.4-1.el5.rf.x86_64 (rpmforge)

Packages skipped because of dependency problems:
    memcached-1.4.4-1.el5.rf.x86_64 from rpmforge
[root@mrapp-stage04 yum.repos.d]#
okay, removed nfs-utils and got memcached installed.
we are missing python 2.6 mod_wsgi pkgs, oremj is working on building them.
We narrowed this down to a bad memcache library on the system.  For now, I have disabled memcache within the application and it seems to be working okay.  This is the error I see when I run php on the command line.


[root@mrapp-stage04 db]# php
PHP Warning:  PHP Startup: memcache: Unable to initialize module
Module compiled with module API=20050922, debug=0, thread-safety=0
PHP    compiled with module API=20060613, debug=0, thread-safety=0
These options need to match
 in Unknown on line 0

I don't see this error on mrapp-stage02.
the nfs-utils/libevent conflict is a symptom of the system being in a partial state of upgrade -- half the packages are from RHEL 5.4 and half from RHEL 5.5.  Completing the RHEL 5.5 upgrade will make those errors go away.
Or in this case it actually looks like the memcached package is what's from RHEL 5.4.  But it's from rpmforge, and it doesn't look like they rebuilt it for 5.5 yet.
I rebuilt memcached 1.4.4 against the new libevent and dropped it in the mozilla repo.  It's been installed on mrapp-stage04, and nfs-utils is back as well (you can't mount network shares without that).
Can someone confirm if this is working now or not?
(Reporter)

Comment 28

8 years ago
(In reply to comment #27)
> Can someone confirm if this is working now or not?

Yes, this works now [1], though it times out nearly every time I try to approve article changes (different, bug, of course).

[1] https://support-stage-new.mozilla.com/tiki-pagehistory.php?locale=en-US&page=How%20to%20clear%20the%20cache
Resolved FIXED. Thanks Dave & Aravind. I'll let Stephen verify.
Status: NEW → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → FIXED
(Reporter)

Comment 30

8 years ago
Verified, per comment 28.
Status: RESOLVED → VERIFIED
Duplicate of this bug: 561208
This opens a pop-up and loads the JS:
https://support-stage.mozilla.com/en-US/forum/1?openpost=1
This doesn't:
https://support-stage-new.mozilla.com/en-US/forum/1?openpost=1

Logged in, here's the output I get at https://support-stage-new.mozilla.com/tiki-js-ask_a_question.php?locale=en-US:
---
<br />
<b>Fatal error</b>:  Call to a member function get() on a non-object in <b>/data/www/support-stage-new.mozilla.com/webroot/lib/cache/memcachelib.php</b> on line <b>86</b><br />
---

Probably php-memcache(d) is either still not installed properly or not configured correctly

MemcacheLib requires $memcached_servers and $memcached_options to be configured in webroot/db/local.php. Can we get some insight on this?


I didn't pay attention to this, so here's a good tip for QA when verifying: if memcache works, you will see something like this at the bottom of the page source (after </html>):
<!-- memcache sumo_fe8ad620ea653c44ba26af84b3301558-->

This is not present on stage-new AFAICT.
Assignee: justdave → server-ops
Status: VERIFIED → REOPENED
Resolution: FIXED → ---
Summary: Fatal error: call to undefined function mb_ereg_replace() when approving KB article edits → Fatal error: memcache is not installed or not configured correctly
We still php/memcache version compatibility issues.  Tossing this to Dave.
Assignee: server-ops → justdave
oh. and memcache is currently disabled in the app.
ok, turns out there's a newer version of php-pecl-memcache in rpmforge than the one we rebuilt against 5.2.9, and it's built against 5.1.6 (because that's what normally ships with RHEL).  Jeremy rebuilt it against 5.2.9 before, and volunteered to do so again, so over to him.
Assignee: justdave → jeremy.orem+bugs
(Assignee)

Updated

8 years ago
Status: REOPENED → RESOLVED
Last Resolved: 8 years ago8 years ago
Resolution: --- → FIXED
(Reporter)

Comment 36

8 years ago
Verified FIXED; ran through comment 0 again and didn't see the error.
Status: RESOLVED → VERIFIED
(Reporter)

Comment 37

8 years ago
Gotta reopen:

We're supposed to see something like:

"<!-- memcache sumo_fe8ad620ea653c44ba26af84b3301558-->" in the source of the homepage; we do on prod, but not on:

http://support-stage.mozilla.com/en-US/kb/
Status: VERIFIED → REOPENED
Resolution: FIXED → ---
(Reporter)

Comment 38

8 years ago
I meant http://support-stage-new.mozilla.com/, rather, sorry.  (Thanks, Paul!)
To clarify: if the package was rebuilt and installed OK, it may be a configuration issue. webroot/db/local.php should contain these details.

It looks like memcache was disabled at some point:
(In reply to comment #34)
> oh. and memcache is currently disabled in the app.

So I'm not sure if it was enabled yet.
(Assignee)

Comment 40

8 years ago
Just had to enable it in local.php
Status: REOPENED → RESOLVED
Last Resolved: 8 years ago8 years ago
Resolution: --- → FIXED
(Reporter)

Comment 41

8 years ago
Hrm; still don't see comment 37 on http://support-stage-new.mozilla.com/
(Assignee)

Comment 42

8 years ago
Weird, I am seeing it.
(Reporter)

Comment 43

8 years ago
(In reply to comment #42)
> Weird, I am seeing it.

I am now too; thanks.  And I still don't get errors.

Verified FIXED.
Status: RESOLVED → VERIFIED
Product: mozilla.org → mozilla.org Graveyard
You need to log in before you can comment on or make changes to this bug.