SMF Support > Server Performance and Configuration

CentOS6 - [abrt] full crash report

(1/2) > >>

CyberShadow:

I have been running SMF for a while quite happily (many thanks for everyones hard work with it), but I am now moving to an upgraded package. The main site appears to be running well, and I installed SMF with no problems (clean install, then importing the database).

However, in the last 24 hours I have had two notices from the server, which appear to point towards the SMF directory as the culprit...


--- Quote ---Duplicate check
=====


Common information
=====
package
-----
bind-utils-9.7.3-8.P3.el6_2.2

architecture
-----
x86_64

kernel
-----
2.6.32-71.el6.x86_64



Additional information
=====
uid
-----
10000

time
-----
1339675883

executable
-----
/usr/bin/host

component
-----
bind

reason
-----
Process /usr/bin/host was killed by signal 11 (SIGSEGV)

--- End quote ---

Firstly, is this really an issue with SMF?

Secondly, I have not completed setting up the forum yet (for example, the paths are not corrected). Would these cause the issue?

And, thirdly, can anyone point me in the direction of what this actually is? And, is it something that should worry me?

Thanks.

CoreISP:
This really has nothing to do with SMF at all.

CyberShadow:
Really? OK, thanks. The working directory listed at the end of the notification stated the SMF default directory.

Arantor:
I wouldn't be so hasty to declare SMF's innocence here.

SMF does call the host executable from time to time to perform hostname lookups:


--- Code: (Subs.php) ---function host_from_ip($ip)
{
global $modSettings;

if (($host = cache_get_data('hostlookup-' . $ip, 600)) !== null)
return $host;
$t = microtime();

// If we can't access nslookup/host, PHP 4.1.x might just crash.
if (@version_compare(PHP_VERSION, '4.2.0') == -1)
$host = false;

// Try the Linux host command, perhaps?
if (!isset($host) && (strpos(strtolower(PHP_OS), 'win') === false || strpos(strtolower(PHP_OS), 'darwin') !== false) && mt_rand(0, 1) == 1)
{
if (!isset($modSettings['host_to_dis']))
$test = @shell_exec('host -W 1 ' . @escapeshellarg($ip));
else
$test = @shell_exec('host ' . @escapeshellarg($ip));

// Did host say it didn't find anything?
if (strpos($test, 'not found') !== false)
$host = '';
// Invalid server option?
elseif ((strpos($test, 'invalid option') || strpos($test, 'Invalid query name 1')) && !isset($modSettings['host_to_dis']))
updateSettings(array('host_to_dis' => 1));
// Maybe it found something, after all?
elseif (preg_match('~\s([^\s]+?)\.\s~', $test, $match) == 1)
$host = $match[1];
}

// This is nslookup; usually only Windows, but possibly some Unix?
if (!isset($host) && strpos(strtolower(PHP_OS), 'win') !== false && strpos(strtolower(PHP_OS), 'darwin') === false && mt_rand(0, 1) == 1)
{
$test = @shell_exec('nslookup -timeout=1 ' . @escapeshellarg($ip));
if (strpos($test, 'Non-existent domain') !== false)
$host = '';
elseif (preg_match('~Name:\s+([^\s]+)~', $test, $match) == 1)
$host = $match[1];
}

// This is the last try :/.
if (!isset($host) || $host === false)
$host = @gethostbyaddr($ip);

// It took a long time, so let's cache it!
if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.5)
cache_put_data('hostlookup-' . $ip, $host, 600);

return $host;
}
--- End code ---

If there's a delay in lookup, or a bug in things, it's possible this could happen.

Disable hostname lookups in the admin panel.

CyberShadow:

Many thanks. I have disabled Hostname lookups. I will now wait for something not to happen.  :o  ;D

Navigation

[0] Message Index

[#] Next page

Go to full version