bug-prolog
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

app throws "illegal instruction"


From: Frank Rehberger
Subject: app throws "illegal instruction"
Date: 14 May 2002 21:08:54 +0200

Hello,

I am using Redhat-7.1, compilation is done against glib-2.0 and
ORbit-2.0. I amusing the pre-compiled version of gnu-prolog-1.2.8.

For Gnome-MrProject I write the project-scheduler using Gnu-Prolog.
The instance of Gnu-Prolog shall be accessible using CORBA interfaces,
running as Servant.

First I wrote a small hello world CORBA servant working fine. One can
attach to this object, applying a remote function that prints "hello
world" to terminal. The next step was to delegate terminal printing to
gnu-prolog linking gnu-prolog against this CORBA interface. The specific
prolog rule is only:
 
echo(Mesg):- 
    print(Mesg).
 
I use gplc to link gnu-prolog libraries against CORBA interfaces. 

Everytime I execute this application  "Illegal instruction" signal is
thrown. Stepping with debugger through code I reach line 59 where the
error occures. The lines before activate sockets and might set some
signal handlers. 

I have got no idea why this error turns up.  Currently _no_ Gnu-Prolog
function is called. I assume gprolog has been compiled against glib-1.x.
Might this error be caused by using glib-1 and glib-2 object files in
same application?

Breakpoint 2, impl_MrProject_Sked__create (poa=0x8295648, ev=0x8290d30)
at mrp-sked-skelimpl.c:59
(gdb) step

Program received signal SIGILL, Illegal instruction.
0xbffff49a in ?? ()

-------<Suggestions or hints are welcome.>--------


   43 static MrProject_Sked
   44 impl_MrProject_Sked__create(PortableServer_POA poa,
CORBA_Environment * ev)
   45 {
   46    MrProject_Sked retval;
   47    impl_POA_MrProject_Sked *newservant;
   48    PortableServer_ObjectId *objid;
   49 
   50    newservant = g_new0(impl_POA_MrProject_Sked, 1);
   51    newservant->servant.vepv = &impl_MrProject_Sked_vepv;
   52    newservant->poa = poa;
   53    POA_MrProject_Sked__init((PortableServer_Servant) newservant,
ev);
   54    objid = PortableServer_POA_activate_object(poa, newservant,
ev);
   55    CORBA_free(objid);
   56    retval = PortableServer_POA_servant_to_reference(poa,
newservant, ev);
   57 
   58    return retval;
   59 }

Thanks, Frank

-- 
-------------------------------------------------
 Frank.Rehberger at acm.org
-------------------------------------------------
 The Twelve Networking Truths 
 http://www.ietf.org/rfc/rfc1925.txt?number=1925
-------------------------------------------------





reply via email to

[Prev in Thread] Current Thread [Next in Thread]