After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 640982 - Crash in GetString, Ekiga::AudioOutputCoreConfBridge::on_property_changed
Crash in GetString, Ekiga::AudioOutputCoreConfBridge::on_property_changed
Status: RESOLVED FIXED
Product: ekiga
Classification: Applications
Component: general
3.3.x
Other All
: Normal critical
: ---
Assigned To: Ekiga maintainers
Ekiga maintainers
: 642234 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2011-01-31 00:29 UTC by ales.golob
Modified: 2011-03-04 18:58 UTC
See Also:
GNOME target: ---
GNOME version: 2.29/2.30


Attachments
ekiga -d 4 (65.05 KB, text/plain)
2011-01-31 19:30 UTC, ales.golob
Details

Description ales.golob 2011-01-31 00:29:27 UTC
Version: 3.3.0

What were you doing when the application crashed?
starting it up.


Distribution: openSUSE 11.3 (x86_64)
Gnome Release: 2.30.0 (null) (SUSE)
BugBuddy Version: 2.30.0

System: Linux 2.6.34.7-0.7-desktop #1 SMP PREEMPT 2010-12-13 11:13:53 +0100 x86_64
X Vendor: The X.Org Foundation
X Vendor Release: 10800000
Selinux: No
Accessibility: Disabled
GTK+ Theme: Sonar
Icon Theme: Gilouche
GTK+ Modules: canberra-gtk-module, gnomebreakpad

Memory status: size: 300720128 vsize: 300720128 resident: 31141888 share: 23728128 rss: 31141888 rss_rlim: 18446744073709551615
CPU usage: start_time: 1296433796 rtime: 36 utime: 29 stime: 7 cutime:0 cstime: 0 timeout: 0 it_real_value: 0 frequency: 100

Backtrace was generated from '/usr/local/bin/ekiga'

[Thread debugging using libthread_db enabled]
[New Thread 0x7f52b1392710 (LWP 4478)]
[New Thread 0x7f52b13d3710 (LWP 4477)]
[New Thread 0x7f52b4a51710 (LWP 4476)]
[New Thread 0x7f52b1414710 (LWP 4456)]
[New Thread 0x7f52b4a92710 (LWP 4450)]
[New Thread 0x7f52b4ad3710 (LWP 4449)]
[New Thread 0x7f52b4b14710 (LWP 4448)]
[New Thread 0x7f52b4b55710 (LWP 4447)]
[New Thread 0x7f52c0797710 (LWP 4446)]
[New Thread 0x7f52c07d8710 (LWP 4445)]
[New Thread 0x7f52c0819710 (LWP 4444)]
[New Thread 0x7f52c085a710 (LWP 4443)]
0x00007f52bdc14e7d in waitpid () from /lib64/libpthread.so.0

Thread 1 (Thread 0x7f52c0906900 (LWP 4442))

  • #0 waitpid
    from /lib64/libpthread.so.0
  • #1 g_spawn_sync
    from /usr/lib64/libglib-2.0.so.0
  • #2 g_spawn_command_line_sync
    from /usr/lib64/libglib-2.0.so.0
  • #3 ??
    from /usr/lib64/gtk-2.0/modules/libgnomebreakpad.so
  • #4 <signal handler called>
  • #5 std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
    from /usr/lib64/libstdc++.so.6
  • #6 operator+<char, std::char_traits<char>, std::allocator<char> >
    at /usr/include/c++/4.5/bits/basic_string.h line 2303
  • #7 GetString
    at ../lib/engine/framework/device-def.h line 87
  • #8 Ekiga::AudioOutputCoreConfBridge::on_property_changed
    at ../lib/engine/audiooutput/audiooutput-gmconf-bridge.cpp line 97
  • #9 operator()
    at /usr/include/boost/bind/mem_fn_template.hpp line 280
  • #13 operator()
    at /usr/include/boost/function/function_template.hpp line 1013
  • #14 operator()<boost::signals::detail::connection_slot_pair>
    at /usr/include/boost/signals/signal_template.hpp line 119
  • #15 dereference
    at /usr/include/boost/signals/detail/slot_call_iterator.hpp line 61
  • #17 operator*
    at /usr/include/boost/iterator/iterator_facade.hpp line 634
  • #18 postfix_increment_proxy
    at /usr/include/boost/iterator/iterator_facade.hpp line 144
  • #22 entry_changed_nt
    at ../lib/engine/framework/gmconf-bridge.cpp line 59
  • #23 gconf_listeners_notify
    from /usr/lib64/libgconf-2.so.4
  • #24 ??
    from /usr/lib64/libgconf-2.so.4
  • #25 gconf_client_notify
    from /usr/lib64/libgconf-2.so.4
  • #26 Ekiga::ConfBridge::load
    at ../lib/engine/framework/gmconf-bridge.cpp line 70
  • #27 Ekiga::AudioOutputCoreConfBridge::AudioOutputCoreConfBridge
    at ../lib/engine/audiooutput/audiooutput-gmconf-bridge.cpp line 67
  • #28 Ekiga::AudioOutputCore::setup_conf_bridge
    at ../lib/engine/audiooutput/audiooutput-core.cpp line 89
  • #29 engine_init
    at ../lib/engine/engine.cpp line 222
  • #30 main
    at gui/main_window.cpp line 4614

	Inferior 1 [process 4442] will be detached.

