TADS Bug Database

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000156TADS 3Interpreterpublic2012-07-06 10:332012-07-07 15:41
Assigned ToMichael Roberts 
PlatformIntelOSWindowsOS VersionVista
Summary0000156: String.split() occasionally crashes
DescriptionLike the summary says. Here is one of the crash reports:

exc_handler = 005fa9f0
CS:EIP = 0000001b:0055b0c8
Steps To ReproduceSplit a fairly large text into words, for instance.
Additional InformationThis looks a bit like the old problem with mapAll(). Same cause perhaps?
TagsNo tags attached.
Fixed In Version3.1.1
Attached Files

- Relationships

-  Notes
Michael Roberts (administrator)
2012-07-07 01:57

The code looks right with respect to the gc issues that caused the mapAll bug you mentioned. It sounds like you're saying the crash manifests intermittently/unpredictably, but do you have a more specific test case that triggers it, and if so what's the approximate probability of crashing that you've observed with it?
fundin (reporter)
2012-07-07 06:22

Yeah, I could never get the crash to show up in my attempts to create a minimal test case. After trying again, however, I think the list is probably getting corrupted, and nothing happens until we try to do something with the contents. Here's a version which crashes fairly reliably:

testButton: Button 'test button' 'test button' @me
        local str = '';
        for (local idx in 1..500)
            str += ' xyz';
        for (local word in str.split(' '))
            "<<word>> ";
Michael Roberts (administrator)
2012-07-07 15:41

Thanks - that reproduced it for me, and I tracked it down. It was indeed related to garbage collection timing, but it was in the list construction rather than split() itself, so this bug could conceivably manifest in other places as well. I've fixed it for the next update.

- Issue History
Date Modified Username Field Change
2012-07-06 10:33 fundin New Issue
2012-07-07 01:57 Michael Roberts Note Added: 0000248
2012-07-07 01:57 Michael Roberts Assigned To => Michael Roberts
2012-07-07 01:57 Michael Roberts Status new => feedback
2012-07-07 06:22 fundin Note Added: 0000249
2012-07-07 15:41 Michael Roberts Fixed In Version => 3.1.1
2012-07-07 15:41 Michael Roberts Note Added: 0000250
2012-07-07 15:41 Michael Roberts Status feedback => resolved
2012-07-07 15:41 Michael Roberts Resolution open => fixed

Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker