SMF Support > Server Performance and Configuration
CentOS6 - [abrt] full crash report
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