Opened 7 years ago

Closed 7 years ago

#52993 closed update (fixed)

GNOME girl 9.6.0

Reported by: oleaamot (Ole Aamot) Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: girl

Description

GNOME Internet Radio Locator (GIRL) version 9.6.0 was released on December 1st, 2016 with updated translations for Czech, Hungarian, Polish, Brazilian Portuguese and Swedish. The new feature in this release is gstreamer playback of audio.

Attachments (5)

Portfile.9.6.0.diff (1.4 KB) - added by oleaamot (Ole Aamot) 7 years ago.
Portfile-9.6.0-unstable (1.4 KB) - added by oleaamot (Ole Aamot) 7 years ago.
GNOME Internet Radio Locator 9.6.0 Portfile
0001-girl-Update-to-version-9.6.0.patch (1.5 KB) - added by raimue (Rainer Müller) 7 years ago.
girl-9.6.1.patch (2.4 KB) - added by dbevans (David B. Evans) 7 years ago.
Update to girl 9.6.1, dependencies, disable optimization
girl-9.7.1.patch (3.7 KB) - added by dbevans (David B. Evans) 7 years ago.
Update to girl 9.7.1 using gstreamer1, recording functionality removed, remove +record variant

Download all attachments as: .zip

Change History (17)

Changed 7 years ago by oleaamot (Ole Aamot)

Attachment: Portfile.9.6.0.diff added

comment:1 Changed 7 years ago by mf2k (Frank Schima)

Keywords: gnome removed
Milestone: MacPorts 2.3.6
Version: 2.3.5

The Milestone field is for use by Macports team members only, please do not set it.

Comments on your patch:

  • Are you the port maintainer?
  • Remove the no longer used # $Id$ line
  • Is the decimal point at the end of the version number correct?

comment:2 Changed 7 years ago by mf2k (Frank Schima)

Also, please keep the whitespace you are removing.

Changed 7 years ago by oleaamot (Ole Aamot)

Attachment: Portfile-9.6.0-unstable added

GNOME Internet Radio Locator 9.6.0 Portfile

comment:3 Changed 7 years ago by oleaamot (Ole Aamot)

I am the upstream author (ole@…) of this unstable 9.6.0 release of the GNOME Internet Radio Locator.

GNOME Internet Radio Locator plays Internet radio streams for 78 Internet Radio stations with gstreamer if you search for the station with the Search button and enter a city name in the input field.

Several Issues on Mac OS X 10.11.6:

It crashes on Mac OS X 10.11.6 if you press the "New" button in order to add new Internet Radio stations. It crashes on Mac OS X 10.11.6 with "Illegal instruction: 4" if you select the Internet radio station with the Stations selector.

The 9.6.0 version works perfectly without these issues on Fedora Linux Core 24.

comment:4 Changed 7 years ago by raimue (Rainer Müller)

I tried to build the Portfile, but the attached Portfile.9.6.0.diff​ has a trailing '.' at the version number and checksums are wrong as well. For Portfile-9.6.0-unstable​, I don't know what the original revision is supposed to be, it does not apply to what is currently in git master. I am attaching what I used now.

With this, I can reproduce the crash when selecting a station and its cause on OS X 10.12:

$ otool -tV /opt/local/bin/girl | grep -C5 '^0*100012b8c'
0000000100012b79	movq	%rax, %rdi
0000000100012b7c	movq	%r14, %rsi
0000000100012b7f	callq	0x100013d0a             ## symbol stub for: _g_object_get_data
0000000100012b84	movq	%rax, %rdi
0000000100012b87	callq	0x100013e78             ## symbol stub for: _g_strdup
0000000100012b8c	ud2
_on_new_station_changed:
0000000100012b8e	pushq	%rbp
0000000100012b8f	movq	%rsp, %rbp
0000000100012b92	pushq	%r14
0000000100012b94	pushq	%rbx

This is under the symbol _on_stations_selector_changed and ud2 is the opcode specifically used to raise an illegal instruction exception. I cannot say why it ends up in your binary.

Changed 7 years ago by raimue (Rainer Müller)

comment:5 Changed 7 years ago by dbevans (David B. Evans)

Just noticed that version 9.7.0 was tagged yesterday in upstream git although the corresponding tarball has not appeared on the GNOME download site yet.

However in the interim girl has been updated to version 9.6.1 so attached is a new patch for testing.

Observations:

  • dependencies have changed -- the port now uses a built in gstreamer010 based player rather than using totem at runtime
  • the crash reported changing stations appears to be a clang optimization issue -- I was able to avoid it by building using -O0 (+debug variant).
  • with -O0, on selecting WNYC from the station selector, the player window appears and plays that station correctly.

Here's the resulting debug output:

** Message: on_station_select_changed: WNYC

** Message: on_station_select_changed: New York City, NY

** Message: on_station_select_changed: 93.9FM

** Message: on_station_select_changed: 
      WNYC 93.9 FM and AM 820 are New York's flagship public radio stations, broadcasting the finest programs from NPR, American Public Media, Public Radio International and the BBC World Service, as well as a wide range of award-winning local programming.
    

** Message: Selected the radio station WNYC in New York City, NY: http://fm939.wnyc.org/wnycfm
** Message: http://fm939.wnyc.org/wnycfm

(girl:91816): GLib-WARNING **: In call to g_spawn_sync(), exit status of a child process was requested but ECHILD was received by waitpid(). Most likely the process is ignoring SIGCHLD, or some other thread is invoking waitpid() with a nonpositive first argument; either behavior can break applications that use g_spawn_sync either directly or indirectly.
** Message: Playing....

Probably should explicitly set a level of optimization between -O0 (none) and -Os (the MacPorts default which fails) that works for non-debug builds as well. Haven't had time to explore this issue as yet.

Changed 7 years ago by dbevans (David B. Evans)

Attachment: girl-9.6.1.patch added

Update to girl 9.6.1, dependencies, disable optimization

comment:6 Changed 7 years ago by oleaamot (Ole Aamot)

GNOME Internet Radio Locator version 9.7.0 is now available from

https://download.gnome.org/sources/girl/9.7/girl-9.7.0.tar.xz

The new release contains a port of the inline player to gstreamer 1.0 by Dominique Leuenberger (GNOME Bugzilla #777397) and some of the Internet radio stations requires that the software encoder/decoder package gstreamer1-gst-plugins-ugly is installed for audio playback.

comment:7 in reply to:  6 ; Changed 7 years ago by dbevans (David B. Evans)

Replying to oleaamot:

GNOME Internet Radio Locator version 9.7.0 is now available from

https://download.gnome.org/sources/girl/9.7/girl-9.7.0.tar.xz

The new release contains a port of the inline player to gstreamer 1.0 by Dominique Leuenberger (GNOME Bugzilla #777397) and some of the Internet radio stations requires that the software encoder/decoder package gstreamer1-gst-plugins-ugly is installed for audio playback.

A few issues came up while testing this:

  • girl-9.7.0.tar.xz is a snapshot of current git master not tag GIRL_9_7_0. This is GIRL_9_7_0 + 2 commits. You might want to retag as GIRL_9_7_1 and generate an appropriate snapshot in https://download.gnome.org/sources/girl/9.7
  • am I right in understanding that the record functionality is also now based on gstreamer1 without using streamripper ?
Last edited 7 years ago by dbevans (David B. Evans) (previous) (diff)

comment:8 in reply to:  7 Changed 7 years ago by dbevans (David B. Evans)

Replying to dbevans:

Replying to oleaamot:

GNOME Internet Radio Locator version 9.7.0 is now available from

https://download.gnome.org/sources/girl/9.7/girl-9.7.0.tar.xz

The new release contains a port of the inline player to gstreamer 1.0 by Dominique Leuenberger (GNOME Bugzilla #777397) and some of the Internet radio stations requires that the software encoder/decoder package gstreamer1-gst-plugins-ugly is installed for audio playback.

A few issues came up while testing this:

  • girl-9.7.0.tar.xz is a snapshot of current git master not tag GIRL_9_7_0. This is GIRL_9_7_0 + 2 commits. You might want to retag as GIRL_9_7_1 and generate an appropriate snapshot in https://download.gnome.org/sources/girl/9.7
  • am I right in understanding that the record functionality is also now based on gstreamer1 without using streamripper ?

One more issue:

  • data/girl.appdata.xml.in still refers to Totem and streamripper as do various .po files under po/ and help/

comment:9 Changed 7 years ago by oleaamot (Ole Aamot)

I have retagged GIRL_9_7_1 on git.gnome.org and published version 9.7.1 as https://download.gnome.org/sources/girl/9.7/girl-9.7.1.tar.xz

The record functionality has been removed and a message box asks for help with the implementation with gstreamer instead of streamripper if the "--with-recording" parameter is passed to the configure script.

I'll remove the old references to Totem and streamripper in data/girl.appdata.xml.in on git.gnome.org and translations in po/ and help/

I hope to commit these changes before the next major release.

comment:10 Changed 7 years ago by dbevans (David B. Evans)

Thanks for the quick turn around. Attached is my updated patch for 9.7.1.

Testing reveals:

  • Any optimization setting greater than -O0 produces the previously reported crash when selecting a station
  • After porting to gstreamer1 audio no longer plays when station is selected. Debug output shows
** Message: on_station_select_changed: http://fm939.wnyc.org/wnycfm

** Message: on_station_select_changed: WNYC

** Message: on_station_select_changed: New York City, NY

** Message: on_station_select_changed: 93.9FM

** Message: on_station_select_changed: 
      WNYC 93.9 FM and AM 820 are New York's flagship public radio stations, broadcasting the finest programs from NPR, American Public Media, Public Radio International and the BBC World Service, as well as a wide range of award-winning local programming.
    

** Message: Selected the radio station WNYC in New York City, NY: http://fm939.wnyc.org/wnycfm
** Message: http://fm939.wnyc.org/wnycfm
** Message: Playing....

(girl:17339): GLib-WARNING **: In call to g_spawn_sync(), exit status of a child process was requested but ECHILD was received by waitpid(). Most likely the process is ignoring SIGCHLD, or some other thread is invoking waitpid() with a nonpositive first argument; either behavior can break applications that use g_spawn_sync either directly or indirectly.

 Message:Internal data stream error.

(girl:17339): GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object->refcount > 0' failed

I suspect that the internal data stream error is the issue. Will look into this further when I get a chance during the next day or so.

Changed 7 years ago by dbevans (David B. Evans)

Attachment: girl-9.7.1.patch added

Update to girl 9.7.1 using gstreamer1, recording functionality removed, remove +record variant

comment:11 Changed 7 years ago by dbevans (David B. Evans)

The problem with WNYC is specific to that station. Most other stations play fine.

comment:12 Changed 7 years ago by dbevans (David B. Evans)

Owner: set to dbevans
Resolution: fixed
Status: newclosed

In ec1940f/macports-ports:

girl: update to version 9.7.1

  • freshen autogen.sh from upstream git
  • disable optimization to avoid crash on selecting station
  • now uses embedded gstreamer1 based player instead of totem
  • optional streamripper recording functionality removed, +record variant removed
  • generally works although a few stations have issues

Closes: #52993

Note: See TracTickets for help on using tickets.