Quit anyway? (y or n) [answered Y; input not from terminal]


----------- .xsession-errors (16 sec old) ---------------------
Tracker-Message: ---> [199|tracker-miner-fs] Failed, Unable to insert multiple values for subject `urn:software-category:%2Fusr%2Fshare%2Fdesktop-directories%2Fsuse-internet-remoteaccess.directory' an
(tracker-miner-fs:4403): Tracker-CRITICAL **: Could not execute sparql: Unable to insert multiple values for subject `urn:software-category:%2Fusr%2Fshare%2Fdesktop-directories%2Fsuse-internet-remotea
Tracker-Message: ---> [200|tracker-miner-fs] Failed, Unable to insert multiple values for subject `urn:software-category:%2Fusr%2Fshare%2Fdesktop-directories%2Fsuse-edutainment-art.directory' and sing
(tracker-miner-fs:4403): Tracker-CRITICAL **: Could not execute sparql: Unable to insert multiple values for subject `urn:software-category:%2Fusr%2Fshare%2Fdesktop-directories%2Fsuse-edutainment-art.
Tracker-Message: ---> [201|tracker-miner-fs] Failed, Unable to insert multiple values for subject `urn:software-category:%2Fusr%2Fshare%2Fdesktop-directories%2Fsuse-settings-sound.directory' and singl
(tracker-miner-fs:4403): Tracker-CRITICAL **: Could not execute sparql: Unable to insert multiple values for subject `urn:software-category:%2Fusr%2Fshare%2Fdesktop-directories%2Fsuse-settings-sound.d
Tracker-Message: ---> [202|tracker-miner-fs] Failed, Unable to insert multiple values for subject `urn:software-category:%2Fusr%2Fshare%2Fdesktop-directories%2Fsuse-toys.directory' and single valued p
(tracker-miner-fs:4403): Tracker-CRITICAL **: Could not execute sparql: Unable to insert multiple values for subject `urn:software-category:%2Fusr%2Fshare%2Fdesktop-directories%2Fsuse-toys.directory' 
Tracker-Message: ---> [524|tracker-miner-fs] Failed, Not a ISO 8601 date string
(tracker-miner-fs:4403): Tracker-CRITICAL **: Could not execute sparql: Not a ISO 8601 date string
--------------------------------------------------
Comment 1 Eugen Dedu 2011-01-31 07:41:04 UTC
It seems that the list of your audio devices is empty, I do not know why.

Is it reproducible?

Do you have audio devices?

