I modified i-coerce.boot, then in FRICASsys,
  )read i-coerce
  )lisp (defun GLESSEQP (X Y) (BREAK))
  series(sin x)

The above has no problem in Linux, but fails under
windows, backtrace is in attachment.

- Qian

On 5/13/24 18:10, Waldek Hebisch wrote:
On Mon, May 13, 2024 at 05:07:56PM +0800, Qian Yun wrote:
Some other updates:

This happens for Clozure CL as well.

This does not happen for fricas0, either compile-mode or
interpret-mode.


Very strange indeed.

I'll compare call stack to interpreter later.

On Linux I can do the following and the example still works:

1) Disable 'canCoercePermute' and 'coerceIntPermute' by adding

     true => nil

as first line

2) Replace GLESSEQP by the following:

(defun GLESSEQP (X Y) (BREAK))

Which means that 'coerceIntPermute' is the only place using
'GLESSEQP' to handle the example (in fact cases when it is used
are quite rare).

I wonder if on Windows there are extra uses of GLESSEQP?  The above
would allow to find them.


--
You received this message because you are subscribed to the Google Groups "FriCAS - 
computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/5c3233a1-e2c5-4936-987b-8119dd064aa4%40gmail.com.
(1) -> series(sin x)

debugger invoked on a SIMPLE-CONDITION in thread
#<THREAD tid=4992 "main thread" RUNNING {1000FE8003}>:
  break

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [CONTINUE] Return from BREAK.
  1: [ABORT   ] Exit from the current thread.

(SB-EVAL::EVAL-BLOCK (GLESSEQP (BREAK)) #<SB-EVAL::ENV {10055357D3}>)
0] :backtrace

