#1 Compilation error on opensuse 11.2

open-works-for-me
Mathijs
None
6
2010-02-06
2010-01-29
Anonymous
No

Didn't compile with the error:
/home/user/0.3.5/Banshee.ClutterFlow/ClutterFlowContents.cs(231,30): error CS0234: The type or namespace name `ApplicationContext' does not exist in the namespace `Banshee.Base'. Are you missing an assembly reference?
with monodevelop, on opensuse 11.2.

Discussion

  • Mathijs
    Mathijs
    2010-01-30

    This means you have Banshee 1.5.2, while ClutterFlow is tested with the daily builds from the Ubuntu ppa (easiest & closest to gIt version).
    You can fix this either upgrading to the latest version (as we speak Banshee version 1.5.3 is released) or trying to compile using Release_Banshee152 as the target. Offically I am not supporting version 1.5.2 anymore though. This still is beta software so you should be running the latest version of banshee if you want to try it out.

     
  • Mathijs
    Mathijs
    2010-01-30

    • assigned_to: nobody --> mathijsken
    • status: open --> closed-wont-fix
     
  • Comment has been marked as spam. 
    Undo

    You can see all pending comments posted by this user  here


    Anonymous
    2010-01-30

    Well, actually i use banshee 1.5.3, and have banshee 1.5.3-devel installed (and all come from the official banshee repository).
    So i didn't know why i have this error.

     
  • Comment has been marked as spam. 
    Undo

    You can see all pending comments posted by this user  here


    Anonymous
    2010-01-30

    • status: closed-wont-fix --> open-wont-fix
     
  • Mathijs
    Mathijs
    2010-01-30

    I'm sorry my mistake,
    in version 0.3.5 I did not yet fix the issue for banshee 1.5.3 and it will only compile for version 1.5.2.
    The latest ClutterFlow version 0.3.6 has fixed this issue

    cheers,
    Mat

     
  • Mathijs
    Mathijs
    2010-01-30

    • status: open-wont-fix --> open-fixed
     
  • Comment has been marked as spam. 
    Undo

    You can see all pending comments posted by this user  here


    Anonymous
    2010-01-31

    Ok. So it compile well with the svn version. Only one warning:
    Compilation succeeded - 1 warning(s)

    /home/polo/clutterflow/trunk/Banshee.ClutterFlow/FloatingQueue.cs(150,43): warning CS0067: The event `Banshee.ClutterFlow.IndexedQueue<T>.Changed' is never used

    Now the addon is installed, activated, but it didn't show in banshee at all.

     
  • More presisely:
    [Warn 18:26:27.589] Caught an exception - Could not load type 'Banshee.ClutterFlow.ClutterFlowManager' from assembly 'Banshee.ClutterFlow, Version=1.0.3683.22318, Culture=neutral, PublicKeyToken=null'. (in `Banshee.ClutterFlow')
    at Banshee.ClutterFlow.ClutterFlowService..ctor () [0x00000]
    at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (object,object[],System.Exception&)
    at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000]
    [Warn 18:26:27.590] Extension `/Banshee/ServiceManager/Service/__nid_36' not started: Exception has been thrown by the target of an invocation.
    [Warn 18:26:28.044] Caught an exception - Could not load type 'Banshee.ClutterFlow.ClutterFlowManager' from assembly 'Banshee.ClutterFlow, Version=1.0.3683.22318, Culture=neutral, PublicKeyToken=null'. (in `Banshee.ClutterFlow')
    at Banshee.ClutterFlow.ClutterFlowService..ctor () [0x00000]
    at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (object,object[],System.Exception&)
    at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000]
    [Warn 18:26:28.044] Extension `/Banshee/ServiceManager/Service/__nid_37' not started: Exception has been thrown by the target of an invocation.

     
  • Mathijs
    Mathijs
    2010-02-03

    Did you copy the ClutterFlow.dll file as well to the extensions directory?

     
  • Now i have copy the dll in the extension directory. But it still didn't work.
    Console output:
    [Warn 00:17:43.090] Caught an exception - Could not load type 'Banshee.ClutterFlow.ClutterFlowManager' from assembly 'Banshee.ClutterFlow, Version=1.0.3689.367, Culture=neutral, PublicKeyToken=null'. (in `Banshee.ClutterFlow')
    at Banshee.ClutterFlow.ClutterFlowService..ctor () [0x00000]
    at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (object,object[],System.Exception&)
    at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000]
    [Warn 00:17:43.090] Extension `/Banshee/ServiceManager/Service/__nid_36' not started: Exception has been thrown by the target of an invocation.

     
  • Mathijs
    Mathijs
    2010-02-06

    I feel a little stupid now. The class it is looking for (called ClutterFlowManager) should be declared inside the ClutterFlowService.cs file as an internal class. So this has nothing to do with the ClutterFlow.dll file not being present (it should be though). If it can't find it this means you're working with a version of that file that somehow does not have the ClutterFlowManager class inside it... which is really, really weird... Try doing another checkout and a fresh build, maybe that helps.
    However, I really advise you to either manually place the precompiled binaries (get them here: https://sourceforge.net/projects/clutterflow/files/Banshee.ClutterFlow-0.3.6-binaries.tar.gz/download\) inside your extensions directory or use the debian file to install. You could use Alien to convert this to a yum file. Than you immediatly have the clutter-sharp dll's in place as well as the ClutterFlow extension dll's.

     
  • Mathijs
    Mathijs
    2010-02-06

    • priority: 5 --> 6
    • status: open-fixed --> open-works-for-me
     
  • Hello!
    With the precompiled one, banshee crash at startup with this error:

    The program 'Banshee' received an X Window System error.
    This probably reflects a bug in the program.
    The error was 'BadLength (poly request too large or internal Xlib length erro'.
    (Details: serial 282 error_code 16 request_code 128 minor_code 17)
    (Note to programmers: normally, X errors are reported asynchronously;
    that is, you will receive the error a while after causing it.
    To debug your program, run it with the --sync command line
    option to change this behavior. You can then get a meaningful
    backtrace from your debugger if you break on the gdk_x_error() function.)

     
  • Mathijs
    Mathijs
    2010-02-07

    Okay, could you:
    1) send me some more output recieved before that error, or does it crash straight away?
    2) Try a few times to see if this error persists, I've remember having it once in a while but not reproducable

    From what I've found on the web this error has something to do with too large X-server buffer requests. Do you have a 3D card (& using 3D-supporting drivers of course)?
    My guess is that ClutterFlow is creating too large or too much texture data. If restarting banshee does not help you, you can force the texture size to a smaller value by running gconf-editor and inserting this (integer) key:
    /apps/banshee-1/clutterflow/texture_size
    and setting it's value to something lower than 128, say 64 or 32. You'll get crappy graphics though.

    I'm very much appreciating your efforts to solve this, even though we're bumbing into more and more errors. So thank you.

     
  • All of the output:
    polo@linux-8cud:~/Bureau/Banshee.ClutterFlow> banshee-1
    [Info 13:55:55.990] Running Banshee 1.5.3: [Banshee / openSUSE_11.2 (linux-gnu, x86_64) @ 2010-01-29 19:33:45 UTC]

    System.TypeInitializationException: An exception was thrown by the type initializer for WebKit.WebView ---> System.DllNotFoundException: webkit-1.0.so.1
    at (wrapper managed-to-native) WebKit.WebHistoryItem:webkit_web_history_item_get_type ()
    at WebKit.WebHistoryItem.get_GType () [0x00000]
    at GtkSharp.WebkitSharp.ObjectManager.Initialize () [0x00000]
    at WebKit.WebView..cctor () [0x00000]
    --- End of inner exception stack trace ---
    at Banshee.Wikipedia.WikipediaView..ctor () [0x00000]
    at Banshee.Wikipedia.ContextPage.get_Widget () [0x00000]
    at Banshee.ContextPane.ContextPane.AddPage (Banshee.ContextPane.BaseContextPage page) [0x00000]
    at Banshee.ContextPane.ContextPageManager.OnExtensionChanged (System.Object o, Mono.Addins.ExtensionNodeEventArgs args) [0x00000]
    at Mono.Addins.ExtensionNode.add_ExtensionNodeChanged (Mono.Addins.ExtensionNodeEventHandler value) [0x00000]
    Mirage - Open DB - URI=file:/home/polo/.cache/banshee-mirage/mirage.db,version=3
    Mirage - Database version 3 is up to date
    The program 'Banshee' received an X Window System error.
    This probably reflects a bug in the program.
    The error was 'BadLength (poly request too large or internal Xlib length erro'.
    (Details: serial 271 error_code 16 request_code 128 minor_code 17)
    (Note to programmers: normally, X errors are reported asynchronously;
    that is, you will receive the error a while after causing it.
    To debug your program, run it with the --sync command line
    option to change this behavior. You can then get a meaningful
    backtrace from your debugger if you break on the gdk_x_error() function.)

    It crash directly at the launch. Everytime it crash like that.

    The folder "clutterflow" didn't exist in gconf. I did'nt know how to add a folder ( it seems that gconf-editor didn't permit that)

    I have a 3D card (nvidia 7800), drivers properly installed, no problem with other 3D app (like google-earth, tremulous...).

     
  • Mathijs
    Mathijs
    2010-02-07

    Okay, my mistake, you cannot add/remove directories with gconf-editor. Though you can do this by creating the folder in the ~/.gconf/ folder. Like this:
    mkdir ~/.gconf/apps/banshee-1/clutterflow/
    After that you should be able to use gconf-editor to add the key 'texture-size'

    However I have the feeling this won't do any good either. The output does not give the "Loading Covers" or "ArtworkLookup Run ()" lines meaning it crashes even before ClutterFlow starts loading it's covers. Perhaps it is problem with threading.
    So if the texture size did not help you, you can also disable threaded loading of album artwork by adding the (boolean) key 'threaded_artwork' and set it to false with gconf-editor.

    thanks again

     
  • It's strange: i've created the folder "clutterflow", but he didn't show on gconf-editor. Maybe there is a file to edit?

     
  • Mathijs
    Mathijs
    2010-02-07

    Spot on again :p
    Just create a file in the clutterflow directory called %gconf.xml:
    touch ~/.gconf/apps/banshee-1/clutterflow/%gconf.xml

    after that kill gconfd-2 using (gconf cashes it values, this forces an update):
    killall gconfd-2

    that should do the trick. Normally you should add a schema to gconf but banshee's preference system does not do this it appears.

     
  • Ok so i add a key named "texture-size", with values:
    64
    16
    8
    This wont work.
    There was an other value to try but i forget. And the comment seems to have vanished on sourceforge.

    I can't test anything in the next two weeks (holiday). So i put my test-frenzy down :D.

    I think of something: does being on a 64bit system change something?

     
  • Mathijs
    Mathijs
    2010-02-09

    The comments are visible again, and the key was 'threaded_artwork'. You should set this to false.

    Perhaps it has something to do with being 64 bit, I'm not sure.
    If I find the time I'll try to run a 64 bit system on virtual box and see what happens when I disable some code or don't.

     
  • Seems to change nothing:
    The program 'Banshee' received an X Window System error.
    This probably reflects a bug in the program.
    The error was 'BadLength (poly request too large or internal Xlib length erro'.
    (Details: serial 271 error_code 16 request_code 128 minor_code 17)
    (Note to programmers: normally, X errors are reported asynchronously;
    that is, you will receive the error a while after causing it.
    To debug your program, run it with the --sync command line
    option to change this behavior. You can then get a meaningful
    backtrace from your debugger if you break on the gdk_x_error() function.)

     
  • Mathijs
    Mathijs
    2010-02-28

    Okay, I have been thinking that this might be an issue with the clutter-sharp bindings I provide rather than the actual ClutterFlow code I wrote.
    So maybe building only the Clutter sharp bindings and using the Banshee.ClutterFlow and ClutterFlow dll's provided in the .tar.gz solves it?

    I still have not been able to test it on a 64 bit OS, since my (64 bit) CPU does not support it. I'll try to install & run a 64 bit ubuntu/openSuse when I find the time, but don't expect results soon.