Please send us the -d 4 output, cf. http://wiki.ekiga.org/index.php/Debugging_Ekiga#How_to_get_a_debug_output when launching and quitting ekiga.
Comment 2 ales.golob 2011-01-31 19:30:25 UTC
Created attachment 179739 [details]
ekiga -d 4
Comment 3 ales.golob 2011-01-31 19:54:32 UTC
(In reply to comment #1)
> It seems that the list of your audio devices is empty, I do not know why.
> 
> Is it reproducible?
> 
> Do you have audio devices?
> 
> Please send us the -d 4 output, cf.
> http://wiki.ekiga.org/index.php/Debugging_Ekiga#How_to_get_a_debug_output when
> launching and quitting ekiga.

Yes it's reproducible, everytime I run ekiga as a normal user. If I run it as root it doesen't crash but it doesen't detect any audio devices although they are present and working.

I'm running openSUSE 11.3 on an Acer Aspire 5315.

I've attached the -d 4 output above.
Comment 4 Snark 2011-02-01 07:59:10 UTC
I would say it's a case of initializing an std::string with a NULL pointer, but I lack the time to dig further.
Comment 5 Eugen Dedu 2011-02-01 09:18:47 UTC
Yes, it is that:

    AudioOutputDevice device;
    if (found)
      device.SetFromString (value);
    else
      device.SetFromString (devices.begin ()->GetString ());

As found is false, the else is executed, and it takes the first device.  However, devices is NULL (no device) => crash.

But, before fixing this issue (not using a NULL pointer), the real question is: why isn't any audio device detected?  Look:

2011/01/31 19:29:16.936	  0:00.225	                       	PCSS	Created PC sound system endpoint.
Players:
EKIGA
*.wav
Recorders:
EKIGA
*.wav

I will look into it, but if you have ideas you are welcome.
Comment 6 Eugen Dedu 2011-02-13 18:59:32 UTC
*** Bug 642234 has been marked as a duplicate of this bug. ***
Comment 7 Brian J. Murrell 2011-02-13 19:29:10 UTC
(In reply to comment #5)
> 
> 2011/01/31 19:29:16.936      0:00.225                               PCSS   
> Created PC sound system endpoint.
> Players:
> EKIGA
> *.wav
> Recorders:
> EKIGA
> *.wav

This seems to be my case also.

I use PulseAudio on Ubuntu Maverick in case that helps.
Comment 8 Eugen Dedu 2011-02-13 21:23:27 UTC
(In reply to comment #7)
> I use PulseAudio on Ubuntu Maverick in case that helps.

This could be the answer...  Do you have the pulse audio plugin?

ls -l /usr/lib/ptlib-*/devices/sound/
Comment 9 Brian J. Murrell 2011-02-13 22:05:02 UTC
(In reply to comment #8)
> (In reply to comment #7)
> > I use PulseAudio on Ubuntu Maverick in case that helps.
> 
> This could be the answer...  Do you have the pulse audio plugin?

Bingo!  I didn't have the ptlib plugins package installed.  Once installed ekiga starts up as expected.

Cheers!
Comment 10 Eugen Dedu 2011-02-13 22:12:28 UTC
Didn't you have NO ptlib plugins installed, or only pulse plugin was not installed?  What the ls command showed?

Doesn't ekiga or ptlib depend on ptlib plugins on your ubuntu?!
Comment 11 Snark 2011-02-14 08:00:36 UTC
Ekiga shouldn't crash just because there's no plugin giving some feature! We have a bug somewhere :-/
Comment 12 Eugen Dedu 2011-02-14 08:36:02 UTC
Right.  I'll take care.
Comment 13 Brian J. Murrell 2011-02-14 12:03:24 UTC
(In reply to comment #10)
> Didn't you have NO ptlib plugins installed, or only pulse plugin was not
> installed?

I had no ptlib plugins installed.  i.e. libpt2.8.4-plugins_2.8.0-0.01bjm_i386.deb was not installed at all.

> What the ls command showed?

I'm afraid I didn't do the ls command.  The above .deb contains:

/usr/lib/ptlib-2.8.4/devices/sound/pulse_pwplugin.so
/usr/lib/ptlib-2.8.4/devices/sound/oss_pwplugin.so
/usr/lib/ptlib-2.8.4/devices/sound/alsa_pwplugin.so
/usr/lib/ptlib-2.8.4/devices/videoinput/v4l_pwplugin.so
/usr/lib/ptlib-2.8.4/devices/videoinput/v4l2_pwplugin.so
 
> Doesn't ekiga or ptlib depend on ptlib plugins on your ubuntu?!

My packages don't, but probably should I guess.  I'm not sure I even see the point of having a separate plugins package if all of the plugins are in it and at least one is required for ptlib.  Maybe ptlib is useful without any plugins for something else?  I don't really know.
Comment 14 Eugen Dedu 2011-03-04 16:49:00 UTC
Sorry to having took so long.  It was fixed by http://git.gnome.org/browse/ekiga/commit/?id=76cbf168, thank you very much!
Comment 15 Eugen Dedu 2011-03-04 16:50:20 UTC
(In reply to comment #13)
> > Doesn't ekiga or ptlib depend on ptlib plugins on your ubuntu?!
> 
> My packages don't, but probably should I guess.  I'm not sure I even see the
> point of having a separate plugins package if all of the plugins are in it and
> at least one is required for ptlib.  Maybe ptlib is useful without any plugins
> for something else?  I don't really know.

Could you contact opensuse maintainer of ptlib and tell him to put plugins in the same package as ptlib?
Comment 16 Brian J. Murrell 2011-03-04 18:58:25 UTC
(In reply to comment #14)
> Sorry to having took so long.  It was fixed by
> http://git.gnome.org/browse/ekiga/commit/?id=76cbf168, thank you very much!

Great!  Thanx!

(In reply to comment #15)
> 
> Could you contact opensuse maintainer of ptlib and tell him to put plugins in
> the same package as ptlib?

I'm not using opensuse.  I'm using Ubuntu.  And the packaging is my own and for me only so it's not so formal.