Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gajim gajim
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 177
    • Issues 177
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 7
    • Merge requests 7
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • gajim
  • gajimgajim
  • Issues
  • #10658

Closed
Open
Created Oct 15, 2021 by Zash@Zash

Account wizard stuck on spinner when connected to broken server

xmpp:http.badxmpp.eu is a test case with the _xmpp-client SRV record pointed at port 80 of a http server. This triggers an XML parser error, which ought to be caught and reported so the user can bother their admin about fixing it.

Versions

  • OS: Debian 11
  • Gajim version: master b3a88167
  • GTK version: 3.24.24
  • Python-nbxmpp version: 01b4b9c8a306

Steps to reproduce the problem

  1. Go to Account manager
  2. Click Add Account
  3. Fill in anything@http.badxmpp.eu as address
  4. Fill in anything as password
  5. Click 'Log In'

Expected behavior

Some sort of error.

Actual behavior

Spinner, forever. An error is show in the console XML parsing error: not well-formed (see below).

launch.py -v gives the following output around the error:

2021-10-15 17:26:51 (I) nbxmpp.stream              (Account Wizard) Set state: StreamState.CONNECTED
2021-10-15 17:26:51 (I) nbxmpp.stream              (Account Wizard) Execute state machine
2021-10-15 17:26:51 (I) nbxmpp.dispatcher          (Account Wizard) Set dispatch callback: <bound method Client._xmpp_state_machine of <nbxmpp.client.Client object at 0x7f16c837abe0>>
2021-10-15 17:26:51 (I) nbxmpp.stream              (Account Wizard) Start stream
2021-10-15 17:26:51 (I) nbxmpp.stream              (Account Wizard) Set state: StreamState.WAIT_FOR_STREAM_START
2021-10-15 17:26:51 (I) nbxmpp.connection          (Account Wizard) ::::: DATA SENT ::::

<?xml version='1.0'?><stream:stream xmlns="jabber:client" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" to="http.badxmpp.eu" xml:lang="en">

2021-10-15 17:26:51 (I) nbxmpp.connection          (Account Wizard) Signal: data-sent
2021-10-15 17:26:51 (I) nbxmpp.stream              (Account Wizard) Signal: stanza-sent
2021-10-15 17:26:51 (D) gajim.c.ged                Raise event: stanza-sent
2021-10-15 17:26:51 (I) nbxmpp.connection          (Account Wizard) Add keepalive timer
2021-10-15 17:26:51 (I) nbxmpp.connection          (Account Wizard) ::::: DATA RECEIVED ::::

HTTP/1.1 400 Bad Request
Server: nginx
Date: Fri, 15 Oct 2021 15:26:52 GMT
Content-Type: text/html; charset=utf-8
Connection: close

<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx</center>
</body>
</html>


2021-10-15 17:26:51 (I) nbxmpp.connection          (Account Wizard) Signal: data-received
2021-10-15 17:26:51 (E) nbxmpp.dispatcher          (Account Wizard) XML parsing error: not well-formed (invalid token): line 1, column 4
2021-10-15 17:26:51 (I) nbxmpp.dispatcher          (Account Wizard) Signal: parsing-error
2021-10-15 17:26:51 (I) nbxmpp.stream              (Account Wizard) Set error: StreamError.PARSING, parsing-error, not well-formed (invalid token): line 1, column 4
2021-10-15 17:26:51 (I) nbxmpp.stream              (Account Wizard) Set state: StreamState.DISCONNECTING
2021-10-15 17:26:51 (I) nbxmpp.smacks              (Account Wizard) Close session
2021-10-15 17:26:51 (I) nbxmpp.connection          (Account Wizard) Remove keepalive timer
2021-10-15 17:26:51 (I) nbxmpp.connection          (Account Wizard) Set Connection State: TCPState.DISCONNECTING
2021-10-15 17:26:51 (I) nbxmpp.connection          (Account Wizard) Shutdown output
2021-10-15 17:26:51 (I) nbxmpp.connection          (Account Wizard) ::::: DATA SENT ::::

</stream:stream>

2021-10-15 17:26:51 (I) nbxmpp.connection          (Account Wizard) Signal: data-sent
2021-10-15 17:26:51 (I) nbxmpp.stream              (Account Wizard) Signal: stanza-sent
2021-10-15 17:26:51 (D) gajim.c.ged                Raise event: stanza-sent
2021-10-15 17:26:51 (I) nbxmpp.connection          (Account Wizard) Reveived zero data on _read_async()
2021-10-15 17:26:51 (I) nbxmpp.connection          (Account Wizard) Set Connection State: TCPState.DISCONNECTED
2021-10-15 17:26:51 (I) nbxmpp.connection          (Account Wizard) Signal: disconnected
2021-10-15 17:26:51 (I) nbxmpp.stream              (Account Wizard) Set state: StreamState.DISCONNECTED
2021-10-15 17:26:51 (I) nbxmpp.stream              (Account Wizard) Signal: disconnected
2021-10-15 17:26:51 (I) nbxmpp.dispatcher          (Account Wizard) Clear IQ callbacks
Assignee
Assign to
Time tracking