<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, May 4, 2018 at 2:13 AM, Pekka Paalanen <span dir="ltr"><<a href="mailto:ppaalanen@gmail.com" target="_blank">ppaalanen@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Thu, 03 May 2018 23:38:55 +0100<br>
adlo <<a href="mailto:adloconwy@gmail.com">adloconwy@gmail.com</a>> wrote:<br>
<br>
> On Thu, 2018-05-03 at 14:12 +0300, Pekka Paalanen wrote:<br>
> > <br>
> > what's the backtrace from gdb for that?<br>
> >   <br>
> <br>
> Is this any help?<br>
> <br>
> #0  0x0000000000000000 in  ()<br>
> #1  0x00007ffff799c88c in weston_log (fmt=fmt@entry=0x7ffff79b6a7e<br>
> "Loading module '%s'\n") at libweston/log.c:75<br>
> #2  0x00007ffff79a603c in weston_load_module (name=name@entry=0x7ffff79<br>
> b6b24 "wayland-backend.so", entrypoint=entrypoint@entry=<wbr>0x7ffff79b6aae<br>
> "weston_backend_init") at libweston/compositor.c:6375<br>
> #3  0x00007ffff79a6264 in weston_compositor_load_backend<br>
> (compositor=0x611090, backend=backend@entry=<br>
>     WESTON_BACKEND_WAYLAND, config_base=config_base@entry=<wbr>0x7fffffffdc5<br>
> 0)<br>
>     at libweston/compositor.c:6485<br>
> #4  0x0000000000400704 in main (argc=<optimized out>, argv=<optimized<br>
> out>)  <br>
>     at ../main.c:42<br>
<br>
</span>Is that perhaps the very first call to weston_log()?<br>
<br>
You need to initialize the logging mechanism before anything can call<br>
weston_log(). Yeah, it's awkward, could probably be improved, but OTOH<br>
one would always want all log messages going to the same place, so you<br>
really do want to initialize the logging before any logging happens to<br>
avoid losing messages.<br>
<br>
The crucial call to make is weston_log_set_handler() with non-NULL<br>
arguments before any other libweston calls.<br></blockquote><div><br></div><div>I wonder if this could be made clearer by adding an assert in weston_log() if no handler has been installed yet.</div></div></div></div>