SWI-Prolog/swish

interaction between anonymous vars and table renderings

friguzzi opened this issue · 11 comments

Hi Jan,
the following program
http://cplint.eu/p/eruption_map.pl
with query map(ev,P,E)
works.
But if I give a name to the singleton variable in the first clause see
http://cplint.eu/p/eruption_map_x.pl
with the same query I get

message_hook/3: Unknown procedure: pengines_io:pengine_output/1
  However, there are definitions for:
        pengines_io:pengine_output/0
pengine `null' does not exist

Any idea what's happening?

on the server console I also get

?- ERROR: autoload loop:
ERROR:   assoc:must_be/2
ERROR:   assoc:must_be/2
Warning: [Thread httpd@3050_3] assoc:get_assoc/3: Unknown procedure: assoc:must_be/2

These two may be related. Are you up-to-date wrt. SWI-Prolog?

yes, I downloaded the development version and installed it on Saturday

I'm afraid I do not have a sensible clue. Note that the problem on the site seems to have vanished. If it reappears I guess we must find a way to reproduce it.

The problem is still present in a test version of the site
http://131.175.199.237:3050/p/eruption_map.pl
If you want, I can give you access to the machine

I see. I guess getting the stuff installed here is more promising. I need access to the Prolog toplevel, possibly low-level debugging, adding debug stuff to Prolog, etc. How easy is it to setup (enough of) cplint on swish to get this reproduced?

You need to install cplint and use my fork of swish, it shouldn't be difficult.

Ok. Did that. Doesn't show any issues though. It complains about some missing libraries (aleph, sldnfdraw and phil), but I'd guess that is unrelated.

I wonder whether there is something wrong with the library index. This is library/INDEX.pl. Could you

  • Move this file to say INDEX.bak
  • Run ?- make_library_index(swi(library)).
  • See whether the new INDEX.pl is the same as the old.
  • If not, see whether everything runs fine now.

I rebuilt ÌNDEX.pl`, the new file was different but I get the same behaviour:

map(ev,P,Exp).
Domain error: `module_file' expected, found `'/usr/local/lib/swipl/library/pengines.pl''
pengine `null' does not exist

and this message in the console

?- maybeUnregisterDirtyDefinition((nil):operator_stack/1): lingering data

?- maybeUnregisterDirtyDefinition((nil):operator_stack/1): lingering data

That is fine. I wondered whether that was possible. Never saw it, but it assumes to be. Not a real problem.

This is a different error, no? If I can have shell access and gdb, trying on your machine might be the best next step. Let us do the sensitive stuff by mail.

Closing due to lack of activity