* xl errors if /var/log/xen doesn't exist
@ 2014-01-13 14:32 Andrew Cooper
2014-01-13 15:07 ` Ian Campbell
0 siblings, 1 reply; 3+ messages in thread
From: Andrew Cooper @ 2014-01-13 14:32 UTC (permalink / raw)
To: Xen-devel List; +Cc: Ian Campbell
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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: xl errors if /var/log/xen doesn't exist
2014-01-13 14:32 xl errors if /var/log/xen doesn't exist Andrew Cooper
@ 2014-01-13 15:07 ` Ian Campbell
2014-01-13 15:15 ` Processed: " xen
0 siblings, 1 reply; 3+ messages in thread
From: Ian Campbell @ 2014-01-13 15:07 UTC (permalink / raw)
To: Andrew Cooper; +Cc: Xen-devel List
create ^
thanks
Thanks for the report, I've created a bug for tracking purposes.
On Mon, 2014-01-13 at 14:32 +0000, Andrew Cooper wrote:
> 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
Right, I do think we ought to cope with this a bit more gracefully.
> (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).
Oops!
> 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?),
Even a R/O dom0 would need a writeable /var I think -- otherwise xl's
behaviour is the least of your worries. A tmpfs for example.
In any case presumably that use case would warrant making further
changes in order to have the option to direct these logs to syslog too.
> 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.
It sounds like it, yes.
Ian.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-01-13 15:15 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-13 14:32 xl errors if /var/log/xen doesn't exist Andrew Cooper
2014-01-13 15:07 ` Ian Campbell
2014-01-13 15:15 ` Processed: " xen
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.