From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: xl errors if /var/log/xen doesn't exist Date: Mon, 13 Jan 2014 14:32:50 +0000 Message-ID: <52D3F912.7080004@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Xen-devel List Cc: Ian Campbell List-Id: xen-devel@lists.xenproject.org Hello, As part of running XenRT on a XenServer experimental build on top of Xen-4.4.0-rc1, I encountered the following error which is far from helpful: $ xl create /root/minios.cfg xl: fatal error: xl_cmdimpl.c:457: No such file or directory: logfile = open(fullname, O_WRONLY|O_CREAT|O_APPEND, 0644) Parsing config from /root/minios.cfg libxl: error: libxl_exec.c:118:libxl_report_child_exitstatus: daemonizing child [32476] exited with error status 3 Parsing config from /root/minios.cfg The root cause of the issue is that the directly /var/log/xen didn't exist (because I messed up the packaging). Because of the CHK_SYSCALL() macro which prints a string-ized version of its argument, the error message omits the key detail (i.e. which file doesn't exist). Furthermore, the string 'fullname' is a complete path which has been returned from "libxl_create_logfile()" without error. If the failure to create a logfile is a fatal error (which itself is probably not correct - what about a RO dom0 which strictly logs to rsyslog?), then either xl or libxl should assume the responsibility of ensuring that its logging directory actually exists, and "libxl_create_logfile()" seems like a prime candidate to assume this responsibility. ~Andrew