On Thu, Sep 28, 2017 at 04:49:10PM +1000, David Ireland wrote:
> Hi there,
> 
> I am sporadically getting segmentation violations (about 1 out of 3 program
> executions fail) while processing these files. It is not dependent on the
> particular XML file but always occurs when about 50 have been processed
> already.  Here is the error:
> 
> *Error: segmentation violation    Call history:    ,,,
> crow.scm:524: unpack-aiml          crow.scm:468: read-all          *
> *crow.scm:468: buffer-ports#open-input-buffer          crow.scm:469:
> ssax#ssax:xml->sxml    *

Hi David,

That kind of bug can be very nasty, sorry about that!

> And an except from the code:
> 
> (define (unpack-aiml file)
>   (let* ((result    '())
>          (contents   (open-input-buffer (read-all file)))
>          (xml        (car (get-tag (*ssax:xml->sxml contents* '()) 'aiml)))
> 
> Would anyone have any suggestions how I could further debug?

The most important thing is that you're running the latest release.
Next, I'd try building a new CHICKEN with DEBUGBUILD=1 on the "make"
command line.  This will insert many extra sanity checks (at the cost
of a factor 2 to 4 slowdown), and build with debugging symbols.
Remember to keep the generated C sources around, too.
Also rebuild ssax and all its dependencies with this CHICKEN, so that
it also contains the debugging stuff (ideally with CSC_OPTIONS=-k to
ensure you keep the generated sources too)

Then, you can use gdb and run the program as usual.  Pinpointing the
place of the crash in C should be straightforward.  Mapping it back
to Scheme might be harder (there are comments in the sources that
indicate where a generated C function is coming from).

Alternatively, if you'd like some help, post a complete program with
sample XML that triggers the crash (somewhat) reliably, and others can
help you figure it out.

Cheers,
Peter

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Chicken-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to