Hi Monks,

I'm having some unexpected errors with YASWI http://search.cpan.org/~salva/Language-Prolog-Yaswi-0.18/Yaswi.pm. When I call YASWI with a Perl Module, exit that module, and then navigate into another module, I get:

[PROLOG SYSTEM ERROR: Thread 1 Recursively received fatal signal 11 PROLOG STACK: ] [pid=2788] Action? a

On Googling this error there are a number of sites which recommend including the line:

swi_init('-nosignals');

So I include this, or even the more comprehensive:

swi_init("pl", "-g", "true", "-nosignals");

And to both, I get:

Welcome to SWI-Prolog (Multi-threaded, 64 bits, Version 5.6.64) Copyright (c) 1990-2008 University of Amsterdam. SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Please visit http://www.swi-prolog.org for details. For help, use ?- help(Topic). or ?- apropos(Word). % /home/steve/Documents/i_prolog.pl compiled 0.00 sec, 30,056 bytes SWI-Prolog engine already initialised at /usr/local/lib/perl/5.10.0/La +nguage/Prolog/Yaswi/Low.pm line 63.

My calling code looks like this:

#!/usr/bin/perl -w use strict; package i_observation; use Wx 0.15 qw[:allclasses]; use strict; use warnings; use Wx qw[:everything]; use Wx::Event qw( EVT_MENU ); use base qw(Wx::Frame); use Carp qw(croak); use threads (); # Used for mult +i-tasking ffmpeg use Threads; # Used in Timer to + determine state of tasks use base qw(Wx::Panel Class::Accessor::Fast); use base qw(Wx::PlComboPopup); __PACKAGE__->mk_ro_accessors( qw(html_help chm_help comboctrl) ); use Wx::Locale( gettext => 't'); use Language::Prolog::Yaswi qw(:load :run :query); use Language::Prolog::Types::overload; use Language::Prolog::Sugar functors => {location_organ => 'location_organ', location_segment => 'location_segment', listsegments => 'listsegments', listwalls => 'listwalls', diagnosis => 'diagnosis' }, chains => { orn => ';', andn => ',', add => '+' }, vars => [qw (X Y Z)]; . . . # other routines in the package . . . sub set_location_list{ . . . . my @files = (t("/home/steve/Documents/i_prolog.pl")); swi_init("pl", "-g", "true", "-nosignals"); # Or swi_init("-nosign +als"); swi_consult @files; . . . }

I've also tried

swi_cleanup();

After every Prolog call. In the hope that it would close down the prolog engine and therefore remove the problem. To no avail, in fact it gives me another error.

Use of uninitialized value in subroutine entry at i_observation.pm line 511.

While not resolving the initial problem.

Any insight would be invaluable.

Regards

Steve


In reply to YASWI "Prolog System Error: Thread 1" by Steve_BZ

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.