Edi Weitz [edi@agharta.de] wrote:
- Maybe this is an error that can only be seen on Sun OS. I don't have a Sun to test so you might want to use an x86 machine as your client if possible and see if it exposes the same problem.
That will take a bit longer but I think I should be able to find a GNU/Linux box on an x86. I'll have to start from installing CMUCL, etc. I'll let you know how things go...
Well, not exactly the same error, but close. Maybe you could try again with CL-PPCRE:*USE-BMH-MATCHERS* set to T and TRACE the CL-PPCRE::CREATE-BMH-MATCHER function to see which arguments it gets?
* (in-package #:break-cl-ppcre)
#<The BREAK-CL-PPCRE package, 30/44 internal, 0/2 external> * (setf *test-expect-login* (setf *test-expect-password* #| ... |#))
#| ... |# * cl-ppcre:*use-bmh-matchers*
T * (trace CL-PPCRE::CREATE-BMH-MATCHER)
(CL-PPCRE::CREATE-BMH-MATCHER) * (test-telnet #| ... |#)
0: (CL-PPCRE::CREATE-BMH-MATCHER "login:" NIL) 0: CL-PPCRE::CREATE-BMH-MATCHER returned #<Closure Over Function "DEFUN CREATE-BMH-MATCHER" {40A67039}> Trying #| ... |#... Connected to #| ... |#. Escape character is '^]'.
SunOS 5.6
login: 0: (CL-PPCRE::CREATE-BMH-MATCHER "assword:" NIL) 0: CL-PPCRE::CREATE-BMH-MATCHER returned #<Closure Over Function "DEFUN CREATE-BMH-MATCHER" {40AE4689}> #| ... |# Password: 0: (CL-PPCRE::CREATE-BMH-MATCHER "tekelec:[" NIL) 0: CL-PPCRE::CREATE-BMH-MATCHER returned #<Closure Over Function "DEFUN CREATE-BMH-MATCHER" {40AE82C9}>
Last login: Thu Mar 11 21:20:26 from 10.17.193.24 Sun Microsystems Inc. SunOS 5.6 Generic August 1997 tekelec:[/tekelec/users/#| ... |#] 1 % 0: (CL-PPCRE::CREATE-BMH-MATCHER "tekelec:[" NIL) 0: CL-PPCRE::CREATE-BMH-MATCHER returned #<Closure Over Function "DEFUN CREATE-BMH-MATCHER" {40AEF2E9}> ls SEdisplaylJ_1N_ log mgts_cit_csh auto.sh mgts.Xdefaults mgts_cit_env auto_datafiles.tar mgts.cshrc mgts_gsr6.tar datafile.6.0.1.0.4.tar mgts.login mgts_run datafiles mgts.profile mgts_umt_csh datafiles.bak mgts.xinitrc set_mgts_env install.errors mgts.xsession tekelec:[/tekelec/users/#| ... |#] 2 % T * (test-telnet #| ... |# :prompt +default-mgts-server-prompt--break-cl-ppcre+)
0: (CL-PPCRE::CREATE-BMH-MATCHER "login:" NIL) 0: CL-PPCRE::CREATE-BMH-MATCHER returned #<Closure Over Function "DEFUN CREATE-BMH-MATCHER" {40B15FF9}> Trying #| ... |#... Connected to #| ... |#. Escape character is '^]'.
SunOS 5.6
login: 0: (CL-PPCRE::CREATE-BMH-MATCHER "assword:" NIL) 0: CL-PPCRE::CREATE-BMH-MATCHER returned #<Closure Over Function "DEFUN CREATE-BMH-MATCHER" {40B1A079}> #| ... |# Password: 0: (CL-PPCRE::CREATE-BMH-MATCHER " % " NIL) 0: CL-PPCRE::CREATE-BMH-MATCHER returned #<Closure Over Function "DEFUN CREATE-BMH-MATCHER" {40B1CCB1}> 0: (CL-PPCRE::CREATE-BMH-MATCHER " tekelec:[" NIL) 0: CL-PPCRE::CREATE-BMH-MATCHER returned #<Closure Over Function "DEFUN CREATE-BMH-MATCHER" {40B1ECE1}>
Type-error in KERNEL::OBJECT-NOT-TYPE-ERROR-HANDLER: -1 is not of type (MOD 536870911)
Restarts: 0: [ABORT] Return to Top-Level.
Debug (type H for help)
("DEFUN CREATE-BMH-MATCHER" -2) Source: ; File: /usr/vob/2gtt/lti/cl-ppcre-0.7.4/scanner.lisp (AREF SKIP (CHAR-CODE (SCHAR PATTERN K))) 0]
OK, what you've sent so far looks OK. Could you now please add the following code, try again, and show me the output (you can of course leave out the login/password stuff as long as it doesn't cause the error)?
1. In your EXPECT function between (READ-CHAR IO) and (MULTIPLE-VALUE-BIND ...) add
(print (list 'expect expected buffer (type-of expected) (type-of buffer)))
2. In BMH-MATCHER-AUX in scanner.lisp (from CL-PPCRE) after the line `(LAMBDA (START-POS) remove the declaration and replace it with
(print (list 'bmh start-pos *end-pos* *string* pattern (type-of *string*) (type-of pattern)))
Let's see what we get...
Thanks, Edi.
cl-ppcre-devel@common-lisp.net