Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle error from inet:sockname/1 in mongoose_tcp_listener #3695

Merged
merged 1 commit into from
Jun 28, 2022

Conversation

arcusfelis
Copy link
Contributor

@arcusfelis arcusfelis commented Jun 26, 2022

This PR addresses MIM-1660

Proposed changes include:

  • Test and case matching

{ok, {SrcAddr, SrcPort}} = inet:peername(Socket) fails with

23:48:52.828 [error] Supervisor {<0.1135.0>,mongoose_tcp_listener} had child {{5222,{0,0,0,0},tcp},90}
 started with mongoose_tcp_listener:start_accept_loop) at 
<0.1225.0> exit with reason no match of right hand value {error,enotconn} 
in mongoose_tcp_listener:do_accept/2 line 114 in context child_terminated

@codecov
Copy link

codecov bot commented Jun 26, 2022

Codecov Report

Merging #3695 (a022594) into master (c213d44) will decrease coverage by 0.00%.
The diff coverage is 46.15%.

@@            Coverage Diff             @@
##           master    #3695      +/-   ##
==========================================
- Coverage   81.13%   81.12%   -0.01%     
==========================================
  Files         434      434              
  Lines       31883    31889       +6     
==========================================
+ Hits        25867    25869       +2     
- Misses       6016     6020       +4     
Impacted Files Coverage Δ
src/mongoose_tcp_listener.erl 68.08% <46.15%> (-9.97%) ⬇️
src/inbox/mod_inbox_rdbms_async.erl 70.14% <0.00%> (-2.99%) ⬇️
src/pubsub/node_pep.erl 77.77% <0.00%> (-1.86%) ⬇️
src/rdbms/mongoose_rdbms.erl 65.26% <0.00%> (-1.06%) ⬇️
src/domain/mongoose_domain_loader.erl 89.28% <0.00%> (-0.90%) ⬇️
src/ejabberd_c2s.erl 88.78% <0.00%> (-0.15%) ⬇️
src/pubsub/mod_pubsub.erl 73.42% <0.00%> (-0.07%) ⬇️
src/mod_muc_log.erl 62.82% <0.00%> (ø)
...bal_distrib/mod_global_distrib_hosts_refresher.erl 68.88% <0.00%> (+2.22%) ⬆️
src/cassandra/mongoose_cassandra_worker.erl 68.86% <0.00%> (+2.83%) ⬆️
... and 2 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c213d44...a022594. Read the comment docs.

@mongoose-im
Copy link
Collaborator

mongoose-im commented Jun 26, 2022

small_tests_24 / small_tests / f7cd155
Reports root / small


small_tests_25 / small_tests / f7cd155
Reports root / small


dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / f7cd155
Reports root/ big
OK: 2826 / Failed: 0 / User-skipped: 88 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_25 / pgsql_mnesia / f7cd155
Reports root/ big
OK: 2826 / Failed: 0 / User-skipped: 88 / Auto-skipped: 0


dynamic_domains_mysql_redis_25 / mysql_redis / f7cd155
Reports root/ big
OK: 2809 / Failed: 0 / User-skipped: 105 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_25 / odbc_mssql_mnesia / f7cd155
Reports root/ big
OK: 2826 / Failed: 0 / User-skipped: 88 / Auto-skipped: 0


ldap_mnesia_25 / ldap_mnesia / f7cd155
Reports root/ big
OK: 1509 / Failed: 0 / User-skipped: 401 / Auto-skipped: 0


ldap_mnesia_24 / ldap_mnesia / f7cd155
Reports root/ big
OK: 1509 / Failed: 0 / User-skipped: 401 / Auto-skipped: 0


pgsql_mnesia_24 / pgsql_mnesia / f7cd155
Reports root/ big
OK: 3200 / Failed: 0 / User-skipped: 97 / Auto-skipped: 0


internal_mnesia_25 / internal_mnesia / f7cd155
Reports root/ big
OK: 1594 / Failed: 0 / User-skipped: 316 / Auto-skipped: 0


elasticsearch_and_cassandra_25 / elasticsearch_and_cassandra_mnesia / f7cd155
Reports root/ big
OK: 1877 / Failed: 0 / User-skipped: 324 / Auto-skipped: 0


pgsql_mnesia_25 / pgsql_mnesia / f7cd155
Reports root/ big
OK: 3200 / Failed: 0 / User-skipped: 97 / Auto-skipped: 0


mysql_redis_25 / mysql_redis / f7cd155
Reports root/ big
OK: 3218 / Failed: 2 / User-skipped: 102 / Auto-skipped: 0

