Hi Stavros.
| (do-symbols (xx) (print xx)) prints out 484 symbols (through
| $GFACTORSUM), then GCL (not just Maxima) crashes with "Error sending to
| Maxima:: can not find channel named "sock252"".
I'm not sure I understand how you did this as I don't understand what
GFACTORSUM has to do with do-symbols. Could you please show me what you
typed at the Maxima prompt?
Never-the-less I think I got close to your problem as follows. Here is what
I got in maxima-local while trying to reproduce your report:
==========================================================================
(C1) (X+1)*((U+V)^2+A*(W+Z)^2),EXPAND;
2 2 2 2 2
(D1) A X Z + A Z + 2 A W X Z + 2 A W Z + A W X + V X + 2 U V X + U X
2 2
2
+ A W + V + 2 U V +
U
(C2) FACTORSUM(%);
2 2
(D2) (X + 1) (A (Z + W) + (V + U) )
(C3) GFACTORSUM(%);
2 2
(D3) (X + 1) (A (Z + W) + (V + U) )
(C4) $GFACTORSUM;
Incorrect syntax: Premature termination of input at $.
$
^
(C4)
(D4) GFACTORSUM
(C5) to_lisp();
Type (run) to restart
==========================================================================
To_lisp() seems to crash the interpreter directly. Under XMaxima I get a
pop-up requestor with a message similar to yours by running to_lisp():
==========================================================================
Error sending to Maxima::
can not find channel named "sock1892"
You may need to restart
==========================================================================
This problem occurred for me with the standard Windows Maxima release and
with a GCL 2.6.1 built CVS maxima local on a P IV Windows XP box.
|
| Does anyone know what is going on? Until this gets fixed, is there some
| workaround for iterating through all symbols used by Maxima (presumably
| those in the Maxima package)?
|
| This does not happen in GCL-2.5.0 in a command window with no Maxima
| loaded, but I've CC'd the GCL developers since it crashes GCL.
Likewise, running the command "(do-symbols (xx) (print xx))" in a normal GCL
2.6.1 session (ie, not under Maxima) does not cause problems.
| It
| should be impossible to write user code that crashes the interpreter
| like this, right?
Agreed.
Cheers
Mike Thomas.