From: Jim W. <jw...@dr...> - 2011-02-16 18:59:38
|
I'm seeing two of the dirent tests in sb-posix fail with a SB-INT:C-STRING-DECODING-ERROR on Solaris 10/x86 (32-bit). Neither the tests nor the underlying sb-posix code have changed since 1.0.45, when this worked, and I've tried backing out the few other changes in sb-posix to be sure. Before I dig deeper, did anything change in the handling of C strings since 1.0.45 that I should be aware of? The output for one of the two tests is below -- the other is similar. Thanks, Test SB-POSIX-TESTS::READDIR.1 failed Form: (LET ((SB-POSIX-TESTS::DIR (SB-POSIX:OPENDIR "/"))) (UNWIND-PROTECT (BLOCK SB-POSIX-TESTS::DIR-LOOP (LOOP SB-POSIX-TESTS::FOR SB-POSIX-TESTS::DIRENT = (SB-POSIX:READDIR SB-POSIX-TESTS::DIR) SB-POSIX-TESTS::UNTIL (NULL-ALIEN SB-POSIX-TESTS::DIRENT) WHEN (NOT (STRINGP (SB-POSIX:DIRENT-NAME SB-POSIX-TESTS::DIRENT))) DO (RETURN-FROM SB-POSIX-TESTS::DIR-LOOP NIL) SB-POSIX-TESTS::FINALLY (RETURN T))) (SB-POSIX:CLOSEDIR SB-POSIX-TESTS::DIR))) Expected value: T Actual value: #<SB-INT:C-STRING-DECODING-ERROR {4AA05769}>. Test SB-POSIX-TESTS::READDIR/DIRENT-NAME failed Form: (LET ((SB-POSIX-TESTS::DIR (SB-POSIX:OPENDIR SB-POSIX-TESTS::*CURRENT-DIRECTORY*))) (UNWIND-PROTECT (EQUAL (SORT (LOOP SB-POSIX-TESTS::FOR SB-POSIX-TESTS::ENTRY = (SB-POSIX:READDIR SB-POSIX-TESTS::DIR) SB-POSIX-TESTS::UNTIL (NULL-ALIEN SB-POSIX-TESTS::ENTRY) SB-POSIX-TESTS::COLLECT (SB-POSIX:DIRENT-NAME SB-POSIX-TESTS::ENTRY)) #'STRING<) (SORT (APPEND '("." "..") (MAPCAR (LAMBDA (SB-POSIX-TESTS::P) (LET ((STRING (ENOUGH-NAMESTRING SB-POSIX-TESTS::P SB-POSIX-TESTS::*CURRENT-DIRECTORY*))) (IF (PATHNAME-NAME SB-POSIX-TESTS::P) STRING (SUBSEQ STRING 0 (1- (LENGTH STRING)))))) (DIRECTORY (MAKE-PATHNAME :NAME :WILD :TYPE :WILD :DEFAULTS SB-POSIX-TESTS::*CURRENT-DIRECTORY*)))) #'STRING<)) (SB-POSIX:CLOSEDIR SB-POSIX-TESTS::DIR))) Expected value: T Actual value: #<SB-INT:C-STRING-DECODING-ERROR {4AC61DD1}>. Thanks for any pointers, -- Jim Wise jw...@dr... |
From: Juho S. <js...@ik...> - 2011-02-16 19:10:42
|
On Wed, Feb 16, 2011 at 7:59 PM, Jim Wise <jw...@dr...> wrote: > > I'm seeing two of the dirent tests in sb-posix fail with a > SB-INT:C-STRING-DECODING-ERROR on Solaris 10/x86 (32-bit). Neither the > tests nor the underlying sb-posix code have changed since 1.0.45, when > this worked, and I've tried backing out the few other changes in > sb-posix to be sure. > > Before I dig deeper, did anything change in the handling of C strings > since 1.0.45 that I should be aware of? > Is it possible that your filesystem has changed? Like adding some files or directories with funky non-ASCII names into the root directory? (And why are so many of the sb-posix tests using / as the canonical test directory anyway?) -- Juho Snellman |
From: Kevin R. <kp...@sw...> - 2011-02-16 19:14:38
|
On Feb 16, 2011, at 14:10, Juho Snellman wrote: > (And why are so many of the sb-posix tests using / as the canonical > test directory anyway?) Perhaps because it always exists? (The sb-posix tests once caught that my / was mode 777...) -- Kevin Reid <http://switchb.org/kpreid/> |
From: Jim W. <jw...@dr...> - 2011-02-16 20:04:28
|
Juho Snellman <js...@ik...> writes: > On Wed, Feb 16, 2011 at 7:59 PM, Jim Wise <jw...@dr...> wrote: > > I'm seeing two of the dirent tests in sb-posix fail with a > SB-INT:C-STRING-DECODING-ERROR on Solaris 10/x86 (32-bit). Neither the > tests nor the underlying sb-posix code have changed since 1.0.45, when > this worked, and I've tried backing out the few other changes in > sb-posix to be sure. > > Before I dig deeper, did anything change in the handling of C strings > since 1.0.45 that I should be aware of? > > Is it possible that your filesystem has changed? Like adding some files or directories with funky non-ASCII names into the root directory? > > (And why are so many of the sb-posix tests using / as the canonical test directory anyway?) Yeah, I was initially considering that it might be an environmental change (either contents of filesystem, or OS patching), but a freshly checked out 1.0.45 doesn't show the same error. I'm working my way through the changes since 1.0.45, and will post what I find. Thanks, -- Jim Wise jw...@dr... |