Re: backtrace and gc
Ole Myren Rohne <[EMAIL PROTECTED]> writes: > Exception during backtrace does occur in some situations on my Dec 16 > 16:05 build. I think it was there before as well, but I used to blame > guile-gtk for crashes during backtrace. I think, then, that we safely can assume that this bug is not caused by recent changes, and that not getting "Exception during backtrace" is due to managing signals at fewer places. (The code continues to run after the segmentation fault.) Is this phenomenon specific to using (ice-9 streams) or does it occur during other circumstances as well?
Re: backtrace and gc
Mikael Djurfeldt writes: > This should, in principle, only affect GC if you have defined > GUILE_NEW_GC_SCHEME in __scm.h. Did you do that? No. > Is it possible for you to tell me exactly the time and date when you > checked out your Guile? I did cvs update guile-core on Mar 16 08:15 > since you say that you have observed the > "Exception during backtrace" for some time. Do you know for how long? Exception during backtrace does occur in some situations on my Dec 16 16:05 build. I think it was there before as well, but I used to blame guile-gtk for crashes during backtrace. Thanks, Ole
Re: backtrace and gc
Ole Myren Rohne <[EMAIL PROTECTED]> writes: > While investigating my streams, throw and backtrace problem, I came > across the following peculiarity - still on today's cvs version > > Regards, Ole > > guile> (if #f '() (throw 'test 0)) > ERROR: In procedure throw in expression (throw (quote test) 0): > ERROR: unhandled-exception: test 0 > ABORT: (misc-error) > > Type "(backtrace)" to get more information. > guile> (backtrace) > > Backtrace: > 0* #f > 1 [throw . #] Thanks for your bug-report. There has recently been three large changes to Guile: 1. The removal of a call to SCM_ASYNC_TICK from SCM_ALLOW_INTS. This could be the reason why you no longer get `Exception during displaying of backtrace: signal'. This problem can probably be solved by calling SCM_ASYNC_TICK from suitable place within the backtrace printing routines. (We have to discuss this problem, though. I'll bring it up on the list later.) 2. The introduction of 2-word cells This influences the GC. 3. The introduction of a new GC scheme. This should, in principle, only affect GC if you have defined GUILE_NEW_GC_SCHEME in __scm.h. Did you do that? Is it possible for you to tell me exactly the time and date when you checked out your Guile? Probably, though, this problem isn't caused by any of these changes, but by some earlier change, since you say that you have observed the "Exception during backtrace" for some time. Do you know for how long? Best regards, /mdj
backtrace and gc
While investigating my streams, throw and backtrace problem, I came across the following peculiarity - still on today's cvs version Regards, Ole guile> (if #f '() (throw 'test 0)) ERROR: In procedure throw in expression (throw (quote test) 0): ERROR: unhandled-exception: test 0 ABORT: (misc-error) Type "(backtrace)" to get more information. guile> (backtrace) Backtrace: 0* #f 1 [throw . #] --
streams, throw and backtrace
The purpose of this report is to show how changing (if #f '() (begin ...)) into (cond (#f '()) (else ...)) makes the backtracing go crazy. Regards, Ole guile> (use-modules (ice-9 streams)) guile> (debug-enable 'backtrace) (stack 2 debug backtrace depth 20 maxdepth 1000 frames 3 indent 10 width 79 procnames cheap) guile> (stream->list (letrec ((loop (lambda (i) (cond (#f '()) (else (and (= i 30) (throw (quote test) i)) (cons i (delay (loop (+ i 1) (delay (loop 0 Backtrace: [...] 14(cond (#f (quote ())) (#t (and (= i 30) (throw # i)) (cons i (delay # 15* (and (= i 30) (throw (quote test) i)) 16[throw test 30] ERROR: In procedure throw in expression (throw (quote test) i): ERROR: unhandled-exception: test 30 ABORT: (misc-error) guile> (stream->list (letrec ((loop (lambda (i) (if #f '() (begin (and (= i 30) (throw (quote test) i)) (cons i (delay (loop (+ i 1) (delay (loop 0 Backtrace: [...] 14(if #f (quote ()) (begin (and (= i 30) (throw # i)) (cons i (delay # 15 At this point, the current CVS version freeze, whereas earlier versions said `Exception during displaying of backtrace: signal' --