=== Test case: websockets_SUITE:escape_chat_msg/1 (click for source code) === Config value: [{user,geralt}, {watchdog,<0.28733.1>}, {preset,"ldap_mnesia"}, {mim_data_dir,"/home/circleci/project/big_tests/tests/websockets_SUITE_data"}, {tc_logfile,"/home/circleci/project/big_tests/ct_report/ct_run.test@94ef96fe7e6f.2023-11-13_20.03.17/big_tests.tests.websockets_SUITE.logs/run.2023-11-13_20.16.50/websockets_suite.escape_chat_msg.html"}, {tc_group_properties,[{name,ws_chat},sequence]}, {tc_group_path,[]}, {data_dir,"/home/circleci/project/big_tests/_build/default/lib/mongoose_tests/ebin/websockets_SUITE_data/"}, {priv_dir,"/home/circleci/project/big_tests/ct_report/ct_run.test@94ef96fe7e6f.2023-11-13_20.03.17/big_tests.tests.websockets_SUITE.logs/run.2023-11-13_20.16.50/log_private/"}, {escalus_users,[{alice,[{username,<<"alicE">>}, {server,<<"localhost">>}, {password,<<"matygrysa">>}]}, {geralt,[{username,<<"geralt">>}, {server,<<"localhost">>}, {password,<<"witcher">>}, {transport,escalus_ws}, {port,5280}, {wspath,<<"/ws-xmpp">>}]}, {geralt_s,[{username,<<"geralt_s">>}, {server,<<"localhost">>}, {password,<<"witcher_s">>}, {transport,escalus_ws}, {ssl,true}, {port,5285}, {wspath,<<"/ws-xmpp">>}, {ssl_opts,[{verify,verify_none}]}]}, {carol,[{username,<<"carol">>}, {server,<<"localhost">>}, {password,<<"jinglebells">>}, {transport,escalus_bosh}, {path,<<"/http-bind">>}, {port,5280}]}]}] === Current directory is "/home/circleci/project/big_tests/ct_report/ct_run.test@94ef96fe7e6f.2023-11-13_20.03.17" === Started at 2023-11-13 20:16:50
*** User 2023-11-13 20:16:50.867 ***🔗 alicE@localhost/res1 out <stream:stream to='localhost' version='1.0' xml:lang='en' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'>
*** User 2023-11-13 20:16:50.867 ***🔗 alicE@localhost/res1 in <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='7b075821694b57a4' from='localhost' version='1.0' xml:lang='en'>
*** User 2023-11-13 20:16:50.867 ***🔗 alicE@localhost/res1 in <stream:features> <register xmlns='http://jabber.org/features/iq-register'/> <starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/> <mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'> <mechanism>PLAIN</mechanism> </mechanisms> <amp xmlns='http://jabber.org/feature/amp'/> <sm xmlns='urn:xmpp:sm:3'/> </stream:features>
*** User 2023-11-13 20:16:50.868 ***🔗 alicE@localhost/res1 out <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'>AGFsaWNFAG1hdHlncnlzYQ==</auth>
*** User 2023-11-13 20:16:50.869 ***🔗 alicE@localhost/res1 in <success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/>
*** User 2023-11-13 20:16:50.869 ***🔗 alicE@localhost/res1 out <stream:stream to='localhost' version='1.0' xml:lang='en' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'>
*** User 2023-11-13 20:16:50.869 ***🔗 alicE@localhost/res1 in <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='a3a2bc898eb4778f' from='localhost' version='1.0' xml:lang='en' to='alice@localhost'>
*** User 2023-11-13 20:16:50.870 ***🔗 alicE@localhost/res1 in <stream:features> <session xmlns='urn:ietf:params:xml:ns:xmpp-session'/> <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'/> <register xmlns='http://jabber.org/features/iq-register'/> <amp xmlns='http://jabber.org/feature/amp'/> <sm xmlns='urn:xmpp:sm:3'/> </stream:features>
*** User 2023-11-13 20:16:50.870 ***🔗 alicE@localhost/res1 out <iq type='set' id='4e463f44fb80812d86cabec5ddf68f79'> <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'> <resource>res1</resource> </bind> </iq>
*** User 2023-11-13 20:16:50.870 ***🔗 alicE@localhost/res1 in <iq id='4e463f44fb80812d86cabec5ddf68f79' type='result'> <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'> <jid>alice@localhost/res1</jid> </bind> </iq>
*** User 2023-11-13 20:16:50.870 ***🔗 alice@localhost/res1 out <iq type='set' id='98cb3ed053fde585970c9bb6c9fba3e1'> <session xmlns='urn:ietf:params:xml:ns:xmpp-session'/> </iq>
*** User 2023-11-13 20:16:50.871 ***🔗 alice@localhost/res1 in <iq from='localhost' to='alice@localhost/res1' id='98cb3ed053fde585970c9bb6c9fba3e1' type='result'> <session xmlns='urn:ietf:params:xml:ns:xmpp-session'/> </iq>
*** User 2023-11-13 20:16:50.871 ***🔗 alice@localhost/res1 out <presence/>
*** User 2023-11-13 20:16:50.871 ***🔗 alice@localhost/res1 in <presence from='alice@localhost/res1' to='alice@localhost/res1'/>
*** User 2023-11-13 20:16:50.873 ***🔗 geralt@localhost/res1 out <open xmlns='urn:ietf:params:xml:ns:xmpp-framing' to='localhost' version='1.0'/>
*** User 2023-11-13 20:16:50.873 ***🔗 geralt@localhost/res1 in <open xmlns='urn:ietf:params:xml:ns:xmpp-framing' id='b832b28d92865bc1' from='localhost' version='1.0' xml:lang='en'/>
*** User 2023-11-13 20:16:50.873 ***🔗 geralt@localhost/res1 in <features xmlns='http://etherx.jabber.org/streams'> <register xmlns='http://jabber.org/features/iq-register'/> <mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'> <mechanism>PLAIN</mechanism> </mechanisms> <amp xmlns='http://jabber.org/feature/amp'/> <sm xmlns='urn:xmpp:sm:3'/> </features>
*** User 2023-11-13 20:16:50.874 ***🔗 geralt@localhost/res1 out <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'>AGdlcmFsdAB3aXRjaGVy</auth>
*** User 2023-11-13 20:16:50.875 ***🔗 geralt@localhost/res1 in <success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/>
*** User 2023-11-13 20:16:50.875 ***🔗 geralt@localhost/res1 out <open xmlns='urn:ietf:params:xml:ns:xmpp-framing' to='localhost' version='1.0'/>
*** User 2023-11-13 20:16:50.876 ***🔗 geralt@localhost/res1 in <open xmlns='urn:ietf:params:xml:ns:xmpp-framing' id='b4dea0e76e6f0938' from='localhost' version='1.0' xml:lang='en' to='geralt@localhost'/>
*** User 2023-11-13 20:16:50.876 ***🔗 geralt@localhost/res1 in <features xmlns='http://etherx.jabber.org/streams'> <session xmlns='urn:ietf:params:xml:ns:xmpp-session'/> <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'/> <register xmlns='http://jabber.org/features/iq-register'/> <amp xmlns='http://jabber.org/feature/amp'/> <sm xmlns='urn:xmpp:sm:3'/> </features>
*** User 2023-11-13 20:16:50.876 ***🔗 geralt@localhost/res1 out <iq type='set' id='a892358853373a1b650be99ea8642808'> <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'> <resource>res1</resource> </bind> </iq>
*** User 2023-11-13 20:16:50.876 ***🔗 geralt@localhost/res1 in <iq id='a892358853373a1b650be99ea8642808' type='result' xmlns='jabber:client'> <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'> <jid>geralt@localhost/res1</jid> </bind> </iq>
*** User 2023-11-13 20:16:50.876 ***🔗 geralt@localhost/res1 out <iq type='set' id='7cedbdc232a76b402c9400aeeb9e5d63'> <session xmlns='urn:ietf:params:xml:ns:xmpp-session'/> </iq>
*** User 2023-11-13 20:16:50.878 ***🔗 geralt@localhost/res1 in <iq from='localhost' to='geralt@localhost/res1' id='7cedbdc232a76b402c9400aeeb9e5d63' type='result' xmlns='jabber:client'> <session xmlns='urn:ietf:params:xml:ns:xmpp-session'/> </iq>
*** User 2023-11-13 20:16:50.878 ***🔗 geralt@localhost/res1 out <presence/>
*** User 2023-11-13 20:16:50.879 ***🔗 geralt@localhost/res1 in <presence from='geralt@localhost/res1' to='geralt@localhost/res1' xmlns='jabber:client'/>
*** User 2023-11-13 20:16:50.879 ***🔗 carol@localhost/res1 out <stream:stream to='localhost' version='1.0' xml:lang='en' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'>
*** User 2023-11-13 20:16:50.892 ***🔗 carol@localhost/res1 in <stream:stream from='localhost' version='1.0' xml:lang='en' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'>
*** User 2023-11-13 20:16:50.893 ***🔗 carol@localhost/res1 in <stream:features> <register xmlns='http://jabber.org/features/iq-register'/> <mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'> <mechanism>PLAIN</mechanism> </mechanisms> <amp xmlns='http://jabber.org/feature/amp'/> <sm xmlns='urn:xmpp:sm:3'/> </stream:features>
*** User 2023-11-13 20:16:50.893 ***🔗 carol@localhost/res1 out <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'>AGNhcm9sAGppbmdsZWJlbGxz</auth>
*** User 2023-11-13 20:16:50.895 ***🔗 carol@localhost/res1 in <success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/>
*** User 2023-11-13 20:16:50.895 ***🔗 carol@localhost/res1 out <stream:stream to='localhost' version='1.0' xml:lang='en' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'>
*** User 2023-11-13 20:16:50.907 ***🔗 carol@localhost/res1 in <stream:stream from='localhost' version='1.0' xml:lang='en' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'>
*** User 2023-11-13 20:16:50.908 ***🔗 carol@localhost/res1 in <stream:features> <session xmlns='urn:ietf:params:xml:ns:xmpp-session'/> <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'/> <register xmlns='http://jabber.org/features/iq-register'/> <amp xmlns='http://jabber.org/feature/amp'/> <sm xmlns='urn:xmpp:sm:3'/> </stream:features>
*** User 2023-11-13 20:16:50.908 ***🔗 carol@localhost/res1 out <iq type='set' id='1a055b56ad20026b95d28f2efd40dfb5'> <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'> <resource>res1</resource> </bind> </iq>
*** User 2023-11-13 20:16:50.908 ***🔗 carol@localhost/res1 in <iq xmlns='jabber:client' id='1a055b56ad20026b95d28f2efd40dfb5' type='result'> <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'> <jid>carol@localhost/res1</jid> </bind> </iq>
*** User 2023-11-13 20:16:50.909 ***🔗 carol@localhost/res1 out <iq type='set' id='633d977b85397247799c733328233445'> <session xmlns='urn:ietf:params:xml:ns:xmpp-session'/> </iq>
*** User 2023-11-13 20:16:50.909 ***🔗 carol@localhost/res1 in <iq xmlns='jabber:client' from='localhost' to='carol@localhost/res1' id='633d977b85397247799c733328233445' type='result'> <session xmlns='urn:ietf:params:xml:ns:xmpp-session'/> </iq>
*** User 2023-11-13 20:16:50.909 ***🔗 carol@localhost/res1 out <presence/>
*** User 2023-11-13 20:16:50.911 ***🔗 carol@localhost/res1 in <presence xmlns='jabber:client' from='carol@localhost/res1' to='carol@localhost/res1'/>
*** User 2023-11-13 20:16:50.911 ***🔗 alice@localhost/res1 out <message to='geralt@localhost/res1' type='chat'> <body>Hi! & < ></body> </message>
*** User 2023-11-13 20:16:50.911 ***🔗 geralt@localhost/res1 in <message from='alice@localhost/res1' to='geralt@localhost/res1' type='chat' xmlns='jabber:client'> <body>Hi! & < ></body> </message>
*** User 2023-11-13 20:16:50.911 ***🔗 geralt@localhost/res1 out <message to='alice@localhost/res1' type='chat'> <body>Hello! & < ></body> </message>
*** User 2023-11-13 20:16:50.912 ***🔗 alice@localhost/res1 in <message from='geralt@localhost/res1' to='alice@localhost/res1' type='chat' xmlns='jabber:client'> <body>Hello! & < ></body> </message>
*** User 2023-11-13 20:16:50.912 ***🔗 geralt@localhost/res1 out <message to='carol@localhost/res1' type='chat'> <body>Hey! & < ></body> </message>
*** User 2023-11-13 20:16:50.959 ***🔗 carol@localhost/res1 in <message from='geralt@localhost/res1' to='carol@localhost/res1' type='chat' xmlns='jabber:client'> <body>Hey! & < ></body> </message>
*** User 2023-11-13 20:16:50.959 ***🔗 carol@localhost/res1 out </stream:stream>
*** User 2023-11-13 20:16:50.960 ***🔗 carol@localhost/res1 in </stream:stream>
*** User 2023-11-13 20:16:50.960 ***🔗 geralt@localhost/res1 out <close xmlns='urn:ietf:params:xml:ns:xmpp-framing'/>
*** User 2023-11-13 20:16:50.960 ***🔗 geralt@localhost/res1 in <close xmlns='urn:ietf:params:xml:ns:xmpp-framing'/>
*** User 2023-11-13 20:16:50.961 ***🔗 alice@localhost/res1 out </stream:stream>
*** User 2023-11-13 20:16:50.961 ***🔗 alice@localhost/res1 in </stream:stream>
*** System report during websockets_SUITE:escape_chat_msg/1 in ws_chat 2023-11-13 20:16:50.961 ***🔗 =ERROR REPORT==== 13-Nov-2023::20:16:50.961463 === ** State machine <0.28774.1> terminating ** Last event = {cast,{ws_send,<0.28773.1>,#Ref<0.170504076.1401421826.60724>, close}} ** When server state = {connected, {state,<0.28773.1>, {up,#Ref<0.170504076.1401421826.60720>}, "localhost",5280,<<"http">>,"localhost",5280, [], #{protocols => [http],transport => tcp}, undefined,#Port<0.6845>,gun_tcp,true, {tcp,tcp_closed,tcp_error}, gun_http, {http_state,#Port<0.6845>,gun_tcp,#{}, 'HTTP/1.1',keepalive,<<>>,undefined,[], head, {0,0}, head}, undefined,gun_default_event_h,undefined}} ** Reason for termination = error:{'function not exported', {gun_http,ws_send,6}} ** Callback modules = [gun] ** Callback mode = state_functions ** Stacktrace = ** [{gun,connected,3, [{file,"/home/circleci/project/big_tests/_build/default/lib/gun/src/gun.erl"}, {line,1301}]}, {gen_statem,loop_state_callback,11,[{file,"gen_statem.erl"},{line,1426}]}, {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]
*** System report during websockets_SUITE:escape_chat_msg/1 in ws_chat 2023-11-13 20:16:50.962 ***🔗 =CRASH REPORT==== 13-Nov-2023::20:16:50.962069 === crasher: initial call: gun:init/1 pid: <0.28774.1> registered_name: [] exception error: undefined function gun_http:ws_send/6 in function gun:connected/3 (/home/circleci/project/big_tests/_build/default/lib/gun/src/gun.erl, line 1301) in call from gen_statem:loop_state_callback/11 (gen_statem.erl, line 1426) ancestors: [gun_conns_sup,gun_sup,<0.1455.0>] message_queue_len: 1 messages: [{'DOWN',#Ref<0.170504076.1401421826.60720>,process, <0.28773.1>,normal}] links: [<0.1457.0>,#Port<0.6845>] dictionary: [] trap_exit: false status: running heap_size: 6772 stack_size: 28 reductions: 17175 neighbours:
*** System report during websockets_SUITE:escape_chat_msg/1 in ws_chat 2023-11-13 20:16:50.962 ***🔗 =SUPERVISOR REPORT==== 13-Nov-2023::20:16:50.962569 === supervisor: {local,gun_conns_sup} errorContext: child_terminated reason: {undef, [{gun_http,ws_send, [close, {http_state,#Port<0.6845>,gun_tcp,#{},'HTTP/1.1', keepalive,<<>>,undefined,[],head, {0,0}, head}, #Ref<0.170504076.1401421826.60724>,<0.28773.1>, gun_default_event_h,undefined], []}, {gun,connected,3, [{file, "/home/circleci/project/big_tests/_build/default/lib/gun/src/gun.erl"}, {line,1301}]}, {gen_statem,loop_state_callback,11, [{file,"gen_statem.erl"},{line,1426}]}, {proc_lib,init_p_do_apply,3, [{file,"proc_lib.erl"},{line,240}]}]} offender: [{pid,<0.28774.1>}, {id,gun}, {mfargs,{gun,start_link,undefined}}, {restart_type,temporary}, {significant,false}, {shutdown,5000}, {child_type,worker}]
=== Ended at 2023-11-13 20:16:50 === successfully completed test case === === Returned value: ok
Test run history | Top level test index | Latest test result