Backtrace for: #<SB-THREAD:THREAD tid=4992 "main thread" RUNNING {1000FE8003}>
0: (SB-EVAL::EVAL-BLOCK (GLESSEQP (BREAK)) #<SB-EVAL::ENV {10055357D3}>)
1: (|mergeSort| #<INTERPRETED-FUNCTION GLESSEQP> #<FUNCTION |Identity|> 
((|OMwrite| ((|Void|) (|OpenMathDevice|) % (|Boolean|)) . T) (|OMwrite| 
((|Void|) (|OpenMathDevice|) %) . T)) 2)     
2: (|mergeSort| #<INTERPRETED-FUNCTION GLESSEQP> #<FUNCTION |Identity|> 
#<unavailable argument> 4)
3: (|categoryParts1| |category| (|OpenMath|) (|Join| (CATEGORY |domain| 
(SIGNATURE |OMwrite| ((|String|) %)) (SIGNATURE |OMwrite| ((|String|) % 
(|Boolean|))) (SIGNATURE |OMwrite| ((|Void|) 
(|OpenMathDevice|) %)) (SIGNATURE |OMwrite| ((|Void|) (|OpenMathDevice|) % 
(|Boolean|))))) T)
4: (|mkCategoryExtensionAlist| (|OpenMath|))
5: (|getCategoryExtensionAlist0| (|OpenMath|))
6: (|addDomainToTable| |Integer| ((|IntegerNumberSystem|) 
(|LinearlyExplicitOver| (|Integer|)) (|PolynomialFactorizationExplicit|) 
(|ConvertibleTo| (|String|)) (|OpenMath|) (|Canonical|) (|
canonicalsClosed|) (|Hashable|)))
7: (|updateCategoryTableForDomain| |Integer| ((|IntegerNumberSystem|) 
(|LinearlyExplicitOver| (|Integer|)) (|PolynomialFactorizationExplicit|) 
(|ConvertibleTo| (|String|)) (|OpenMath|) (|Ca
nonical|) (|canonicalsClosed|) (|Hashable|)))
8: (|updateCategoryTable| |Integer| |domain|)
9: (|loadLib| |Integer|)
10: ((LAMBDA (&REST ARGS) :IN |mkAutoLoad|))
11: (SB-EVAL::EVAL-ARGS ((|Integer|)) #<SB-EVAL::ENV {100546F623}>)
12: (SB-EVAL::%EVAL (|Expression| (|Integer|)) #<SB-EVAL::ENV {100546F623}>)
13: (SB-EVAL:EVAL-IN-NATIVE-ENVIRONMENT (|Expression| (|Integer|)) 
#<NULL-LEXENV>)
14: (EVAL (|Expression| (|Integer|)))
15: (|eval| (|Expression| (|Integer|)))
16: (|evalDomain| (|Expression| (|Integer|)))
17: (|interpLookup;| |coerce| (% (|Symbol|)) (|Expression| (|Integer|)))
18: (|interpLookup| |coerce| (% (|Symbol|)) (|Expression| (|Integer|)))
19: (|coerceByFunction| ((|Symbol|) WRAPPED . |x|) (|Expression| (|Integer|)))
20: (|coerceIntTower| ((|Symbol|) WRAPPED . |x|) (|Expression| (|Integer|)))
21: (|coerceInt1| ((|Symbol|) WRAPPED . |x|) (|Expression| (|Integer|)))
22: (|coerceInt| ((|Symbol|) WRAPPED . |x|) (|Expression| (|Integer|)))
23: (|coerceInt0| ((|Variable| |x|) WRAPPED . |x|) (|Expression| (|Integer|)))
24: (|coerceInteractive| ((|Variable| |x|) WRAPPED . |x|) (|Expression| 
(|Integer|)))
25: (|coerceOrRetract| ((|Variable| |x|) WRAPPED . |x|) (|Expression| 
(|Integer|)))
26: (|getArgValue1| #(|x| NIL (#1=(|Variable| |x|) WRAPPED . |x|) (#1#) 
((|totalArgs| . 1) (|argumentNumber| . 1) (|callingFunction| . |sin|))) 
(|Expression| (|Integer|)))
27: (|getArgValue| #(|x| NIL (#1=(|Variable| |x|) WRAPPED . |x|) (#1#) 
((|totalArgs| . 1) (|argumentNumber| . 1) (|callingFunction| . |sin|))) 
(|Expression| (|Integer|)))
28: (|evalForm| #(|sin| NIL NIL NIL ((|totalArgs| . 1) (|argumentNumber| . 1) 
(|callingFunction| . |series|))) |sin| (#(|x| NIL (#1=(|Variable| |x|) WRAPPED 
. |x|) (#1#) ((|totalArgs| . 1) 
(|argumentNumber| . 1) (|callingFunction| . |sin|)))) (((#1=(|Expression| 
(|Integer|)) #1# #1#) (% %) (NIL))))
29: (|bottomUpForm2| (#(|sin| NIL NIL NIL ((|totalArgs| . 1) (|argumentNumber| 
. 1) (|callingFunction| . |series|))) #(|x| NIL (#1=(|Variable| |x|) WRAPPED . 
|x|) (#1#) ((|totalArgs| . 1) (
|argumentNumber| . 1) (|callingFunction| . |sin|)))) #(|sin| NIL NIL NIL 
((|totalArgs| . 1) (|argumentNumber| . 1) (|callingFunction| . |series|))) 
|sin| (#(|x| NIL (#1=(|Variable| |x|) WRA
PPED . |x|) (#1#) ((|totalArgs| . 1) (|argumentNumber| . 1) (|callingFunction| 
. |sin|)))) (((|Variable| |x|))))
30: (|bottomUpForm3| (#(|sin| NIL NIL NIL ((|totalArgs| . 1) (|argumentNumber| 
. 1) (|callingFunction| . |series|))) #(|x| NIL (#1=(|Variable| |x|) WRAPPED . 
|x|) (#1#) ((|totalArgs| . 1) (
|argumentNumber| . 1) (|callingFunction| . |sin|)))) #(|sin| NIL NIL NIL 
((|totalArgs| . 1) (|argumentNumber| . 1) (|callingFunction| . |series|))) 
|sin| (#(|x| NIL (#1=(|Variable| |x|) WRA
PPED . |x|) (#1#) ((|totalArgs| . 1) (|argumentNumber| . 1) (|callingFunction| 
. |sin|)))) (((|Variable| |x|))))
31: (|bottomUp| (#(|sin| NIL NIL NIL ((|totalArgs| . 1) (|argumentNumber| . 1) 
(|callingFunction| . |series|))) #(|x| NIL (#1=(|Variable| |x|) WRAPPED . |x|) 
(#1#) ((|totalArgs| . 1) (|argu
mentNumber| . 1) (|callingFunction| . |sin|)))))
32: (|bottomUp| (#(|series| NIL NIL NIL NIL) (#(|sin| NIL NIL NIL ((|totalArgs| 
. 1) (|argumentNumber| . 1) (|callingFunction| . |series|))) #(|x| NIL 
(#1=(|Variable| |x|) WRAPPED . |x|) (#
1#) ((|totalArgs| . 1) (|argumentNumber| . 1) (|callingFunction| . |sin|))))))
33: (|interpret1| (|series| (|sin| |x|)) NIL (|Application| ((|id| (|posn| 
#1=(0 "series(sin x)" 1 1 "strings") . 0)) . |series|) (|Application| ((|id| 
(|posn| #1# . 7)) . |sin|) ((|id| (|p
osn| #1# . 11)) . |x|))))
34: (|interpret| (|series| (|sin| |x|)) (|Application| ((|id| (|posn| #1=(0 
"series(sin x)" 1 1 "strings") . 0)) . |series|) (|Application| ((|id| (|posn| 
#1# . 7)) . |sin|) ((|id| (|posn| 
#1# . 11)) . |x|))))
35: (|interpretTopLevel| (|series| (|sin| |x|)) (|Application| ((|id| (|posn| 
#1=(0 "series(sin x)" 1 1 "strings") . 0)) . |series|) (|Application| ((|id| 
(|posn| #1# . 7)) . |sin|) ((|id| 
(|posn| #1# . 11)) . |x|))))
36: (|processInteractive1| (|series| (|sin| |x|)) (|Application| ((|id| (|posn| 
#1=(0 "series(sin x)" 1 1 "strings") . 0)) . |series|) (|Application| ((|id| 
(|posn| #1# . 7)) . |sin|) ((|id
| (|posn| #1# . 11)) . |x|))))
37: (|processInteractive0| (|series| (|sin| |x|)) (|Application| ((|id| (|posn| 
#1=(0 "series(sin x)" 1 1 "strings") . 0)) . |series|) (|Application| ((|id| 
(|posn| #1# . 7)) . |sin|) ((|id
| (|posn| #1# . 11)) . |x|))))
38: (|processInteractive| (|series| (|sin| |x|)) (|Application| ((|id| (|posn| 
#1=(0 "series(sin x)" 1 1 "strings") . 0)) . |series|) (|Application| ((|id| 
(|posn| #1# . 7)) . |sin|) ((|id|
 (|posn| #1# . 11)) . |x|))))
39: (|intInterpretPform| (|Application| ((|id| (|posn| #1=(0 "series(sin x)" 1 
1 "strings") . 0)) . |series|) (|Application| ((|id| (|posn| #1# . 7)) . |sin|) 
((|id| (|posn| #1# . 11)) . |x
|))))
40: (|phInterpret| ((|carrier| (|ok?| . T) (|ptreePremacro| . #1=(|Application| 
(# . |series|) (|Application| # #))) (|ptree| . #1#) (|lines| ((# . 1) . 
"series(sin x)")) (|messages|) (|ste
pNumber| . 1))))
41: (|ncConversationPhase| #<FUNCTION |phInterpret|> (((|carrier| (|ok?| . T) 
(|ptreePremacro| . #1=(|Application| # #)) (|ptree| . #1#) (|lines| (# . 
"series(sin x)")) (|messages|) (|stepN
umber| . 1)))))
42: (|intloopSpadProcess,interp| ((|carrier| (|ok?| . T) (|ptreePremacro| . 
#1=(|Application| (# . |series|) (|Application| # #))) (|ptree| . #1#) (|lines| 
((# . 1) . "series(sin x)")) (|me
ssages|) (|stepNumber| . 1))) (|Application| ((|id| (|posn| #1=(0 "series(sin 
x)" 1 1 "strings") . 0)) . |series|) (|Application| ((|id| (|posn| #1# . 7)) . 
|sin|) ((|id| (|posn| #1# . 11))
 . |x|))) T)
43: (|intloopSpadProcess| 1 ((((0 #1="series(sin x)" 1 1 "strings") . 1) . 
#1#)) (|Application| ((|id| (|posn| #1=(0 "series(sin x)" 1 1 "strings") . 0)) 
. |series|) (|Application| ((|id| (
|posn| #1# . 7)) . |sin|) ((|id| (|posn| #1# . 11)) . |x|))) T)
44: (|intloopProcess| 1 T (((((# . 1) . "series(sin x)")) (|Application| ((|id| 
#) . |series|) (|Application| (# . |sin|) (# . |x|)))) |nonnullstream| 
#1=#<FUNCTION |next1|> #<FUNCTION |ncl
oopParse|> (|nonnullstream| #1# #<FUNCTION |fakepile|> (|nullstream|))))
45: (|intloopReadConsole| #<unavailable argument> #<unavailable argument>)
46: (|SpadInterpretStream| 1 NIL T)
47: (|int_loop|)
48: (|ncTopLevel|)
49: (|runspad|)
50: (|spad|)
51: (|fricas_restart2|)
52: ((LAMBDA NIL :IN FRICAS-LISP::SAVE-CORE-RESTART))
53: ((FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP))
54: ((FLET "WITHOUT-INTERRUPTS-BODY-3" :IN SB-IMPL::START-LISP))
55: (SB-IMPL::%START-LISP)
56: ("foreign function: #x1400447C5")
57: ("foreign function: #x140009C00")

Reply via email to