Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging.

The measurement tools use libosmocore socket functions that will
use logging if the socket cannot be opened, but the tools did
not initialise logging, resulting in

 Assert failed osmo_log_info logging.c:235
 backtrace() returned 9 addresses
 [.....]

Initialise logging so that we get a nicer and more informative
message, such as:

 unable to bind socket:(null):8888: Address already in use
 no suitable addr found for: (null):8888

Change-Id: Ib3b3558723682defcee22e7ea2d8bf5c2cff1278
This commit is contained in:
Keith Whyte 2020-03-27 19:43:34 -05:00
parent b5bfa71aa2
commit 85fe6104c5
2 changed files with 29 additions and 0 deletions

View File

@ -34,6 +34,7 @@
#include <osmocom/core/socket.h>
#include <osmocom/core/msgb.h>
#include <osmocom/core/select.h>
#include <osmocom/core/application.h>
#include <osmocom/gsm/gsm_utils.h>
@ -171,8 +172,21 @@ static int udp_fd_cb(struct osmo_fd *ofd, unsigned int what)
return 0;
}
/* default categories */
static struct log_info_cat default_categories[] = {
};
static const struct log_info meas_json_log_info = {
.cat = default_categories,
.num_cat = ARRAY_SIZE(default_categories),
};
int main(int argc, char **argv)
{
void *tall_ctx = talloc_named_const(NULL, 0, "meas_json");
osmo_init_logging2(tall_ctx, &meas_json_log_info);
int rc;
struct osmo_fd udp_ofd;

View File

@ -13,6 +13,8 @@
#include <osmocom/core/msgb.h>
#include <osmocom/core/select.h>
#include <osmocom/core/talloc.h>
#include <osmocom/core/logging.h>
#include <osmocom/core/application.h>
#include <osmocom/gsm/gsm_utils.h>
@ -258,11 +260,24 @@ const struct value_string col_strs[] = {
{ 0, NULL }
};
/* default categories */
static struct log_info_cat default_categories[] = {
};
static const struct log_info meas_vis_log_info = {
.cat = default_categories,
.num_cat = ARRAY_SIZE(default_categories),
};
int main(int argc, char **argv)
{
int rc;
char *header[1];
char *title[1];
struct log_target *stderr_target;
void *tall_ctx = talloc_named_const(NULL, 0, "meas_vis");
osmo_init_logging2(tall_ctx, &meas_vis_log_info);
msgb_talloc_ctx_init(NULL, 0);