From 2b4b3d1b56e2d1070ebce9d8d55a9dd0a546fe7d Mon Sep 17 00:00:00 2001 From: Zhongwen Deng Date: Tue, 24 May 2022 09:27:20 +0800 Subject: [PATCH] test: debug broker segmentation fault --- apps/emqx/etc/emqx.conf | 41 ++++++++++--------- apps/emqx/src/emqx_config.erl | 15 +++++-- .../src/emqx_limiter/etc/emqx_limiter.conf | 5 --- apps/emqx/test/emqx_broker_SUITE.erl | 4 ++ 4 files changed, 37 insertions(+), 28 deletions(-) diff --git a/apps/emqx/etc/emqx.conf b/apps/emqx/etc/emqx.conf index 768e9a856..a19bf1dab 100644 --- a/apps/emqx/etc/emqx.conf +++ b/apps/emqx/etc/emqx.conf @@ -1,39 +1,40 @@ listeners.tcp.default { - bind = "0.0.0.0:1883" - max_connections = 1024000 + bind: "0.0.0.0:1883" + max_connections: 1024000 } listeners.ssl.default { - bind = "0.0.0.0:8883" - max_connections = 512000 + bind: "0.0.0.0:8883" + max_connections: 512000 ssl { - keyfile = "{{ platform_etc_dir }}/certs/key.pem" - certfile = "{{ platform_etc_dir }}/certs/cert.pem" - cacertfile = "{{ platform_etc_dir }}/certs/cacert.pem" + keyfile: "{{ platform_etc_dir }}/certs/key.pem" + certfile: "{{ platform_etc_dir }}/certs/cert.pem" + cacertfile: "{{ platform_etc_dir }}/certs/cacert.pem" } } listeners.ws.default { - bind = "0.0.0.0:8083" - max_connections = 1024000 + bind: "0.0.0.0:8083" + max_connections: 1024000 websocket.mqtt_path: "/mqtt" } listeners.wss.default { - bind = "0.0.0.0:8084" - max_connections = 512000 + bind: "0.0.0.0:8084" + max_connections: 512000 websocket.mqtt_path: "/mqtt" ssl { - keyfile = "{{ platform_etc_dir }}/certs/key.pem" - certfile = "{{ platform_etc_dir }}/certs/cert.pem" - cacertfile = "{{ platform_etc_dir }}/certs/cacert.pem" + keyfile: "{{ platform_etc_dir }}/certs/key.pem" + certfile: "{{ platform_etc_dir }}/certs/cert.pem" + cacertfile: "{{ platform_etc_dir }}/certs/cacert.pem" } } -//listeners.quic.default { -// bind = "0.0.0.0:14567" -// max_connections = 1024000 -// keyfile = "{{ platform_etc_dir }}/certs/key.pem" -// certfile = "{{ platform_etc_dir }}/certs/cert.pem" -// } +listeners.quic.default { + enabled: true + bind: "0.0.0.0:14567" + max_connections: 1024000 + keyfile: "{{ platform_etc_dir }}/certs/key.pem" + certfile: "{{ platform_etc_dir }}/certs/cert.pem" +} diff --git a/apps/emqx/src/emqx_config.erl b/apps/emqx/src/emqx_config.erl index ae108c595..bfac1f7d2 100644 --- a/apps/emqx/src/emqx_config.erl +++ b/apps/emqx/src/emqx_config.erl @@ -17,6 +17,7 @@ -compile({no_auto_import, [get/0, get/1, put/2, erase/1]}). -elvis([{elvis_style, god_modules, disable}]). +-include("logger.hrl"). -export([ init_load/1, @@ -347,9 +348,17 @@ raw_conf_with_default(SchemaMod, RootNames, RawConf) -> schema_default(Schema) -> case hocon_schema:field_schema(Schema, type) of - ?ARRAY(_) -> []; - ?LAZY(?ARRAY(_)) -> []; - _ -> #{} + ?ARRAY(_) -> + []; + ?LAZY(?ARRAY(_)) -> + []; + ?LAZY(?UNION(Unions)) -> + case [A || ?ARRAY(A) <- Unions] of + [_ | _] -> []; + _ -> #{} + end; + _ -> + #{} end. parse_hocon(Conf) -> diff --git a/apps/emqx/src/emqx_limiter/etc/emqx_limiter.conf b/apps/emqx/src/emqx_limiter/etc/emqx_limiter.conf index 889fd8b63..e69de29bb 100644 --- a/apps/emqx/src/emqx_limiter/etc/emqx_limiter.conf +++ b/apps/emqx/src/emqx_limiter/etc/emqx_limiter.conf @@ -1,5 +0,0 @@ -##-------------------------------------------------------------------- -## EMQX Rate Limiter -##-------------------------------------------------------------------- - -limiter {} diff --git a/apps/emqx/test/emqx_broker_SUITE.erl b/apps/emqx/test/emqx_broker_SUITE.erl index 430cc49c4..c7a5e990b 100644 --- a/apps/emqx/test/emqx_broker_SUITE.erl +++ b/apps/emqx/test/emqx_broker_SUITE.erl @@ -435,6 +435,10 @@ t_connected_client_count_persistent(Config) when is_list(Config) -> {clientid, ClientID} | Config ]), + {{ok, _}, {ok, [_]}} = wait_for_events( + fun() -> emqtt:ConnFun(ConnPid2) end, + [emqx_cm_connected_client_count_inc] + ), {{ok, _}, {ok, [_, _]}} = wait_for_events( fun() -> emqtt:ConnFun(ConnPid2) end, [