Subject: [clisp-list] Reporting ffi broken: module init dies within stream _read

From: "Hoehle, Joerg-Cyril" <[email-masked]>
Date: Wed Apr 3 23:35:08 2002

Peter,

> I have tried stepping (si) through this with gdb

> 0x08051783      1492                    *object_ptr = 
> stream_read(&STACK_0,NIL,NIL); # Objekt lesen
> (gdb) 
> *** - The value of *TERMINAL-IO* was not a stream: #<CLOSED 
> TERMINAL-STREAM>. It has been changed to #<IO 
> TERMINAL-STREAM>.0x0805e1f6 in interpret_bytecode_ 
> (closure=0x2036fccd, codeptr=0x203357b8, 
>     byteptr_in=0x203357ca 
> "ÇP\nk\003*\024m\004\0010\005Q&\006\031i\001\002/\a\031\001N\0
> 01") at eval.d:7524
> 7524                finish_entry_frame_1(CATCH,returner, goto 
> catch_return; );

Could you send me a backtrace of this point? I suspect it is within module_initialization, reading from module__xyz__object_tab_initdata[]
As far as I can remember, a string-input-stream is created for every element there, so as to create a Lisp object to be stored into module__xyz__object_tab[]. There, I suspect, the reader (stream_read) dies upon 'TESTCI::DECIDER.

>Why does it only break when the module has a def-call-in?
object_tab is not used by DEF-CALL-OUT or DEF-C-VAR.
object_tab can be used by hand-written modules.

The reader only dies when the package is unknown (or maybe locked, to be investigated).

Regards,
	Jörg Höhle.