Here's an error message I got in my *sdb* buffer:
#<CONSTANT-POOL-IDX @ #x75b9f21a> cannot be converted to a pathname. [Condition of type TYPE-ERROR]
Restarts: 0: [ABORT] Return to SLIME toplevel. 1: [ABORT] Abort entirely from this process.
If we look at the backtrace around lines 5 and 6 we see that the real problem was a NO-APPLICABLE-METHOD which is somehow causing SWANK to pass my object to SWANK:PATHNAME-AS-DIRECTORY. Anyone know what that's about. This is with Allegro, FWIW.
Backtrace: 0: (SWANK::SWANK-DEBUGGER-HOOK #<TYPE-ERROR @ #x75b9f27a> #<Function SWANK-DEBUGGER-HOOK>) 1: (EXCL::INTERNAL-INVOKE-DEBUGGER "Error" #<TYPE-ERROR @ #x75b9f27a> T) 2: (ERROR TYPE-ERROR :DATUM #1=#<CONSTANT-POOL-IDX @ #x75b9f21a> :EXPECTED-TYPE (OR PATHNAME STREAM STRING) :FORMAT-CONTROL "~s cannot be converted to a pathname." :FORMAT-ARGUMENTS (#1#)) 3: (EXCL::.TYPE-ERROR #1=#<CONSTANT-POOL-IDX @ #x75b9f21a> (OR PATHNAME STREAM STRING) 1 "~s cannot be converted to a pathname." . #1#) 4: (PATHNAME #<CONSTANT-POOL-IDX @ #x75b9f21a>) 5: (SWANK::PATHNAME-AS-DIRECTORY #<CONSTANT-POOL-IDX @ #x75b9f21a>) 6: ((METHOD NO-APPLICABLE-METHOD (#)) #<STANDARD-GENERIC-FUNCTION TAG> #<CONSTANT-POOL-IDX @ #x75b9f21a>) 7: (SYSTEM::..RUNTIME-OPERATION #<STANDARD-GENERIC-FUNCTION NO-APPLICABLE-METHOD> #<STANDARD-GENERIC-FUNCTION TAG> (#<CONSTANT-POOL-IDX @ #x75b9f21a>)) 8: (EXCL::INITIAL-DFUN (#<CONSTANT-POOL-IDX @ #x75b9f21a>) #<STANDARD-GENERIC-FUNCTION TAG>) 9: ((METHOD COM.GIGAMONKEYS.BINARY-DATA::FILL-OBJECT-FROM-STREAM :AFTER (CONSTANT-POOL T)) #<CONSTANT-POOL @ #x75b9eb52> #<EXCL::BINARY-INPUT-FILE-STREAM #p"classfiles/java/lang/String.class" pos 15 @ #x75b9e38a>) 10: ((:INTERNAL (:EFFECTIVE-METHOD 2 NIL NIL NIL T) 0) #<CONSTANT-POOL @ #x75b9eb52> #<EXCL::BINARY-INPUT-FILE-STREAM #p"classfiles/java/lang/String.class" pos 15 @ #x75b9e38a>) 11: (SYSTEM::..RUNTIME-OPERATION #<Closure (:INTERNAL # 0) @ #x75b9eb7a>) 12: (EXCL::CHECKING-MISS #<STANDARD-GENERIC-FUNCTION COM.GIGAMONKEYS.BINARY-DATA::FILL-OBJECT-FROM-STREAM> (#<CONSTANT-POOL @ #x75b9eb52> #<EXCL::BINARY-INPUT-FILE-STREAM #p"classfiles/java/lang/String.class" pos 15 @ #x75b9e38a>) #<Closure (:INTERNAL # 0) @ #x75b9ea3a> #(0 NIL NIL NIL NIL NIL NIL NIL)) 13: ((:INTERNAL EXCL::UPDATE-TO-CHECKING-DFUN 2) #<CONSTANT-POOL @ #x75b9eb52> #<EXCL::BINARY-INPUT-FILE-STREAM #p"classfiles/java/lang/String.class" pos 15 @ #x75b9e38a>) 14: ((METHOD READ-OBJECT (SYMBOL T)) CONSTANT-POOL #<EXCL::BINARY-INPUT-FILE-STREAM #p"classfiles/java/lang/String.class" pos 15 @ #x75b9e38a>) 15: (SYSTEM::..RUNTIME-OPERATION #<Function (METHOD READ-OBJECT #)> (CONSTANT-POOL #<EXCL::BINARY-INPUT-FILE-STREAM #p"classfiles/java/lang/String.class" pos 15 @ #x75b9e38a>)) 16: ((:INTERNAL EXCL::EFFECTIVE-METHOD-EQL 0) CONSTANT-POOL #<EXCL::BINARY-INPUT-FILE-STREAM #p"classfiles/java/lang/String.class" pos 15 @ #x75b9e38a>) 17: ((METHOD COM.GIGAMONKEYS.BINARY-DATA::FILL-OBJECT-FROM-STREAM (JAVA-CLASS-FILE T)) #<JAVA-CLASS-FILE @ #x75b9ea12> #<EXCL::BINARY-INPUT-FILE-STREAM #p"classfiles/java/lang/String.class" pos 15 @ #x75b9e38a>) 18: ((:INTERNAL (:EFFECTIVE-METHOD 2 NIL NIL NIL T) 0) #<JAVA-CLASS-FILE @ #x75b9ea12> #<EXCL::BINARY-INPUT-FILE-STREAM #p"classfiles/java/lang/String.class" pos 15 @ #x75b9e38a>) 19: (SYSTEM::..RUNTIME-OPERATION #<Closure (:INTERNAL # 0) @ #x75b9ea3a> (#<JAVA-CLASS-FILE @ #x75b9ea12> #<EXCL::BINARY-INPUT-FILE-STREAM #p"classfiles/java/lang/String.class" pos 15 @ #x75b9e38a>)) 20: (EXCL::INITIAL-DFUN (#<JAVA-CLASS-FILE @ #x75b9ea12> #<EXCL::BINARY-INPUT-FILE-STREAM #p"classfiles/java/lang/String.class" pos 15 @ #x75b9e38a>) #<STANDARD-GENERIC-FUNCTION COM.GIGAMONKEYS.BINARY-DATA::FILL-OBJECT-FROM-STREAM>)
-Peter
Peter Seibel peter@javamonkey.com writes:
If we look at the backtrace around lines 5 and 6 we see that the real problem was a NO-APPLICABLE-METHOD which is somehow causing SWANK to pass my object to SWANK:PATHNAME-AS-DIRECTORY. Anyone know what that's about. This is with Allegro, FWIW.
All this is very strange. There is no symbol PATHNAME-AS-DIRECTORY in the SWANK package. It's in the CL package, but we don't shadow it. And we never (directly) call PATHNAME-AS-DIRECTORY or PATHNAME.
Do you add methods to NO-APPLICABLE-METHOD in your code? I noticed that NO-APPLICABLE-METHOD is a bit quirky in Allegro5. Is this fixed in newer versions?
Helmut.
Helmut Eller e9626484@stud3.tuwien.ac.at writes:
Peter Seibel peter@javamonkey.com writes:
If we look at the backtrace around lines 5 and 6 we see that the real problem was a NO-APPLICABLE-METHOD which is somehow causing SWANK to pass my object to SWANK:PATHNAME-AS-DIRECTORY. Anyone know what that's about. This is with Allegro, FWIW.
All this is very strange. There is no symbol PATHNAME-AS-DIRECTORY in the SWANK package. It's in the CL package, but we don't shadow it. And we never (directly) call PATHNAME-AS-DIRECTORY or PATHNAME.
Do you add methods to NO-APPLICABLE-METHOD in your code? I noticed that NO-APPLICABLE-METHOD is a bit quirky in Allegro5. Is this fixed in newer versions?
I don't. Dunno about Allegro. I'm using 6.2. I'll dig some more if it happens again.
-Peter