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

Crash when connecting to server via socks5 proxy #6709

Open
vitoyucepi opened this issue Jan 20, 2025 · 2 comments
Open

Crash when connecting to server via socks5 proxy #6709

vitoyucepi opened this issue Jan 20, 2025 · 2 comments
Labels
bug A bug (error) in the software needs-more-input triage This issue is waiting to be triaged by one of the project members

Comments

@vitoyucepi
Copy link

Description

Mumble crashes when using the server connection menu or when connecting to the server using some socks5 proxies.
I don't know how to reproduce this reliably, but some proxies on the internet cause the mumble client to crash.

I reported this problem in the

Steps to reproduce

  1. Launch Mumble.
  2. Configure mumble to use a socks5 proxy.
    I used a free proxy list to trigger this problem, but the server is now offline.
  3. Add a server.
  4. Try to connect to it.
  5. Crash.

Mumble version

1.5.735

Mumble component

Client

OS

Linux

Reproducible?

Yes

Additional information

Thread 1 "mumble" received signal SIGSEGV, Segmentation fault.
0x00007ffff532ec1e in QVector<QRingChunk>::isEmpty (this=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qvector.h:90
90	    inline bool isEmpty() const { return d->size == 0; }
(gdb) bt
#0  0x00007ffff532ec1e in QVector<QRingChunk>::isEmpty (this=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qvector.h:90
#1  QRingBuffer::clear (this=0x10) at tools/qringbuffer.cpp:237
#2  0x00007ffff6faa021 in QSocks5SocketEnginePrivate::_q_emitPendingReadNotification (this=0x555557053040) at socket/qsocks5socketengine.cpp:922
#3  QSocks5SocketEngine::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qsocks5socketengine_p.cpp:117
#4  0x00007ffff54d55bc in QObject::event (this=0x55555704e0a0, e=0x555557133e60) at kernel/qobject.cpp:1347
#5  0x00007ffff6756581 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55555704e0a0, e=0x555557133e60) at kernel/qapplication.cpp:3640
#6  0x00007ffff54aee98 in QCoreApplication::notifyInternal2 (receiver=0x55555704e0a0, event=0x555557133e60) at kernel/qcoreapplication.cpp:1064
#7  0x00007ffff54aef03 in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#8  0x00007ffff54af946 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x555555f88100) at kernel/qcoreapplication.cpp:1821
#9  0x00007ffff54fa0e0 in postEventSourceDispatch (s=0x555556189820) at kernel/qeventdispatcher_glib.cpp:277
#10 0x00007ffff4821559 in g_main_dispatch (context=0x7fffec000ed0) at ../glib/glib/gmain.c:3357
#11 0x00007ffff4884257 in g_main_context_dispatch_unlocked (context=0x7fffec000ed0) at ../glib/glib/gmain.c:4208
#12 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7fffec000ed0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4273
#13 0x00007ffff4820a55 in g_main_context_iteration (context=0x7fffec000ed0, may_block=1) at ../glib/glib/gmain.c:4338
#14 0x00007ffff54fe16f in QEventDispatcherGlib::processEvents (this=0x7fffec00f6d0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#15 0x00007ffff54a6b5c in QEventLoop::exec (this=this@entry=0x7fffffffdd10, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#16 0x00007ffff6964fff in QDialog::exec (this=this@entry=0x5555565824a0) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#17 0x0000555555761fbe in MainWindow::openServerConnectDialog (this=0x555556124bc0, autoconnect=true) at /usr/src/debug/mumble/mumble-1.5.735/src/mumble/MainWindow.cpp:3957
#18 0x00005555556398b4 in MainWindow::on_qaServerConnect_triggered (this=<optimized out>, autoconnect=true) at /usr/src/debug/mumble/mumble-1.5.735/src/mumble/MainWindow.cpp:1540
#19 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/mumble/mumble-1.5.735/src/mumble/main.cpp:799

Relevant log output

<X>2025-01-09 19:09:25.982 Loading settings from "/home/user/.config/Mumble/Mumble/mumble_settings.json"
<D>2025-01-09 19:09:27.470 JACK 3.0.0.0 (using PipeWire 1.2.7) from libjack.so
<X>2025-01-09 19:09:27.471 PipeWire 1.2.7 from libpipewire-0.3.so
ALSA lib pcm_dmix.c:1000:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2719:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2719:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2719:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:878:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_oss.c:404:(_snd_pcm_oss_open) Cannot open device /dev/dsp
ALSA lib pcm_oss.c:404:(_snd_pcm_oss_open) Cannot open device /dev/dsp
ALSA lib pcm_a52.c:1036:(_snd_pcm_a52_open) a52 is only for playback
ALSA lib confmisc.c:160:(snd_config_get_card) Invalid field card
ALSA lib pcm_usb_stream.c:481:(_snd_pcm_usb_stream_open) Invalid card 'card'
ALSA lib confmisc.c:160:(snd_config_get_card) Invalid field card
ALSA lib pcm_usb_stream.c:481:(_snd_pcm_usb_stream_open) Invalid card 'card'
ALSA lib pcm_dmix.c:1000:(snd_pcm_dmix_open) unable to open slave
<D>2025-01-09 19:09:27.577 PortAudio V19.7.0-devel, revision unknown from libportaudio.so
<D>2025-01-09 19:09:27.577 PulseAudio 17.0.0 from libpulse.so
<W>2025-01-09 19:09:27.579 Theme: "Mumble"
<W>2025-01-09 19:09:27.579 Style: "Lite"
<W>2025-01-09 19:09:27.579 --> qss: ":themes/Default/Lite.qss"
<W>2025-01-09 19:09:27.579 Locale is "en_DK" (System: "en_DK")
<W>2025-01-09 19:09:27.610 Database SQLite: "3.47.2"
<W>2025-01-09 19:09:27.656 Updating application palette
<W>2025-01-09 19:09:27.668 GlobalShortcutX: Using XI2 2.4
<W>2025-01-09 19:09:27.694 QMetaObject::connectSlotsByName: No matching signal for on_qtvUsers_customContextMenuRequested(QPoint,bool)
<W>2025-01-09 19:09:27.694 QMetaObject::connectSlotsByName: No matching signal for on_muteCuePopup_triggered()
<W>2025-01-09 19:09:27.742 SocketRPC: Removing old socket on "/run/user/1000/MumbleSocket"
<W>2025-01-09 19:09:27.745 AudioInput: Opus encoder set for low delay
<W>2025-01-09 19:09:27.745 AudioInput: 96000 bits/s, 48000 hz, 480 sample
<W>2025-01-09 19:09:27.745 PulseAudio: Starting input alsa_output.pci-0000_00_1f.3.analog-stereo.monitor
<W>2025-01-09 19:09:27.746 PulseAudio: Starting echo: alsa_output.pci-0000_00_1f.3.analog-stereo.monitor
<W>2025-01-09 19:09:27.746 PulseAudio: Starting output: alsa_output.pci-0000_00_1f.3.analog-stereo
<W>2025-01-09 19:09:27.749 Public list disabled
<W>2025-01-09 19:09:27.768 AudioInput: Initialized mixer for 1 channel 48000 hz mic and 0 channel 48000 hz echo
<W>2025-01-09 19:09:27.768 AudioInput: Using Speex as noise canceller
warning: The VAD has been replaced by a hack pending a complete rewrite
<W>2025-01-09 19:09:27.772 AudioOutput: Initialized 2 channel 48000 hz mixer
<W>2025-01-09 19:09:27.773 AudioInput: Initialized mixer for 1 channel 48000 hz mic and 1 channel 48000 hz echo
<W>2025-01-09 19:09:27.795 AudioInput: Using Speex as noise canceller
warning: The VAD has been replaced by a hack pending a complete rewrite
<W>2025-01-09 19:09:27.795 AudioInput: ECHO CANCELLER ACTIVE
<W>2025-01-09 19:09:29.944 Database SQLite: "3.47.2"
<W>2025-01-09 19:09:29.944 OpenSSL Support: 1 (OpenSSL 3.4.0 22 Oct 2024)
<W>2025-01-09 19:09:29.976 ServerHandler: TLS cipher preference is "TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:AES256-SHA:AES128-SHA"
<W>2025-01-09 19:09:29.994 WARNING Qt AtSpiAdaptor: Accessible invalid:  QAccessibleInterface(0x61db566786d0 invalid) "/org/a11y/atspi/accessible/2147483747"
<W>2025-01-09 19:09:29.997 WARNING Qt AtSpiAdaptor: Accessible invalid:  QAccessibleInterface(0x61db566786d0 invalid) "/org/a11y/atspi/accessible/2147483747"
<W>2025-01-09 19:09:29.998 WARNING Qt AtSpiAdaptor: Accessible invalid:  QAccessibleInterface(0x61db56618210 invalid) "/org/a11y/atspi/accessible/2147483756"
<W>2025-01-09 19:09:29.998 WARNING Qt AtSpiAdaptor: Accessible invalid:  QAccessibleInterface(0x61db56618210 invalid) "/org/a11y/atspi/accessible/2147483756"
<W>2025-01-09 19:09:29.998 WARNING Qt AtSpiAdaptor: Accessible invalid:  QAccessibleInterface(0x61db566f3970 invalid) "/org/a11y/atspi/accessible/2147483765"
<W>2025-01-09 19:09:29.998 WARNING Qt AtSpiAdaptor: Accessible invalid:  QAccessibleInterface(0x61db566f3970 invalid) "/org/a11y/atspi/accessible/2147483765"
<W>2025-01-09 19:09:29.999 WARNING Qt AtSpiAdaptor: Accessible invalid:  QAccessibleInterface(0x61db56617f10 invalid) "/org/a11y/atspi/accessible/2147483774"
<W>2025-01-09 19:09:29.999 WARNING Qt AtSpiAdaptor: Accessible invalid:  QAccessibleInterface(0x61db56617f10 invalid) "/org/a11y/atspi/accessible/2147483774"
<W>2025-01-09 19:09:29.999 WARNING Qt AtSpiAdaptor: Accessible invalid:  QAccessibleInterface(0x61db5666e100 invalid) "/org/a11y/atspi/accessible/2147483783"
<W>2025-01-09 19:09:29.999 WARNING Qt AtSpiAdaptor: Accessible invalid:  QAccessibleInterface(0x61db5666e100 invalid) "/org/a11y/atspi/accessible/2147483783"
<W>2025-01-09 19:09:29.999 WARNING Qt AtSpiAdaptor: Accessible invalid:  QAccessibleInterface(0x61db5665f330 invalid) "/org/a11y/atspi/accessible/2147483792"
<W>2025-01-09 19:09:29.999 WARNING Qt AtSpiAdaptor: Accessible invalid:  QAccessibleInterface(0x61db5665f330 invalid) "/org/a11y/atspi/accessible/2147483792"
<W>2025-01-09 19:09:30.112 Connection: Failed to set TOS for TCP Socket
<W>2025-01-09 19:09:30.115 ServerHandler: Failed to set TOS for UDP Socket
<W>2025-01-09 19:09:30.264 QUdpSocket::hasPendingDatagrams() called on a QUdpSocket when not in QUdpSocket::BoundState
Segmentation fault

Screenshots

No response

@vitoyucepi vitoyucepi added bug A bug (error) in the software triage This issue is waiting to be triaged by one of the project members labels Jan 20, 2025
@Krzmbrzl
Copy link
Member

Hm... the crash backtrace looks like it is a Qt internal crash that you are seeing. So either this is a bug in Qt or Mumble would have to do something special when proxies are involved. However, shouldn't the Proxy be configured system-wide and from then on be essentially transparent for all applications (as it would be the job of the OS to send internet traffic through the proxy)?

@vitoyucepi
Copy link
Author

Yes, this looks a lot like a Qt5 related problem, but the package maintainer at arch told me to file a bug here. Have a look at the discussion.
My best guess is that d == nullptr in d->size.

Personally, I don't like the system-wide proxies because I often route different programs through different proxies.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A bug (error) in the software needs-more-input triage This issue is waiting to be triaged by one of the project members
Projects
None yet
Development

No branches or pull requests

2 participants