guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GNU Guile 1.9.5 released (alpha)


From: Linas Vepstas
Subject: Re: GNU Guile 1.9.5 released (alpha)
Date: Sat, 28 Nov 2009 20:45:07 -0600

2009/11/17 Ludovic Courtès <address@hidden>:
> We are pleased to announce GNU Guile release 1.9.5.

Now I'm getting a crash.

guile-1.9..5 built with gc-7.1, and running three threads:

one thread is sleeping
another thread is waiting on select()
third crashes with following stack trace:

Program received signal SIGPWR, Power fail/restart.

#0  0xf7fc6425 in __kernel_vsyscall ()
#1  0xf7f911c8 in pthread_kill () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xf74652b3 in GC_suspend_all () at pthread_stop_world.c:355
#3  0xf7465312 in GC_stop_world () at pthread_stop_world.c:395
#4  0xf7454b9e in GC_stopped_mark (stop_func=0xf7453fc0
<GC_never_stop_func>) at alloc.c:474
#5  0xf7454e89 in GC_try_to_collect_inner (stop_func=0xf7453fc0
<GC_never_stop_func>) at alloc.c:362
#6  0xf74550ec in GC_collect_or_expand (needed_blocks=1,
ignore_off_page=0) at alloc.c:1017
#7  0xf74556d9 in GC_allocobj (gran=2, kind=1) at alloc.c:1064
#8  0xf745a37c in GC_generic_malloc_inner (lb=16, k=1) at malloc.c:119
#9  0xf745a416 in GC_generic_malloc (lb=16, k=1) at malloc.c:159
#10 0xf745a6bd in GC_core_malloc (lb=16) at malloc.c:286
#11 0xf7463a49 in GC_malloc (bytes=16) at thread_local_alloc.c:149
#12 0xf7e2780c in scm_i_make_string (len=9, charsp=0xf550b1b4) at
../libguile/inline.h:161
#13 0xf7e27ca2 in scm_from_stringn (str=0xf550b227 "Kvint.xml", len=9,
encoding=0x0,
    handler=SCM_FAILED_CONVERSION_QUESTION_MARK) at strings.c:1402
#14 0xf7e27e35 in scm_from_locale_stringn (str=0xf550b227 "Kvint.xml",
len=9) at strings.c:1487
#15 0xf7e4d9c3 in scm_readdir (port=0x9ecaaa0) at filesys.c:919
#16 0xf7dc3ff7 in deval (x=0x9ec7a00, env=0xa330d60) at eval.i.c:1087
#17 0xf7dc3ec7 in deval (x=0x9ec9ba0, env=0xa330d60) at eval.i.c:608
#18 0xf7dc813a in scm_primitive_eval_x (exp=0x9ecaad0) at eval.c:4010
#19 0xf7e29d88 in inner_eval_string (data=0x9ec99a0) at strports.c:533
#20 0xf7dc9d2e in scm_c_with_fluid (fluid=0x9d4a360, value=0x9d925f0,
cproc=0xf7e29d60 <inner_eval_string>,
    cdata=0x9ec99a0) at fluids.c:382
#21 0xf7de7505 in scm_c_call_with_current_module (module=0x9d925f0,
func=0xf7e29d60 <inner_eval_string>,
    data=0x9ec99a0) at modules.c:114
#22 0xf7e2a179 in scm_eval_string_in_module (string=0x9e2e4c0,
module=0x9d925f0) at strports.c:560
#23 0xf7e2a1e5 in scm_eval_string (string=0x9e2e4c0) at strports.c:568
#24 0xf7e2a215 in scm_c_eval_string (expr=0xa331a44
"(suck-in-filenames (opendir input-filedir) '())\n")

FWIW, the above is executing the following:

   (define (suck-in-filenames port lst)
      (let ((one-file (readdir port)))
         (if (eof-object? one-file)
            lst
            (suck-in-filenames port
                  (cons one-file lst)
            )
         )
      )
   )

(suck-in-filenames (opendir input-filedir) '())

here, input-filedir is a directory has about 14K filenames in it,
many of the filenames contain UTF-8  chars.

--linas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]