Menu

Problem with compiling - medit 11305

Andrew
2007-02-27
2012-12-11
  • Andrew

    Andrew - 2007-02-27

    I have complied and install medit 8.2 and also tried the beta version from today and I get the same error message when I run medit:

    (medit:11305): Moo-CRITICAL **: prefs_new_key: assertion `g_utf8_validate (key, -1, NULL)' failed

    Mandriva 2007 x86_64

    # uname -a
    Linux ezcool 2.6.17-6mdv #1 SMP Wed Oct 25 12:17:57 MDT 2006 x86_64 AMD Athlon(tm) 64 Processor 4000+ GNU/Linux

    Does anyone have any ideas?

    All the best

    Andrew

     
    • Yevgen Muntyan

      Yevgen Muntyan - 2007-02-27

      Strange problem, maybe something weird happened on writing preferences file or something. Could you post ~/.meditrc and ~/.medit.state?
      If you don't mind playing with gdb, it'd be nice if you recompiled medit with debugging stuff, e.g.
      make clean && CFLAGS="-g" ./configure ... --enable-debug && make
      and ran it with
      gdb --args medit --g-fatal-warnings
      (type 'r', Enter in gdb prompt). It'll get a stack trace, which would be helpful.

       
    • Andrew

      Andrew - 2007-03-05

      Sure, here they are:

      $ more .meditrc
      <?xml version="1.0" encoding="UTF-8"?>
      <Editor>
        <recent-items>
          <item>/usr/local/Adobe/Acrobat7.0/bin/acroread</item>
        </recent-items>
        <langs>
          <lang id="makefile">
            <config>use-tabs: true</config>
          </lang>
        </langs>
      </Editor>
      <Prefs>
        <Plugins>
          <FileSelector>
            <last_dir>/home/andrew/</last_dir>
          </FileSelector>
        </Plugins>
        <Editor>
          <window>
            <width>838</width>
            <height>499</height>
          </window>
          <show_line_numbers>TRUE</show_line_numbers>
          <last_dir>/usr/local/Adobe/Acrobat7.0/bin</last_dir>
          <color_scheme>Default</color_scheme>
        </Editor>
      </Prefs>

      $ more .medit.state
      .medit.state: No such file or directory

      # gdb --args medit --g-fatal-warnings
      GNU gdb 6.3-8mdv2007.0 (Mandriva Linux release 2007.0)
      Copyright 2004 Free Software Foundation, Inc.
      GDB is free software, covered by the GNU General Public License, and you are
      welcome to change it and/or distribute copies of it under certain conditions.
      Type "show copying" to see the conditions.
      There is absolutely no warranty for GDB.  Type "show warranty" for details.
      This GDB was configured as "x86_64-mandriva-linux-gnu"...Using host libthread_db library "/lib64/libthread_db.so.1".

      (gdb) r
      Starting program: /usr/local/bin/medit --g-fatal-warnings
      [Thread debugging using libthread_db enabled]
      [New Thread 46955032184208 (LWP 22147)]
      Moo-Message: moo_app_send_files: got 0 files to pid NONE
      Moo-Message: _moo_app_input_send_msg: sending data to pid NONE

      Moo-CRITICAL **: prefs_new_key_from_string: assertion `g_utf8_validate (key, -1, NULL)' failed
      aborting...

      Program received signal SIGABRT, Aborted.
      [Switching to Thread 46955032184208 (LWP 22147)]
      0x00002ab4914e5fb5 in raise () from /lib64/libc.so.6

      Not sure whether this helps or not.

      All the best

      Andrew

       
    • Yevgen Muntyan

      Yevgen Muntyan - 2007-03-05

      Sorry, I forgot about the 'bt' command in gdb prompt, which would actually print the backtrace. The rc file doesn't have anything obvious.

       
    • Andrew

      Andrew - 2007-03-07

      OK - same as above plus:

      (gdb) bt
      #0  0x00002b6299138fb5 in raise () from /lib64/libc.so.6
      #1  0x00002b629913a5b0 in abort () from /lib64/libc.so.6
      #2  0x00002b62988eb4fb in g_logv () from /usr/lib64/libglib-2.0.so.0
      #3  0x00002b62988eb583 in g_log () from /usr/lib64/libglib-2.0.so.0
      #4  0x00000000004d5ee7 in prefs_new_key_from_string (prefs=0x817ad0,
          key=0x829596 "Plugins/FileSelector/last_dir", value=0x82a930 "/root/",
          prefs_type=MOO_PREFS_RC) at mooprefs.c:446
      #5  0x00000000004d5c26 in moo_prefs_new_key_from_string (
          key=0x829596 "Plugins/FileSelector/last_dir", value=0x82a930 "/root/",
          prefs_type=MOO_PREFS_RC) at mooprefs.c:368
      #6  0x00000000004d7137 in process_element (elm=0x82a860,
          prefs_type=MOO_PREFS_RC) at mooprefs.c:1017
      #7  0x00000000004d7170 in process_element (elm=0x82a6d0,
          prefs_type=MOO_PREFS_RC) at mooprefs.c:1030
      #8  0x00000000004d7170 in process_element (elm=0x82a540,
          prefs_type=MOO_PREFS_RC) at mooprefs.c:1030
      #9  0x00000000004d7170 in process_element (elm=0x82a390,
          prefs_type=MOO_PREFS_RC) at mooprefs.c:1030
      #10 0x00000000004d72ba in load_file (file=0x829000 "/root/.meditrc",
          prefs_type=MOO_PREFS_RC, error=0x7fff13fc5b80) at mooprefs.c:1083
      #11 0x00000000004d734a in moo_prefs_load (file_rc=0x829000 "/root/.meditrc",
          file_state=0x828f70 "/root/.medit.state", error=0x7fff13fc5b80)
          at mooprefs.c:1099
      #12 0x0000000000490e35 in moo_app_init_real (app=0x7e8a00) at mooapp.c:833
      #13 0x00000000004ece72 in _moo_marshal_BOOLEAN__VOID (closure=0x7e8cc0,
          return_value=0x7fff13fc60c0, n_param_values=1,
          param_values=0x7fff13fc5ea0, invocation_hint=0x7fff13fc5d60,
          marshal_data=0x490dc9) at moomarshals.c:551
      #14 0x00002b629843b1da in g_closure_invoke ()
         from /usr/lib64/libgobject-2.0.so.0
      #15 0x00002b629844ba0d in g_signal_override_class_closure ()
         from /usr/lib64/libgobject-2.0.so.0
      #16 0x00002b629844c61f in g_signal_emit_valist ()
         from /usr/lib64/libgobject-2.0.so.0
      #17 0x00002b629844ca33 in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0
      #18 0x0000000000491a3b in moo_app_init (app=0x7e8a00) at mooapp.c:1170
      #19 0x0000000000444cd7 in main (argc=1, argv=0x7fff13fc6438) at medit-app.c:671

       
    • Yevgen Muntyan

      Yevgen Muntyan - 2007-03-08

      Thanks, it's what I needed. Unfortunately, it just should not happen. Either something is wrong somewhere, or gdb is lying. Do you have some non-ASCII-based locale encoding by chance (some UTF16 or some of CJK group)? Do you experience something weird like crashes or drawing garbage?

       
    • Andrew

      Andrew - 2007-03-09

      I may be getting out of my depthe here, but my locale settings are:

      LANG=en_GB.UTF-8
      LANGUAGE=en_GB.UTF-8:en_GB:en
      LC_ADDRESS=en_GB.UTF-8
      LC_COLLATE=en_GB.UTF-8
      LC_CTYPE=en_GB.UTF-8
      LC_IDENTIFICATION=en_GB.UTF-8
      LC_MEASUREMENT=en_GB.UTF-8
      LC_MESSAGES=en_GB.UTF-8
      LC_MONETARY=en_GB.UTF-8
      LC_NAME=en_GB.UTF-8
      LC_NUMERIC=en_GB.UTF-8
      LC_PAPER=en_GB.UTF-8
      LC_SOURCED=1
      LC_TELEPHONE=en_GB.UTF-8
      LC_TIME=en_GB.UTF-8

      I do get occasional strange characters in text though. Any ideas?

      Many Thanks

      All the best

      Andrew

       
      • Yevgen Muntyan

        Yevgen Muntyan - 2007-03-09

        > I may be getting out of my depthe here, but my locale settings are:
        >
        > LANG=en_GB.UTF-8

        This means you are using good nice UTF8, I just hoped maybe gdb converted "/root/" from some weird encoding which I don't handle properly somehow. But, it's not the case, so I have no idea what's wrong. I'll try to valgrind it, maybe it's some memory corruption somewhere.

        > I do get occasional strange characters in text though. Any ideas?

        How do you get those? Is it in files you open (then it might be an encoding problem, it could get characters which it can't display); or do they appear out of blue, when you type something in? Maybe it's GTK's unicode feature - you press Shift-Ctrl-U and enter hexadecimal code of unicode character (or in older GTK you use Ctrl-Shift-[0-9A-F])?

         
    • Andrew

      Andrew - 2007-03-13

      The strange characters are predictable and in pretty ordinary files e.g.:

      man(1)                                                                  man(1)

      NAME
             man - format and display the on-line manual pages
             manpath - determine user's search path for man pages

      SYNOPSIS
             man  [-acdfFhkKtwW]  [--path]  [-m system] [-p string] [-C config_file]
             [-M pathlist] [-P pager] [-S section_list] [section] name ...

      DESCRIPTION
             man formats and displays the on-line manual pages.  If you specify secâ    <<<<<<<<<<<<<<<<<<<<<<
             tion,  man  only looks in that section of the manual.  name is normally
             the name of the manual page, which is typically the name of a  command,
             function,  or  file.   However,  if  name contains a slash (/) then man
             interprets it as a file specification, so that you can do  man  ./foo.5
             or even man /cd/foo/bar.1.gz.

      See what I mean?

      All the best

      Andrew

       

Log in to post a comment.

MongoDB Logo MongoDB