<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    I don't have a similar failure with the same version as build by the
    debian package that ubuntu ships with (which is the same version
    2.10.8.1)....  But i'm on a different platform i believe (x86-64).<br>
    <br>
    I looked at the ubuntu source, and it appears to be failing here for
    you:<br>
     g_return_val_if_fail (hash != NULL, FALSE);<br>
    <br>
    In Line 293 it's at method:<br>
    g_hash_table_lookup_extended (GHashTable *hash, gconstpointer key,
    gpointer *orig_key, gpointer *value)<br>
    <br>
    In line 236 it's at method:<br>
    g_hash_table_insert_replace (GHashTable *hash, gpointer key,
    gpointer value, gboolean replace)<br>
    <br>
    You could try to debug that with gdb or something, but It looks like
    eglib (from the README in that directory) is a compatible glib that
    is built separately and not always installed except under conditions
    where novell needs a custom glib that is compatible with the regular
    glib but under a different license.  Is there a reason you are using
    eglib?  Is the regular glib not installed?  Maybe try instead
    apt-get source libglib2.0-dev and build and install that instead? 
    (and don't use eglib unless necessary?)<br>
    <br>
    <br>
    <br>
    On 06/01/2012 06:29 AM, Dennis Krzyzaniak wrote:
    <blockquote cite="mid:004401cd3fe1$7b7f8a80$727e9f80$@conworx.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <meta name="Generator" content="Microsoft Word 14 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.E-MailFormatvorlage17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span lang="EN-US">Hi all,<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">I am trying to get Mono
            running on a spider III device including an ARM920t
            processor with Linux as OS.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">/host $ uname -a<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Linux Spider-III
            2.6.17.3-axo-s07.2 #1425 Fri Jul 25 10:59:30 CEST 2008
            armv4tl unknown<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">When I try to invoke a
            simple hello_world.exe I get 399 assertions in eglib (always
            the same asserts):<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">/host $ ./mono
            hello_world.exe<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">../../../../eglib/src/ghashtable.c:293:
            assertion 'hash != NULL' failed<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">../../../../eglib/src/ghashtable.c:236:
            assertion 'hash != NULL' failed<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">../../../../eglib/src/ghashtable.c:293:
            assertion 'hash != NULL' failed<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">../../../../eglib/src/ghashtable.c:236:
            assertion 'hash != NULL' failed<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">…<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">The ‘Hello World’ is
            also displayed:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">../../../../eglib/src/ghashtable.c:293:
            assertion 'hash != NULL' failed<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">../../../../eglib/src/ghashtable.c:236:
            assertion 'hash != NULL' failed<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Hello
            World../../../../eglib/src/ghashtable.c:293: assertion 'hash
            != NULL' failed<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">…<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">The hello world code:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">using System;<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">namespace foobar {<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">   public class foo {<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">      public static void
            Main(string[] args) {<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">        
            Console.WriteLine("Hello World");<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">      }<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">   }<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">}<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">I am absolutely new to
            Mono and completely lost with this behavior. Maybe someone
            knows the reason or can point me to a direction to find the
            issue?<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">I attached a trace
            (./mono –trace hello_world.exe), maybe this helps? The trace
            is cut to fit into this mail, please let me know if a full
            trace is needed.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">I am using the debian
            source package of Mono 2_10_8.1-1 because in the official
            release a unittest fails.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">To get Mono build with
            the ‘old’ ARM  toolchain provided by the vendor I made a few
            changes in the project please see below. <o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">I am calling configure
            with the following parameters:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">configure 
            --build=i686-pc-linux-gnu --host=arm-axotec-linux-gnu
            LD=arm-axotec-linux-gnu-ld
            OBJDUMP=arm-axotec-linux-gnu-objdump --prefix=/host
            --disable-mcs-build --srcdir=../..<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">configure.in:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+dnl<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+dnl BEGIN Conworx
            Spider III ARMv4t settings<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+dnl there are already
            arm-*-linux* settings below but the place is to late, checks
            which<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+dnl tested before
            fails. So I added my specific stuff here without changing
            the old<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+dnl settings.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+dnl<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+if test "x$host" =
            "xarm-axotec-linux-gnu"; then<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+dnl looks like this are
            all needed settings, the rest is redundant.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  TARGET=ARM;<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  cross_compiling=yes<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  dnl which defines are
            needed? just copied some<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  dnl
            CPPFLAGS="$CPPFLAGS -DGC_LINUX_THREADS -D_GNU_SOURCE
            -D_REENTRANT -DARM_FPU_NONE -D__ARM_EABI__"<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  CPPFLAGS="$CPPFLAGS
            -D_GNU_SOURCE -D_REENTRANT -DARM_FPU_NONE -mcpu=arm920t
            -D__ARM_ARCH_4__"<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  CPPFLAGS="$CPPFLAGS
            -DNO_THUMB2_INSTRUCTIONS"<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  arch_target=arm;<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  ACCESS_UNALIGNED="no"<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  JIT_SUPPORTED=yes<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  jit_wanted=true<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  sgen_supported=true<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  dnl Can't use tls,
            since it depends on the runtime detection of tls offsets<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  dnl  in
            mono-compiler.h<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+ 
            libgc_threads=pthreads<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  with_tls=pthread<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  use_sigposix=yes<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  dnl Enable support
            for using sigaltstack for SIGSEGV and<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  dnl stack overflow
            handling (TODO not sure if it works on my arm)<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  with_sigaltstack=no<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  dnl to bypass the
            underscore linker check, can't work when cross-compiling<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  mono_cv_uscore=yes<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  dnl support ahead of
            time compilation<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  AOT_SUPPORTED="yes"<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  libdl="-ldl"<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+  dnl I need some
            define to enable my hacks oO<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+ 
            AC_DEFINE(PLATFORM_AXOTEC_LINUX,1,[Targeting axotec linux on
            arm920t])<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+fi<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+# Added LT_OUTPUT to
            generate libtool script by config.lt before calling it.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+LT_OUTPUT<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">export_ldflags=`(./libtool
            --config; echo eval echo \\$export_dynamic_flag_spec) | sh`<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">AC_SUBST(export_ldflags)<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+dnl the check for cross
            compiling is included in the mono release but removed<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+dnl in the debian
            source package because for the debian distribution no cross<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+dnl compiling is used.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+if test ${TARGET} =
            ARM  && test x$cross_compiling = xno; then<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">   dnl
            ******************************************<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">   dnl *** Check to see
            what FPU is available ***<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">   dnl
            ******************************************<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">mono/metadata/sgen-archdep.h:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">/* We dont store ip, sp
            */<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">#define ARCH_NUM_REGS 14<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+/* arm920t does not
            support thumb2 instructions */<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+#if !defined
            (NO_THUMB2_INSTRUCTIONS)<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+/* THUMB2 instuctions
            */<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">#define
            ARCH_STORE_REGS(ptr)    \<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">   __asm__
            __volatile__(         \<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">      "push
            {lr}\n"           \<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">@@ -145,6 +148,17 @@<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">     
            :                    \<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">      : "r"
            (ptr)             \<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">   )<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+#else /*
            NO_THUMB2_INSTRUCTIONS */<o:p></o:p></span></p>
        <p class="MsoNormal">+/* ARM instuctions */<o:p></o:p></p>
        <p class="MsoNormal"><span lang="EN-US">+#define
            ARCH_STORE_REGS(ptr) \<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+   __asm__
            __volatile__( \<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+         "stmfd sp!,
            {lr}\n" \<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+         "mov lr, %0\n"
            \<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+         "stmia lr!,
            {r0-r12}\n" \<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+         "ldmfd sp!,
            {lr}\n" \<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+         : \<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+         : "r" (ptr))<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+#endif /*
            NO_THUMB2_INSTRUCTIONS */<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">mono/mini/jit-icalls.c:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">#if defined(__arm__)
            && MONO_ARCH_SOFT_FLOAT<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+#if defined
            (PLATFORM_AXOTEC_LINUX)<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+   /* ULLONG_MAX is not
            defined, just define here the max size of an unsigend<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+    * long long int. */<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+#ifndef ULLONG_MAX<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+#define ULLONG_MAX  
            18446744073709551615ULL<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+#endif /* !ULLONG_MAX
            */<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">+#endif /*
            PLATFORM_AXOTEC_LINUX */<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">   if (isnan (v) || !(v
            >= -0.5 && v <= ULLONG_MAX+0.5)) {<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">     
            mono_raise_exception (mono_get_exception_overflow ());<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Would be great to get
            some help!<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal">Best regards,<o:p></o:p></p>
        <p class="MsoNormal">Dennis Krzyzaniak<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Mono-devel-list mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a>
<a class="moz-txt-link-freetext" href="http://lists.ximian.com/mailman/listinfo/mono-devel-list">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>