guile-devel
[Top][All Lists]
Advanced

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

Re: Program received signal SIGSEGV, Segmentation fault.


From: Bruce Korb
Subject: Re: Program received signal SIGSEGV, Segmentation fault.
Date: Fri, 16 Nov 2012 11:50:11 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121025 Thunderbird/16.0.2

On 11/16/12 11:19, Mark H Weaver wrote:
> Hi Bruce,
> 
> Bruce Korb <address@hidden> writes:
>> This is a clumsy way of saying you don't like the '©' character in
>> strings.
> 
> I'm sorry, but you haven't provided nearly enough information for me to

I'm sorry, I did leave off the backtrace.  Here's another GDB session:

460         return AG_SCM_STR02SCM(pE->de_val.dvu_text);
(gdb) printf "%s\n", pE->de_val.dvu_text
This program reads or accepts a list of files and prints the names of the
files that are not plain text.  @i{plain text} characters are characters
in the range of 0x20 thru 0x7E (' ' thru '~'), plus backspace,
whitespace characters and the character 0xA9 (© - the copyright character).
(gdb) s
Backtrace:
In ice-9/boot-9.scm:
 149: 8 [catch #t #<catch-closure 9b5860> ...]
 157: 7 [#<procedure 9510f0 ()>]
In unknown file:
   ?: 6 [catch-closure]
In ice-9/eval.scm:
 407: 5 [eval # ()]
 442: 4 [eval # #]
 368: 3 [eval # #]
 368: 2 [eval # #]
 368: 1 [eval # #]
In unknown file:
   ?: 0 [get "explain" #<undefined>]

ERROR: In procedure get:
ERROR: Throw to key `decoding-error' with args `("scm_from_stringn" "input 
locale conversion error" \
84 #vu8(84 104 105 115 32 112 114 111 103 114 97 109 32 114 101 97 100 115 32 
111 114 32 97 99 99 \
 101 112 116 115 32 97 32 108 105 115 116 32 111 102 32 102 105 108 101 115 32 
97 110 100 32 112 \
 114 105 110 116 115 32 116 104 101 32 110 97 109 101 115 32 111 102 32 116 104 
101 10 102 105 108 \
 101 115 32 116 104 97 116 32 97 114 101 32 110 111 116 32 112 108 97 105 110 
32 116 101 120 116 46 \
 32 32 64 105 123 112 108 97 105 110 32 116 101 120 116 125 32 99 104 97 114 97 
99 116 101 114 115 \
 32 97 114 101 32 99 104 97 114 97 99 116 101 114 115 10 105 110 32 116 104 101 
32 114 97 110 103 \
 101 32 111 102 32 48 120 50 48 32 116 104 114 117 32 48 120 55 69 32 40 39 32 
39 32 116 104 114 \
 117 32 39 126 39 41 44 32 112 108 117 115 32 98 97 99 107 115 112 97 99 101 44 
10 119 104 105 116 \
 101 115 112 97 99 101 32 99 104 97 114 97 99 116 101 114 115 32 97 110 100 32 
116 104 101 32 99 \
 104 97 114 97 99 116 101 114 32 48 120 65 57 32 40 169 32 45 32 116 104 101 32 
99 111 112 121 114 \
 105 103 104 116 32 99 104 97 114 97 99 116 101 114 41 46))'.

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff78a389e in scm_frame_procedure () from /usr/lib64/libguile-2.0.so.22

"AG_SCM_STR02SCM()" is a Guile-version dependent macro:

$ fgrep GUILE_VERSION ../config.h
#define GUILE_VERSION 200005

an edited extract from my version dependent wrapper header:

#if (GUILE_VERSION >= 200000) && (GUILE_VERSION <= 200003)
# error AutoGen does not work with this version of Guile
  choke me.

#elif (GUILE_VERSION <= 106000)
# error AutoGen does not work with this version of Guile
  choke me.

#elif GUILE_VERSION < 107000
# define AG_SCM_STR02SCM(_s)          scm_makfrom0str(_s)

#elif GUILE_VERSION < 200000
# define AG_SCM_STR02SCM(_s)          scm_from_locale_string(_s)

#elif GUILE_VERSION < 201000
# define AG_SCM_STR02SCM(_s)          scm_from_utf8_string(_s)

[...]
> figure out what caused the SIGSEGV.  I don't even know what function you

scm_from_locale_string().  I had a stack trace that disappeared
from the email.  (Typo of some sort.  Sorry.)

> called, or what arguments you passed to it.  I guess you called one of
> the scm_from_*_string functions with a string, without telling Guile
> what string encoding was used.

Telling it?  Aside from LC_ALL=C ??  Nope.

>> Anyway, seg faulting is not a good response.
> 
> If you give me more information, perhaps I can help figure out what
> caused the SIGSEGV.

I am certain it was the \251 character, because when I remove it, it doesn't 
happen.



reply via email to

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