muc_SUITE:hibernation:hibernated_room_can_be_queried_for_archive
{error,{{assertion_failed,assert,is_groupchat_message,
              [<<"Restorable message">>],
              undefined,"undefined"},
    [{escalus_new_assert,assert_true,2,
               [{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_new_assert.erl"},
                {line,84}]},
     {muc_SUITE,wait_for_mam_result,3,
          [{file,"/home/circleci/project/big_tests/tests/muc_SUITE.erl"},
           {line,4383}]},
     {muc_SUITE,'-hibernated_room_can_be_queried_for_archive/1-fun-0-',3,
          [{file,"/home/circleci/project/big_tests/tests/muc_SUITE.erl"},
           {line,4124}]},
     {escalus_story,story,4,
            [{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
             {line,72}]},
     {muc_SUITE,hibernated_room_can_be_queried_for_archive,1,
          [{file,"/home/circleci/project/big_tests/tests/muc_SUITE.erl"},
           {line,4120}]},
     {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
     {test_server,run_test_case_eval1,6,
            [{file,"test_server.erl"},{line,1291}]},
     {test_server,run_test_case_eval,9,
            [{file,"test_server.erl"},{line,1223}]}]}}

Report log

pep_SUITE:pep_tests:unsubscribe_after_presence_unsubscription
{error,{{badmatch,[{xmlel,<<"presence">>,
              [{<<"from">>,
              <<"alice_unsubscribe_after_presence_unsubscription_1896@localhost/res1">>},
               {<<"to">>,
              <<"bob_unsubscribe_after_presence_unsubscription_1896@localhost/res1">>},
               {<<"type">>,<<"unavailable">>}],
              []}]},
    [{pep_SUITE,'-unsubscribe_after_presence_unsubscription/1-fun-0-',2,
          [{file,"/home/circleci/project/big_tests/tests/pep_SUITE.erl"},
           {line,384}]},
     {escalus_story,story,4,
            [{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
             {line,72}]},
     {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
     {test_server,run_test_case_eval1,6,
            [{file,"test_server.erl"},{line,1291}]},
     {test_server,run_test_case_eval,9,
            [{file,"test_server.erl"},{line,1223}]}]}}

Report log


riak_mnesia_24 / riak_mnesia / f7cd155
Reports root/ big
OK: 1732 / Failed: 0 / User-skipped: 323 / Auto-skipped: 0


mssql_mnesia_25 / odbc_mssql_mnesia / f7cd155
Reports root/ big
OK: 3200 / Failed: 0 / User-skipped: 97 / Auto-skipped: 0

Copy link
Contributor

@Premwoik Premwoik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good :)

big_tests/tests/tcp_listener_SUITE.erl Outdated Show resolved Hide resolved
src/mongoose_tcp_listener.erl Show resolved Hide resolved
src/mongoose_tcp_listener.erl Show resolved Hide resolved
@mongoose-im
Copy link
Collaborator

mongoose-im commented Jun 28, 2022

small_tests_24 / small_tests / a022594
Reports root / small


small_tests_25 / small_tests / a022594
Reports root / small


dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / a022594
Reports root/ big
OK: 2826 / Failed: 0 / User-skipped: 88 / Auto-skipped: 0


ldap_mnesia_24 / ldap_mnesia / a022594
Reports root/ big
OK: 1509 / Failed: 0 / User-skipped: 401 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_25 / pgsql_mnesia / a022594
Reports root/ big
OK: 2826 / Failed: 0 / User-skipped: 88 / Auto-skipped: 0


dynamic_domains_mysql_redis_25 / mysql_redis / a022594
Reports root/ big
OK: 2809 / Failed: 0 / User-skipped: 105 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_25 / odbc_mssql_mnesia / a022594
Reports root/ big
OK: 2826 / Failed: 0 / User-skipped: 88 / Auto-skipped: 0


ldap_mnesia_25 / ldap_mnesia / a022594
Reports root/ big
OK: 1509 / Failed: 0 / User-skipped: 401 / Auto-skipped: 0


internal_mnesia_25 / internal_mnesia / a022594
Reports root/ big
OK: 1594 / Failed: 0 / User-skipped: 316 / Auto-skipped: 0


pgsql_mnesia_24 / pgsql_mnesia / a022594
Reports root/ big
OK: 3197 / Failed: 3 / User-skipped: 97 / Auto-skipped: 0

service_domain_db_SUITE:db:db_keeps_syncing_after_cluster_join
{error,{test_case_failed,{[<<"example1.com">>],
              [<<"example1.com">>,<<"example2.com">>]}}}

Report log

service_domain_db_SUITE:db:rest_with_auth:rest_delete_domain_cleans_data_from_mam
{error,
  {timeout_when_waiting_for_stanza,
    [{escalus_client,wait_for_stanza,
       [{client,
          <<"[email protected]/res1">>,
          escalus_tcp,<0.19495.2>,
          [{event_manager,<0.19489.2>},
           {server,<<"example.org">>},
           {username,
             <<"bob_rest_delete_domain_cleans_data_from_mam_2575">>},
           {resource,<<"res1">>}],
          [{event_client,
             [{event_manager,<0.19489.2>},
            {server,<<"example.org">>},
            {username,
              <<"bob_rest_delete_domain_cleans_data_from_mam_2575">>},
            {resource,<<"res1">>}]},
           {resource,<<"res1">>},
           {username,
             <<"bob_rest_delete_domain_cleans_data_from_mam_2575">>},
           {server,<<"example.org">>},
           {host,<<"localhost">>},
           {port,5232},
           {auth,{escalus_auth,auth_plain}},
           {wspath,undefined},
           {username,
             <<"bob_rest_delete_domain_cleans_data_from_mam_2575">>},
           {server,<<"example.org">>},
           {host,<<"localhost">>},
           {password,<<"makota3">>},
           {port,5232},
           {stream_id,<<"98cfaa560fa0a781">>}]},
        5000],
       [{file,
          "/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_client.erl"},
        {line,136}]},
     {service_domain_db_SUITE,
       '-rest_delete_domain_cleans_data_from_mam/1-fun-0-',5,
       [{file,
    ...

Report log

service_domain_db_SUITE:db:rest_without_auth:rest_delete_domain_cleans_data_from_mam
{error,
  {timeout_when_waiting_for_stanza,
    [{escalus_client,wait_for_stanza,
       [{client,
          <<"[email protected]/res1">>,
          escalus_tcp,<0.20090.2>,
          [{event_manager,<0.20084.2>},
           {server,<<"example.org">>},
           {username,
             <<"bob_rest_delete_domain_cleans_data_from_mam_2576">>},
           {resource,<<"res1">>}],
          [{event_client,
             [{event_manager,<0.20084.2>},
            {server,<<"example.org">>},
            {username,
              <<"bob_rest_delete_domain_cleans_data_from_mam_2576">>},
            {resource,<<"res1">>}]},
           {resource,<<"res1">>},
           {username,
             <<"bob_rest_delete_domain_cleans_data_from_mam_2576">>},
           {server,<<"example.org">>},
           {host,<<"localhost">>},
           {port,5232},
           {auth,{escalus_auth,auth_plain}},
           {wspath,undefined},
           {username,
             <<"bob_rest_delete_domain_cleans_data_from_mam_2576">>},
           {server,<<"example.org">>},
           {host,<<"localhost">>},
           {password,<<"makota3">>},
           {port,5232},
           {stream_id,<<"acd8b0f5149a72ad">>}]},
        5000],
       [{file,
          "/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_client.erl"},
        {line,136}]},
     {service_domain_db_SUITE,
       '-rest_delete_domain_cleans_data_from_mam/1-fun-0-',5,
       [{file,
    ...

Report log


mysql_redis_25 / mysql_redis / a022594
Reports root/ big
OK: 3195 / Failed: 0 / User-skipped: 102 / Auto-skipped: 0


pgsql_mnesia_25 / pgsql_mnesia / a022594
Reports root/ big
OK: 3200 / Failed: 0 / User-skipped: 97 / Auto-skipped: 0


riak_mnesia_24 / riak_mnesia / a022594
Reports root/ big
OK: 1732 / Failed: 0 / User-skipped: 323 / Auto-skipped: 0


mssql_mnesia_25 / odbc_mssql_mnesia / a022594
Reports root/ big
OK: 3200 / Failed: 0 / User-skipped: 97 / Auto-skipped: 0


elasticsearch_and_cassandra_25 / elasticsearch_and_cassandra_mnesia / a022594
Reports root/ big
OK: 1877 / Failed: 0 / User-skipped: 324 / Auto-skipped: 0


pgsql_mnesia_24 / pgsql_mnesia / a022594
Reports root/ big
OK: 3200 / Failed: 0 / User-skipped: 97 / Auto-skipped: 0

@Premwoik Premwoik merged commit b24cd49 into master Jun 28, 2022
@Premwoik Premwoik deleted the mu-listener-badmatch branch June 28, 2022 14:26
@chrzaszcz chrzaszcz added this to the 6.0.0 milestone Dec 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants