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 624976 - Hard crash or freeze/hang when getting an ArgumentException on Hyena.Gui.Canvas.Rect:set_Width/Height (gnome-settings-daemon related?)
Hard crash or freeze/hang when getting an ArgumentException on Hyena.Gui.Canv...
Status: RESOLVED FIXED
Product: banshee
Classification: Other
Component: general
2.2.x
Other Linux
: Normal major
: ---
Assigned To: Banshee Maintainers
Banshee Maintainers
: 659433 660384 661824 662546 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2010-07-21 21:20 UTC by tyleR
Modified: 2012-09-13 19:01 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Debug patch (2.23 KB, patch)
2011-10-24 08:02 UTC, Andrés G. Aragoneses (IRC: knocte)
none Details | Review
A side by side diff showing the differences between the floating and tiled debug output (4.59 KB, text/plain)
2011-10-25 04:00 UTC, Arthur Peters
  Details
Patch (1.73 KB, patch)
2012-09-13 01:09 UTC, Andrés G. Aragoneses (IRC: knocte)
committed Details | Review

Description tyleR 2010-07-21 21:20:59 UTC
I'm a GNOME-less heathen most of the time, running a barebones desktop with XMonad. Looks like 1.7.3 doesn't appreciate being started without a gnome-settings-daemon available


[Info  14:12:35.848] Running Banshee 1.7.3: [Banshee / openSUSE_11.3 (linux-gnu, x86_64) @ 2010-07-21 18:04:03 UTC]
[Warn  14:12:36.155] DBus support could not be started. Disabling for this session.
[Warn  14:12:36.944] Caught an exception - System.ApplicationException: No support GNOME Settings Daemon could be reached. (in `Banshee.MultimediaKeys')
  at Banshee.MultimediaKeys.MultimediaKeysService.Banshee.ServiceStack.IExtensionService.Initialize () [0x00000] in <filename unknown>:0 
  at Banshee.ServiceStack.ServiceManager.StartExtension (Mono.Addins.TypeExtensionNode node) [0x00000] in <filename unknown>:0 
[Warn  14:12:36.944] Extension `Banshee.MultimediaKeys.MultimediaKeysService' not started: No support GNOME Settings Daemon could be reached.
[Info  14:12:36.966] Updating web proxy from GConf
[Warn  14:12:37.081] Caught an exception - System.ApplicationException: No support GNOME Settings Daemon could be reached. (in `Banshee.MultimediaKeys')
  at Banshee.MultimediaKeys.MultimediaKeysService.Banshee.ServiceStack.IExtensionService.Initialize () [0x00000] in <filename unknown>:0 
  at Banshee.ServiceStack.ServiceManager.StartExtension (Mono.Addins.TypeExtensionNode node) [0x00000] in <filename unknown>:0 
[Warn  14:12:37.081] Extension `Banshee.MultimediaKeys.MultimediaKeysService' not started: No support GNOME Settings Daemon could be reached.
[Info  14:12:37.082] All services are started 0.925599
Exception in Gtk# callback delegate
  Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception.
System.ArgumentException: Value does not fall within the expected range.
  at Hyena.Gui.Canvas.Rect.set_Height (Double value) [0x00000] in <filename unknown>:0 
  at Hyena.Gui.Canvas.Rect.op_Explicit (Rectangle rect) [0x00000] in <filename unknown>:0 
  at Hyena.Data.Gui.ListView`1[T].OnSizeAllocated (Rectangle allocation) [0x00000] in <filename unknown>:0 
  at Gtk.Widget.sizeallocated_cb (IntPtr widget, IntPtr allocation) [0x00000] in <filename unknown>:0 
   at GLib.ExceptionManager.RaiseUnhandledException(System.Exception e, Boolean is_terminal)
   at Gtk.Widget.sizeallocated_cb(IntPtr widget, IntPtr allocation)
   at Gtk.Application.gtk_main()
   at Gtk.Application.Run()
   at Banshee.Gui.GtkBaseClient.Run()
   at Banshee.Gui.GtkBaseClient.Startup()
   at Hyena.Gui.CleanRoomStartup.Startup(Hyena.Gui.StartupInvocationHandler startup)
   at Banshee.Gui.GtkBaseClient.Startup()
   at Banshee.Gui.GtkBaseClient.Startup(System.String[] args)
   at Nereid.Client.Main(System.String[] args)
   at System.AppDomain.ExecuteAssembly(System.Reflection.Assembly , System.String[] )
   at System.AppDomain.ExecuteAssemblyInternal(System.Reflection.Assembly a, System.String[] args)
   at System.AppDomain.ExecuteAssembly(System.String assemblyFile, System.Security.Policy.Evidence assemblySecurity, System.String[] args)
   at System.AppDomain.ExecuteAssembly(System.String assemblyFile)
   at Booter.Booter.BootClient(System.String clientName)
   at Booter.Booter.Main()
Comment 1 Gabriel Burt 2010-07-22 11:35:15 UTC
As far as I can tell, the crash isn't necessarily due to g-s-d, but the 'expected range' issue in ListView.  Could be an issue that only manifests when gsd isn't running.
Comment 2 Andrés G. Aragoneses (IRC: knocte) 2011-10-24 00:36:05 UTC
*** Bug 661824 has been marked as a duplicate of this bug. ***
Comment 3 Andrés G. Aragoneses (IRC: knocte) 2011-10-24 00:38:29 UTC
*** Bug 659433 has been marked as a duplicate of this bug. ***
Comment 4 Andrés G. Aragoneses (IRC: knocte) 2011-10-24 00:39:24 UTC
*** Bug 662546 has been marked as a duplicate of this bug. ***
Comment 5 Andrés G. Aragoneses (IRC: knocte) 2011-10-24 00:43:40 UTC
*** Bug 660384 has been marked as a duplicate of this bug. ***
Comment 6 Andrés G. Aragoneses (IRC: knocte) 2011-10-24 00:44:54 UTC
*** Bug 661112 has been marked as a duplicate of this bug. ***
Comment 7 Arthur Peters 2011-10-24 02:10:03 UTC
I am experiencing this problem but gnome-settings daemon IS running. I am however running XMonad and I did not experience this problem before I switched to XMonad. Could this be related to how XMonad sets the size of windows when they are created?

I think this is the case because if I setup XMonad to start Banshe in float mode (so it is not forced to a specific size) then it starts fine. Also once it is started I can push the window back into XMonad's normal layout (there by forcing it to a specific size).

Is Banshee trying to resize widgets based on the size it requested instead of the size it was actually allocated?

For those who need an XMonad work around:
 title =? "Banshee Media Player"        --> doFloat
in your manageHooks. I have this in my xmonad.hs:

main = xmonad $ defaultConfig
        { manageHook = myManageHook
        } 

myManageHook = composeAll
    [ className =? "MPlayer"        --> doFloat
    , className =? "Gimp"           --> doFloat
    , title =? "Banshee Media Player"        --> doFloat
    , resource  =? "desktop_window" --> doIgnore
    , resource  =? "kdesktop"       --> doIgnore ]
Comment 8 Arthur Peters 2011-10-24 02:15:09 UTC
This also effect Version 2.2 of Banshee. Maybe the tag should be updated.
Comment 9 Andrés G. Aragoneses (IRC: knocte) 2011-10-24 08:02:46 UTC
Created attachment 199796 [details] [review]
Debug patch

Can somebody apply this patch to their Hyena codebase and run banshee with it? (And post the result log here afterwards)

It will probably give us enough info to figure out what is happening.
Comment 10 Arthur Peters 2011-10-25 04:00:53 UTC
Created attachment 199883 [details]
A side by side diff showing the differences between the floating and tiled debug output

This is the output of Banshee when run under XMonad with the debug patch applied. The left pane is the floating version (where it worked before). The right pane is the tiled version (where it used to crash). It now starts correctly in either mode. 

Overall it looks like the first group of OnSizeAllocated's is the same in both cases but the second group generates some real differences including a negative number. Also OnSizeAllocated seems to be called one less times in the tiled mode.

I just thought of something that might be relevant. XMonad does not draw window decorations (other than a 1 pixel border). Is Hyena assuming that there is a title bar on the window? Looking at MoveResize() it looks like HeaderHeight is being used to compute the rectanges. It seems that HeaderHeight is computed assuming that a title bar that is at least the height of "W" is being used. This is not the case on XMonad most of the time.

The full output for the tiled version is:

[Info  20:33:43.579] Running Banshee 2.2.0: [Ubuntu 11.10 (linux-gnu, x86_64) @ 2011-10-24 20:26:34 PDT]
__ListView::OnSizeAllocated0(416:275:180:44:44:460)
__ListView::OnSizeAllocated1(0:0:0:0:44:460)
__ListView::OnSizeAllocated3(406:265:185:49:44:460)
__ListView::OnSizeAllocated0(381:275:180:465:465:846)
__ListView::OnSizeAllocated1(0:0:0:0:465:846)
__ListView::OnSizeAllocated3(371:265:185:470:465:846)
__ListView::OnSizeAllocated0(802:855:460:44:44:846)
__ListView::OnSizeAllocated1(0:0:0:0:44:846)
__ListView::OnSizeAllocated3(792:845:465:49:44:846)
[Warn  20:33:44.634] Caught an exception - System.ApplicationException: No support GNOME Settings Daemon could be reached. (in `Banshee.MultimediaKeys')
  at Banshee.MultimediaKeys.MultimediaKeysService.Banshee.ServiceStack.IExtensionService.Initialize () [0x00000] in <filename unknown>:0 
  at Banshee.ServiceStack.ServiceManager.StartExtension (Mono.Addins.TypeExtensionNode node) [0x00000] in <filename unknown>:0 
[Warn  20:33:44.635] Extension `Banshee.MultimediaKeys.MultimediaKeysService' not started: No support GNOME Settings Daemon could be reached.
[Info  20:33:44.644] Updating web proxy from GConf
[Info  20:33:44.725] Netbook extension initialized with hidden panel
[Warn  20:33:44.782] Caught an exception - System.ApplicationException: No support GNOME Settings Daemon could be reached. (in `Banshee.MultimediaKeys')
  at Banshee.MultimediaKeys.MultimediaKeysService.Banshee.ServiceStack.IExtensionService.Initialize () [0x00000] in <filename unknown>:0 
  at Banshee.ServiceStack.ServiceManager.StartExtension (Mono.Addins.TypeExtensionNode node) [0x00000] in <filename unknown>:0 
[Warn  20:33:44.782] Extension `Banshee.MultimediaKeys.MultimediaKeysService' not started: No support GNOME Settings Daemon could be reached.
[Info  20:33:44.783] All services are started 0.935155
** (Banshee:4200): DEBUG: SyncDaemon already running, initializing SyncdaemonDaemon object

(Banshee:4200): libsoup-WARNING **: No feature manager for feature of type 'U1RequestChrome'
[Info  20:33:45.658] AmazonMP3 store redirect URL: https://one.ubuntu.com/music/store/amz/
__ListView::OnSizeAllocated0(416:275:180:71:71:487)
__ListView::OnSizeAllocated1(406:265:185:49:71:487)
__ListView::OnSizeAllocated2(406:265:185:49:71:487)
__ListView::OnSizeAllocated3(406:265:185:76:71:487)
__ListView::OnSizeAllocated0(1:275:180:492:492:493)
__ListView::OnSizeAllocated1(371:265:185:470:492:493)
__ListView::OnSizeAllocated2(371:265:185:470:492:493)
__ListView::OnSizeAllocated3(-9:265:185:497:492:493)
__ListView::OnSizeAllocated0(421:630:460:71:71:492)
__ListView::OnSizeAllocated1(765:845:465:76:71:492)
__ListView::OnSizeAllocated2(765:845:465:76:71:492)
__ListView::OnSizeAllocated3(384:620:465:103:71:492)
[Info  20:33:46.221] nereid Client Started
[Info  20:33:46.370] GStreamer version 0.10.35.0, gapless: True, replaygain: True
[Info  20:33:46.449] AppleDeviceSource is ignoring unmounted volume 8.1 GB Filesystem
[Info  20:33:46.458] AppleDeviceSource is ignoring unmounted volume System Reserved
[Info  20:33:46.460] AppleDeviceSource is ignoring unmounted volume 100 GB Filesystem


I hope that helps. Thanks for the debug patch!!
Comment 11 Andrés G. Aragoneses (IRC: knocte) 2011-10-25 20:06:07 UTC
(In reply to comment #10)
> ...

Thanks for testing the patch! I guess the culprit is that negative value (-9) as you already mention.

Please also note my debug patch has a typo (it keeps printing allocation's values instead of list_rendering_alloc's for .Top and .Bottom properties...).

I hope to have some time in the following days to figure out why/how that negative value is generated.


> It now starts correctly in either mode.

I guess that's because I also replaced the ArgumentException in the setter with a value overriding to 0. Anyway it's not the correct fix so we need to figure out the appropiate patch.
Comment 12 Chow Loong Jin 2011-11-12 19:13:20 UTC
Just a heads up, I've uploaded a modified version of your patch to oneiric-proposed as a stop-gap measure (it's post-release, after all, so it would be nice to have Banshee stop crashing), so people using 2.2.1 in Oneiric will probably stop seeing this bug.
Comment 13 Chow Loong Jin 2011-11-16 13:41:12 UTC
According to https://bugs.launchpad.net/ubuntu/+source/banshee/+bug/873787/comments/15, this bug can be reproduced by setting /apps/banshee-1/interface/panes/albumartist/browser/top/position to 0 and then starting Banshee.
Comment 14 Chow Loong Jin 2011-12-04 04:33:37 UTC
https://launchpadlibrarian.net/86524861/banshee%20error is another log of the crash which apparently happens when pressing the resize button in the context pane.
Comment 15 Andrés G. Aragoneses (IRC: knocte) 2011-12-20 22:55:23 UTC
(In reply to comment #13)
> According to
> https://bugs.launchpad.net/ubuntu/+source/banshee/+bug/873787/comments/15, this
> bug can be reproduced by setting
> /apps/banshee-1/interface/panes/albumartist/browser/top/position to 0 and then
> starting Banshee.

I cannot reproduce the bug using this approach :(
Comment 16 Andrés G. Aragoneses (IRC: knocte) 2012-09-13 01:09:26 UTC
Created attachment 224178 [details] [review]
Patch

In a similar way we have done in bug 683359, I am proposing this partial fix (that solves at least the crashing, as tested by Arthur).

Sorry for the delay Arthur.
Comment 17 Bertrand Lorentz 2012-09-13 16:32:37 UTC
Comment on attachment 224178 [details] [review]
Patch

Thanks for the patch, please commit.
Comment 18 Andrés G. Aragoneses (IRC: knocte) 2012-09-13 19:00:40 UTC
Comment on attachment 224178 [details] [review]
Patch

Pushed: http://git.gnome.org/browse/hyena/commit/?id=79c651265c82b1e7249649289222a681c593863e
Comment 19 Andrés G. Aragoneses (IRC: knocte) 2012-09-13 19:01:55 UTC
This problem has been fixed in the development version. The fix will be available in the next major software release (2.5.1). Thank you for your bug report.

(Thanks for the review)