Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-129222

Sporadic segfault at getenv from pulseaudio during boot

    XMLWordPrintable

Details

    • Linux/Yocto

    Description

      Multithreaded Qt6 application segfaults once in  thousand reboots. getenv segfault is in pulseaudio. However, it is caused by qputenv/qunsetenv calls in qtbase thread which modifies the environment.

      Other details:

      i.MX8MP SOC
      xwayland with Vivante drivers
      Yocto Kirkstone release

      (gdb) thread apply all bt
      {}...
      Thread 4 (Thread 0xffffbe38a500 (LWP 833)):
      #0  0x0000ffffbb573100 in ?? () from /lib/libQt6Gui.so.6
      #1  0x0000ffffbb5be4e4 in ?? () from /lib/libQt6Gui.so.6
      #2  0x0000ffffbb5b18a0 in QGuiApplicationPrivate::createPlatformIntegration() () from /lib/libQt6Gui.so.6
      #3  0x0000ffffbb5b19c0 in QGuiApplicationPrivate::createEventDispatcher() () from /lib/libQt6Gui.so.6
      #4  0x0000ffffbad483f0 in QCoreApplicationPrivate::init() () from /lib/libQt6Core.so.6
      #5  0x0000ffffbb5b4d90 in QGuiApplicationPrivate::init() () from /lib/libQt6Gui.so.6
      #6  0x0000ffffbb5b63bc in QGuiApplication::QGuiApplication(int&, char**, int) () from /lib/libQt6Gui.so.6
      #7  0x0000aaaadee9a294 in ?? ()
      #8  0x0000aaaadee9de6c in ?? ()
      #9  0x0000aaaadee95ae4 in ?? ()
      #10 0x0000ffffbb27b230 in ?? () from /lib/libc.so.6
      #11 0x0000ffffbb27b30c in __libc_start_main () from /lib/libc.so.6
      #12 0x0000aaaadee93c70 in ?? ()
      ...
      -Type <RET> for more, q to quit, c to continue without paging-
      Thread 1 (Thread 0xffffafffea60 (LWP 873)):
      #0  0x0000ffffbb28f978 in getenv () from /lib/libc.so.6
      #1  0x0000ffffa49084c0 in init_defaults () at ../pulseaudio-15.0/src/pulsecore/log.c:303
      #2  0x0000ffffa4908c30 in init_defaults () at ../pulseaudio-15.0/src/pulsecore/log.c:574
      #3  pa_log_levelv_meta (level=level@entry=PA_LOG_DEBUG, file=file@entry=0xffffa492b6f8 "../pulseaudio-15.0/src/pulsecore/conf-parser.c", line=line@entry=184, func=func@entry=0xffffa492b998 <_func_.19> "pa_config_parse", format=format@entry=0xffffa492b768 "Parsing configuration file '%s'", ap=...) at ../pulseaudio-15.0/src/pulsecore/log.c:394
      #4  0x0000ffffa4908740 in pa_log_level_meta (level=level@entry=PA_LOG_DEBUG, file=file@entry=0xffffa492b6f8 "../pulseaudio-15.0/src/pulsecore/conf-parser.c", line=line@entry=184, func=func@entry=0xffffa492b998 <_func_.19> "pa_config_parse", format=format@entry=0xffffa492b768 "Parsing configuration file '%s'") at ../pulseaudio-15.0/src/pulsecore/log.c:585
      #5  0x0000ffffa48f3cf8 in pa_config_parse (filename=0xffff18019d40 "/etc/pulse/client.conf", f=f@entry=0xffff18002240, t=t@entry=0xffffafffbb08, proplist=proplist@entry=0x0, use_dot_d=false, use_dot_d@entry=true, userdata=0xffff18002240, userdata@entry=0x0) at ../pulseaudio-15.0/src/pulsecore/conf-parser.c:184
      #6  0x0000ffffa48e597c in pa_client_conf_load (c=0xffff18019a90, load_from_x11=load_from_x11@entry=true, load_from_env=load_from_env@entry=true) at ../pulseaudio-15.0/src/pulse/client-conf.c:155
      #7  0x0000ffffa496ff90 in pa_context_new_with_proplist (p=<optimized out>, name=<optimized out>, mainloop=0xffff18017948) at ../pulseaudio-15.0/src/pulse/context.c:175
      #8  pa_context_new_with_proplist (mainloop=0xffff18017948, name=<optimized out>, p=<optimized out>) at ../pulseaudio-15.0/src/pulse/context.c:128
      #9  0x0000ffffb5c24620 in pulse_new () at ../../alsa-plugins-1.2.6/pulse/pulse.c:157
      #10 0x0000ffffb5c23fc8 in _snd_pcm_pulse_open (pcmp=pcmp@entry=0xffffa86ff238, name=name@entry=0xaaaae18a2008 "default", root=root@entry=0xffff180021f0, conf=conf@entry=0xffff18003510, stream=stream@entry=SND_PCM_STREAM_PLAYBACK, mode=mode@entry=1) at ../../alsa-plugins-1.2.6/pulse/pcm_pulse.c:1129
      #11 0x0000ffffbd249f30 in snd_pcm_open_conf (pcmp=pcmp@entry=0xffffa86ff238, name=name@entry=0xaaaae18a2008 "default", pcm_root=pcm_root@entry=0xffff180021f0, pcm_conf=0xffff18003510, stream=stream@entry=SND_PCM_STREAM_PLAYBACK, mode=mode@entry=1) at ../../../alsa-lib-1.2.6.1/src/pcm/pcm.c:2613
      #12 0x0000ffffbd24a534 in snd_pcm_open_noupdate (pcmp=pcmp@entry=0xffffa86ff238, root=0xffff180021f0, name=name@entry=0xaaaae18a2008 "default", stream=stream@entry=SND_PCM_STREAM_PLAYBACK, mode=mode@entry=1, hop=hop@entry=0) at ../../../alsa-lib-1.2.6.1/src/pcm/pcm.c:2672
      #13 0x0000ffffbd24d754 in snd_pcm_open (pcmp=0xffffa86ff238, name=0xaaaae18a2008 "default", stream=SND_PCM_STREAM_PLAYBACK, mode=1) at ../../../alsa-lib-1.2.6.1/src/pcm/pcm.c:2702

      {{}}


      {{}}
      1. Pulseaudio bug report (caused by qt thread):
      https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/3829
      2. libQt6Gui.so.6 -  qtbase-6.5.3 use qputenv()/qunsetenv() to modify environment variables.{}

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              sapiippo Samuli Piippo
              maxinbjohn Maxin Baby John
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes