Bug #38464 Assertion on Solaris 10 trying to access config->host_id
Submitted: 30 Jul 2008 16:24 Modified: 31 Jul 2008 8:59
Reporter: Mark Leith Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Enterprise Monitor: Agent Severity:S1 (Critical)
Version:2.0.0.7014 OS:Solaris (10 with Zones)
Assigned to: Assigned Account CPU Architecture:Any

[30 Jul 2008 16:24] Mark Leith
Description:
Starting the agent on Solaris 10 reports success with the init.d script, however the agent silently dies in the background. 

Investigation shows that this is due to SIGAR having issues getting network interface information:

18749:	 0.7955	sysconfig(_CONFIG_NPROC_CONF)			= 4
18749:	 0.7956	ioctl(8, KSTAT_IOC_READ, "system_misc")		= 1869
18749:	 0.7957	so_socket(PF_INET, SOCK_DGRAM, IPPROTO_IP, "", SOV_DEFAULT) = 9
18749:	 0.7958	ioctl(9, SIOCGIFCONF, 0xFFFFFD7FFFDFEF30)	= 0
18749:	 0.7958	close(9)					= 0
18749:	 0.7958	so_socket(PF_INET, SOCK_DGRAM, IPPROTO_IP, "", SOV_DEFAULT) = 9
18749:	 0.7959	ioctl(9, SIOCGIFADDR, 0xFFFFFD7FFFDFEDA0)	= 0
18749:	 0.7959	ioctl(9, SIOCGIFNETMASK, 0xFFFFFD7FFFDFEDA0)	= 0
18749:	 0.7959	ioctl(9, SIOCGIFFLAGS, 0xFFFFFD7FFFDFEDA0)	= 0
18749:	 0.7959	ioctl(9, SIOCGLIFMTU, 0xFFFFFD7FFFDFEDC0)	= 0
18749:	 0.7960	ioctl(9, SIOCGIFMETRIC, 0xFFFFFD7FFFDFEDA0)	= 0
18749:	 0.7960	close(9)					= 0
18749:	 0.7960	so_socket(PF_INET, SOCK_DGRAM, IPPROTO_IP, "", SOV_DEFAULT) = 9
18749:	 0.7961	ioctl(9, SIOCGIFADDR, 0xFFFFFD7FFFDFEDA0)	= 0
18749:	 0.7961	ioctl(9, SIOCGIFNETMASK, 0xFFFFFD7FFFDFEDA0)	= 0
18749:	 0.7961	ioctl(9, SIOCGIFFLAGS, 0xFFFFFD7FFFDFEDA0)	= 0
18749:	 0.7961	ioctl(9, SIOCGIFDSTADDR, 0xFFFFFD7FFFDFEDA0)	Err#126 EADDRNOTAVAIL
18749:	 0.7961	ioctl(9, SIOCGIFBRDADDR, 0xFFFFFD7FFFDFEDA0)	= 0
18749:	 0.7962	ioctl(9, SIOCGARP, 0xFFFFFD7FFFDFED40)		= 0
18749:	 0.7962	ioctl(9, SIOCGLIFMTU, 0xFFFFFD7FFFDFEDC0)	= 0
18749:	 0.7962	ioctl(9, SIOCGIFMETRIC, 0xFFFFFD7FFFDFEDA0)	= 0
18749:	 0.7963	close(9)					= 0
18749:	 0.7964	close(8)					= 0
18749:	 0.8056	access("/usr/lib/iconv/geniconvtbl/binarytables/UTF-8%646.bt", R_OK) Err#2 ENOENT
18749:	 0.8061	access("/usr/lib/iconv/amd64/UTF-8%646.so", R_OK) = 0
18749:	 0.8064	stat("/usr/lib/iconv/amd64/UTF-8%646.so", 0xFFFFFD7FFFDFE710) = 0
18749:	 0.8067	resolvepath("/usr/lib/iconv/amd64/UTF-8%646.so", "/usr/lib/iconv/amd64/UTF-8%646.so", 1023) = 33
18749:	 0.8070	open("/usr/lib/iconv/amd64/UTF-8%646.so", O_RDONLY) = 8
18749:	 0.8071	mmap(0x00010000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 8, 0) = 0xFFFFFD7FFEBF0000
18749:	 0.8112	mmap(0x00010000, 73728, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, 4294967295, 0) = 0xFFFFFD7FFE670000
18749:	 0.8112	mmap(0xFFFFFD7FFE670000, 3991, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 8, 0) = 0xFFFFFD7FFE670000
18749:	 0.8112	mmap(0xFFFFFD7FFE680000, 4376, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 8, 0) = 0xFFFFFD7FFE680000
18749:	 0.8112	munmap(0xFFFFFD7FFE671000, 61440)		= 0
18749:	 0.8114	mmap(0x00000000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, 4294967295, 0) = 0xFFFFFD7FFE660000
18749:	 0.8115	memcntl(0xFFFFFD7FFE670000, 1264, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
18749:	 0.8115	close(8)					= 0
18749:	 0.8116	stat("/opt/mysql/enterprise/agent/lib/mysql-proxy/libc.so.1", 0xFFFFFD7FFFDFE5F0) Err#2 ENOENT
18749:	 0.8116	munmap(0xFFFFFD7FFEBF0000, 4096)		= 0
18749:	 0.8117	fstat(2, 0xFFFFFD7FFFDFEE30)			= 0
18749:	 0.8117	write(2, 0x0043A9F0, 67)			= 67
18749:	   * *\n * *   E R R O R : ( a g e n t . c : 2 7 3 ) : ? ? ? :   a
18749:	   s s e r t i o n   f a i l e d :   ( c o n f i g - > h o s t _ i
18749:	   d )\n
18749:	 0.8118	sigaction(SIGABRT, 0x00000000, 0xFFFFFD7FFFDFF0C0) = 0
18749:	 0.8118	sigaction(SIGABRT, 0xFFFFFD7FFFDFEFD0, 0xFFFFFD7FFFDFF050) = 0

How to repeat:
o Install agent on Solaris 10 (within a zone?)
o Start the agent
o Can observe above starting the agent with truss:
  truss -d -rall -wall /opt/mysql/enterprise/agent/etc/init.d/mysql-monitor-agent start