moreamp terminates.

Help
2006-02-02
2012-09-15
  • Nobody/Anonymous

    I have built MoreAmp versions 0.1.15 and 0.1.16 on Linux 2.4.18-14 Red Hat Linux 8.0 with Gnome desk top. I have built it using the libraries and scripts provided in the down load. I have biult 0.1.15 with GUI using wxWidgets and without GUI, and 0.1.16 with GUI GTK1 and GTK2 and without GUI. The builds as far as I can tell are error free. There is a warning issued during GTK builds stating the GTK version used. All seems to be OK. I have used make install to install all the resultant binaries and have placed magtkrc from the download in /root/moreamp/masettings. When more amp is started < moreamp list2.maf > (list2.maf is in the current working directory and has 1 .ogg song of 5 M size), in a Gnome terminal session it does nothing execpt gather all memory and swap ( seen on system monitor ) and then trminate. The system log shows an out of memory error. Do you have any sugestions as to what my problem may be??

     
    • pmisteli

      pmisteli - 2006-02-02
      1. Do you get anything in ~/moreamp/maLog.txt?

      2. Do you get the same problem with allversions that you built (0.1.15, 0.1.16, gui, nogui)?

      3. What happens if you just run moreamp without any parameters, i.e. without playing any song files?

      4. What hardware platform is this on?

      pmisteli

       
    • frank_beckey

      frank_beckey - 2006-02-06

      Thanks

      Moreamp now functions as advertised. Well almost.

      Commenting out MAINSTANCES fixed the resources grab and termination problems. Moreamp now comes up with GUI and all. Controles apear to be working but there are messages in maLog.txt and there are a bunch of warnings that get dumped in the launch console on termination. Here is a sample of the warnings fron the console

      Gtk-WARNING **: invalid class type (unknown)' in cast toGtkToggleButton'

      Gtk-WARNING **: invalid class type (unknown)' in cast toGtkToggleButton'

      Gtk-WARNING **: invalid class type (unknown)' in cast toGtkToggleButton'

      Gtk-CRITICAL **: file gtktogglebutton.c: line 284 (gtk_toggle_button_set_active)
      : assertion `GTK_IS_TOGGLE_BUTTON (toggle_button)' failed.

      Gtk-WARNING **: invalid class type (unknown)' in cast toGtkToggleButton'

      Gtk-WARNING **: invalid class type (unknown)' in cast toGtkToggleButton'

      Gtk-WARNING **: invalid class type (unknown)' in cast toGtkToggleButton'

      Gtk-CRITICAL **: file gtktogglebutton.c: line 284 (gtk_toggle_button_set_active)
      : assertion `GTK_IS_TOGGLE_BUTTON (toggle_button)' failed.

      Gtk-WARNING **: invalid class type gchar' in cast toGtkWindow'

      Gtk-CRITICAL **: file gtkwindow.c: line 402 (gtk_window_set_title): assertion `G
      TK_IS_WINDOW (window)' failed.

      Gtk-WARNING **: invalid cast from (unknown)' toGtkWidget'

      Gtk-CRITICAL **: file gtkwidget.c: line 3311 (gtk_widget_set_sensitive): asserti
      on `GTK_IS_WIDGET (widget)' failed.

      Gtk-CRITICAL **: file gtkwidget.c: line 3311 (gtk_widget_set_sensitive): asserti
      on `GTK_IS_WIDGET (widget)' failed.

      Gtk-CRITICAL **: file gtkwidget.c: line 3311 (gtk_widget_set_sensitive): asserti
      on `GTK_IS_WIDGET (widget)' failed.
      [root@localhost MoreAmp-0.1.16]# moreamp /home/frank/more_amp/list2.maf

      Gtk-WARNING **: invalid class type (unknown)' in cast toGtkToggleButton'

      Gtk-WARNING **: invalid class type (unknown)' in cast toGtkToggleButton'

      Gtk-WARNING **: invalid class type (unknown)' in cast toGtkToggleButton'

      Gtk-CRITICAL **: file gtktogglebutton.c: line 284 (gtk_toggle_button_set_active): assertion `GTK_IS_TOGGLE_BUTT
      ON (toggle_button)' failed.

      Gtk-WARNING **: invalid class type (unknown)' in cast toGtkToggleButton'

      Gtk-WARNING **: invalid class type (unknown)' in cast toGtkToggleButton'

      Gtk-WARNING **: invalid class type (unknown)' in cast toGtkToggleButton'

      Gtk-CRITICAL **: file gtktogglebutton.c: line 284 (gtk_toggle_button_set_active): assertion `GTK_IS_TOGGLE_BUTT
      ON (toggle_button)' failed.

      Gtk-WARNING **: invalid class type (unknown)' in cast toGtkWindow'

      Gtk-CRITICAL **: file gtkwindow.c: line 402 (gtk_window_set_title): assertion `GTK_IS_WINDOW (window)' failed.

      Gtk-WARNING **: invalid cast from (unknown)' toGtkWidget'

      Gtk-CRITICAL **: file gtkwidget.c: line 3311 (gtk_widget_set_sensitive): assertion `GTK_IS_WIDGET (widget)' fai
      led.

      Gtk-CRITICAL **: file gtkwidget.c: line 3311 (gtk_widget_set_sensitive): assertion `GTK_IS_WIDGET (widget)' fai
      led.

      Gtk-CRITICAL **: file gtkwidget.c: line 3311 (gtk_widget_set_sensitive): assertion `GTK_IS_WIDGET (widget)' fai
      led.

      and here is the contents of maLog.txt.
      09:14:31 SetKeyBindings factory settings '/root/moreamp/masettings/makeybindings.txt'
      09:14:31 LoadSettingsCDRom setting factory cdrom settings
      09:47:35 MenuSetChecked gtk_item_factory_get_widget_by_action failed item=49
      09:47:35 MenuSetChecked gtk_item_factory_get_widget_by_action failed item=50
      11:17:42 MenuSetChecked gtk_item_factory_get_widget_by_action failed item=49
      11:17:42 MenuSetChecked gtk_item_factory_get_widget_by_action failed item=50

      I assume that some of these could be attributed to library diferences??

      Have you tried Fedora Core 4??

      I will try to get access to a later version fo Linux and try the build there.

      Frank Beckey

       
      • Nobody/Anonymous

        Thanks for the progress report.

        1. I am guessing you are getting the Gtk-WARNING and Gtk-CRITICAL console messages only from the version of moreamp built with gtk+2, not from moreamp built with gtk+1. Yes?

        2. What gtk versions are installed on your system?

        You can read your gtk version at the bottom of the the moreamp 'About' popup (menu Help/About moreamp), or by entering in a terminal gtk-config --version for gtk1, or pkg-config gtk+-2.0 --modversion for gtk2.

        I test with gtk+-1.2.10 and gtk+-2.8.10, and I do not get the messages you get.

        But, the port of moreamp from gtk1 to gtk2 needs more work, and I still get messages like:
        Pango-WARNING : Invalid UTF-8 string passed to pango_layout_set_text()
        and sometimes
        Gtk-CRITICAL
        : gtk_main_quit: assertion `main_loops != NULL' failed'.

        When running from a terminal, you can probably safely discard these messages, e.g. moreamp 2&gt;/dev/null list2.maf.

        1. In maLog.txt, these two entries are normal on first startup:
          '09:14:31 SetKeyBindings factory settings '/root/moreamp/masettings/makeybindings.txt'
          '09:14:31 LoadSettingsCDRom setting factory cdrom settings'

        2. The other maLog.txt entries you get ('MenuSetChecked...') are not normal.
          Do you get these from both gtk1 and gtk2? From wx? Do you get these consistently, or just once in a while?
          Menu items 49 and 50 are Show/List and Show/Equalizer.

        3. I have not tried Fedora Core 4. I saw it comes with gtk+-2.6.7, and the compiler is gcc4. I've built moreamp 0.1.16 (nogui) and the libs in the moreamp libs dir with gcc4 (instead of gcc3) from a Ubuntu ppc distribution, with only one or two changes to the aac/mp4 codec libs, as I recall, I would have to check. I don't know how glib/gtk+1.2.10 or wxWidgets build with gcc4. Autoheader/autoconf/automake etc. are probably ok, since from Red Hat.

        pmisteli

         
    • frank_beckey

      frank_beckey - 2006-02-03

      answers to questions
      1. there is no ~/moreamp/maLog.txt file to be found.

      1. yes the problem is always the same the program terminates in in a little under 2 minutes regardless fo version or configuration or command line arguments.

      3 same as 2

      4 hardware is Gigabyte mother board GA-6VMML with
      Intel PIII 1 GHz processor with 256M ram. via chip set info from /proc/pci follows

      PCI devices found:
      Bus 0, device 0, function 0:
      Host bridge: VIA Technologies, Inc. VT8601 [Apollo ProMedia] (rev 5).
      Master Capable. Latency=8.
      Prefetchable 32 bit memory at 0xe0000000 [0xe3ffffff].
      Bus 0, device 1, function 0:
      PCI bridge: VIA Technologies, Inc. VT8601 [Apollo ProMedia AGP] (rev 0).
      Master Capable. No bursts. Min Gnt=8.
      Bus 0, device 7, function 0:
      ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 64).
      Bus 0, device 7, function 1:
      IDE interface: VIA Technologies, Inc. Bus Master IDE (rev 6).
      Master Capable. Latency=32.
      I/O at 0xffa0 [0xffaf].
      Bus 0, device 7, function 3:
      USB Controller: VIA Technologies, Inc. UHCI USB (#2) (rev 26).
      IRQ 9.
      Master Capable. Latency=64.
      I/O at 0xd000 [0xd01f].
      Bus 0, device 7, function 2:
      USB Controller: VIA Technologies, Inc. UHCI USB (rev 26).
      IRQ 9.
      Master Capable. Latency=64.
      I/O at 0xcc00 [0xcc1f].
      Bus 0, device 7, function 4:
      SMBus: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 64).
      Bus 0, device 7, function 5:
      Multimedia audio controller: VIA Technologies, Inc. VT82C686 AC97 Audio Controller (rev 80).
      IRQ 10.
      I/O at 0xdc00 [0xdcff].
      I/O at 0xd800 [0xd803].
      I/O at 0xd400 [0xd403].
      Bus 0, device 8, function 0:
      Parallel controller: Siig Inc CyberParallel (1-port) (rev 0).
      IRQ 10.
      I/O at 0xc800 [0xc807].
      I/O at 0xc400 [0xc403].
      Bus 0, device 9, function 0:
      Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 120).
      IRQ 10.
      Master Capable. Latency=64. Min Gnt=10.Max Lat=10.
      I/O at 0xc000 [0xc07f].
      Non-prefetchable 32 bit memory at 0xdfffff80 [0xdfffffff].
      Bus 1, device 0, function 0:
      VGA compatible controller: Trident Microsystems CyberBlade/i1 (rev 106).
      IRQ 11.
      Master Capable. Latency=64.
      Non-prefetchable 32 bit memory at 0xdf000000 [0xdf7fffff].
      Non-prefetchable 32 bit memory at 0xdfee0000 [0xdfefffff].
      Non-prefetchable 32 bit memory at 0xde800000 [0xdeffffff].

      Frank Beckey

       
      • Nobody/Anonymous

        Thanks for the info.

        The closest platform to yours that I have is a very slow pc emulator with RedHat 9 kernel 2.4.20-8, and I can't reproduce your problem, so fixing this means some code editing and testing on your part, if you are so inclined.

        My first guess is that moreamp is not dealing with differences in your older version of linux.

        The moreamp code to support multiple instances may be sensitive to those differences.

        You can disable this code, rebuild moreamp, and see what happens:

        1. I suggest you first remove or rename the existing ~/moreamp dir, and let moreamp create it when it starts, if it gets that far.

        2. Comment out line 263 in src/maConfig.h so that it reads
          // #define MAINSTANCES

        3. Use the GTK+1 build for testing. Run ./mamkunixgtk.sh

        Subsequent builds for testing can be made without re-running the 'mamkunixgtk.sh' script, with just make clean, configure, and/or make.

        1. Don't install moreamp, run it from where it was built, ./moreamp, without any parameters.

        If it works, on the screen you get moreamp with factory values (main, list and equalizer windows), and in your home dir you get a 'moreamp' dir with various subdirs and a maLog.txt file with a couple of lines in it.

        Then you can copy the magtkrc file to the masettings dir (if you wish), change settings, run ./moreamp list2, try other builds, etc.

        1. If it still fails (the same way) try to simplify things by eliminating some moreamp functionality with the configure --without-... options, e.g.

        rm moreamp (remove previous build just to be sure)

        make clean

        ./configure --without-mad \ --without-lame \ --without-id3tag \ --without-vorbis \ --without-flac \ --without-faad \ --without-faac \ --without-mp4v2 \ --without-mp4v2enc \ --without-cdreader \ --without-aif \ --without-wav \ --without-wma \ --without-keyboard \ --with-gui=native

        make

        ./moreamp

        This is unlikeky to change anything because moreamp fails before using any of these modules, except possibly the keyboard and cdreader, but it may simplify subsequent testing.

        1. If step 3 produced a working moreamp, maybe you would still be interested in trying to find exactly why the build with support for multiple instances fails?

        pmisteli

         

Log in to post a comment.