[ET Trac] [Einstein Toolkit] #1162: Slowdown due to gethostbyname

Einstein Toolkit trac-noreply at einsteintoolkit.org
Thu Nov 1 20:08:52 CDT 2012

#1162: Slowdown due to gethostbyname
 Reporter:  hinder  |       Owner:     
     Type:  defect  |      Status:  new
 Priority:  minor   |   Milestone:     
Component:  Cactus  |     Version:     
 Keywords:          |  
 When running the ET testsuite on my laptop, I found it was taking 7
 minutes to run just the tests from the McLachlan arrangement.  The CPU
 usage was negligible for much of the time.  I noticed that when running an
 empty parameter file, there was a slowdown before printing the host name.
 Additionally, when I attached a debugger to find out why cactus was taking
 so long to run the tests, the backtrace showed:

 0x00007fff90f0dd16 in kevent ()
 (gdb) bt
 #0  0x00007fff90f0dd16 in kevent ()
 #1  0x00007fff954c390a in _mdns_search ()
 #2  0x00007fff954c3345 in mdns_hostbyname ()
 #3  0x00007fff954c31c1 in search_host_byname ()
 #4  0x00007fff954c30c1 in gethostbyname ()
 #5  0x00000001096becf8 in Util_GetHostName (name=0x7fff56551550 "macbook",
 length=255) at Network.c:86

 Util_GetHostName first calls gethostname, and if that function returns
 something with no "." in it, it calls gethostbyname.  Indeed, my local
 hostname does not have a "." in it.

 This is on Mac OS 10.8.2.  Changing the hostname via

 sudo scutil --set HostName Ians-MacBook-Pro.local

 so the hostname included a ".", the tests now run in 1m30s.  I don't know
 why gethostbyname is so slow on my system.  Does Cactus, or maybe
 simfactory, or maybe the test system, call gethostbyname very frequently?
 Perhaps the output could be cached if this call can sometimes be slow.

Ticket URL: <https://trac.einsteintoolkit.org/ticket/1162>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit

More information about the Trac mailing list