Skip to content

Fix issue 17066#5042

Merged
MartinNowak merged 1 commit intodlang:stablefrom
DmitryOlshansky:fix-issue-17066
Jan 17, 2017
Merged

Fix issue 17066#5042
MartinNowak merged 1 commit intodlang:stablefrom
DmitryOlshansky:fix-issue-17066

Conversation

@DmitryOlshansky
Copy link
Member

Make joiner work with ranges that have immutable members.

@dlang-bot
Copy link
Contributor

Fix Bugzilla Description
17066 [REG2.073a] std.regex captures got immutable

@MartinNowak MartinNowak changed the base branch from master to stable January 17, 2017 22:10
@MartinNowak
Copy link
Member

Thx, rebased to target stable!

@MartinNowak
Copy link
Member

Auto-merge toggled on

@DmitryOlshansky
Copy link
Member Author

Auto-merge toggled on

I think this needs a review to be merge due to the new workflow.

@MartinNowak
Copy link
Member

Seems like this fails on OSX_64_32.
https://auto-tester.puremagic.com/show-run.ghtml?projectid=1&runid=2359612&isPull=true
https://auto-tester.puremagic.com/show-run.ghtml?projectid=1&runid=2359670&isPull=true

Just noticed that the auto-tester doesn't update it's target branch and still tests this merged into master, but failures with tests3 happened on both tests.

@MartinNowak MartinNowak merged commit 8986f14 into dlang:stable Jan 17, 2017
@MartinNowak
Copy link
Member

Just noticed that the auto-tester doesn't update it's target branch and still tests this merged into master, but failures with tests3 happened on both tests.

Seems to work when pushing after changing the base branch on GH. Or might have been a transient issue.

@MartinNowak
Copy link
Member

Do you have means to look at the OSX32 failure?
https://travis-ci.org/dlang/dmd/jobs/192955409#L2660-L2663
If not, I can do it in VirtualBox, but will have to find time for that.

@DmitryOlshansky
Copy link
Member Author

@MartinNowak I have mac so should be able to try OSX32. Is it enough to throw in -m32 switch?

The issue is strange, could be codegen problem.

@WalterWaldron
Copy link
Contributor

WalterWaldron commented Jan 23, 2017

The test is failing extremely often, my concept script found 42 failures in master today (original post.)
Example command: python scrapper.py > scrapper.result && ./scanner scrapper.result
Requires python's BeautifulSoup library.

Is it enough to throw in -m32 switch?

Looking at the test failure log suggests that that is sufficient.

@MartinNowak
Copy link
Member

Indeed it smells like a codegen bug.

Also the immutable joiner issue isn't fully resolved yet.
https://issues.dlang.org/show_bug.cgi?id=17066#c5

@MartinNowak
Copy link
Member

Found a debug stacktrace in the same test file, might be related.

****** FAIL debug32 std.regex.internal.tests3
core.exception.RangeError@std/regex/package.d(567): Range violation
----------------
4   test_runner                         0x01548475 onRangeError + 65
5   test_runner                         0x01548646 _d_arraybounds + 22
6   test_runner                         0x013ea8d3 std.regex.__array + 47
7   test_runner                         0x011be0d3 std.regex.Captures!(immutable(char)[], uint).Captures.opIndex!().opIndexinout(pure nothrow @trusted inout(immutable(char)[]) function(uint)) + 543
8   test_runner                         0x014e2b7b @safe std.regex.Splitter!(0, immutable(char)[], std.regex.internal.ir.Regex!(char).Regex).Splitter std.regex.internal.tests3.__unittestL308_36().matchToRefs!(std.regex.Captures!(immutable(char)[], uint).Captures).matchToRefs(std.regex.Captures!(immutable(char)[], uint).Captures) + 71
9   test_runner                         0x014e3d4a @property @safe std.regex.Splitter!(0, immutable(char)[], std.regex.internal.ir.Regex!(char).Regex).Splitter std.algorithm.iteration.__T9MapResultS603std5regex8internal6tests317__unittestL308_36FZ11matchToRefsTS3std5regex108__T10RegexMatchTAyaS853std5regex8internal12backtracking29__T19BacktrackingMatcherVbi1Z19BacktrackingMatcherZ10RegexMatchZ.MapResult.front() + 214
10  test_runner                         0x014e466e ref @safe std.algorithm.iteration.joiner!(std.algorithm.iteration.__T9MapResultS603std5regex8internal6tests317__unittestL308_36FZ11matchToRefsTS3std5regex108__T10RegexMatchTAyaS853std5regex8internal12backtracking29__T19BacktrackingMatcherVbi1Z19BacktrackingMatcherZ10RegexMatchZ.MapResult).joiner(std.algorithm.iteration.__T9MapResultS603std5regex8internal6tests317__unittestL308_36FZ11matchToRefsTS3std5regex108__T10RegexMatchTAyaS853std5regex8internal12backtracking29__T19BacktrackingMatcherVbi1Z19BacktrackingMatcherZ10RegexMatchZ.MapResult).Result std.algorithm.iteration.joiner!(std.algorithm.iteration.__T9MapResultS603std5regex8internal6tests317__unittestL308_36FZ11matchToRefsTS3std5regex108__T10RegexMatchTAyaS853std5regex8internal12backtracking29__T19BacktrackingMatcherVbi1Z19BacktrackingMatcherZ10RegexMatchZ.MapResult).joiner(std.algorithm.iteration.__T9MapResultS603std5regex8internal6tests317__unittestL308_36FZ11matchToRefsTS3std5regex108__T10RegexMatchTAyaS853std5regex8internal12backtracking29__T19BacktrackingMatcherVbi1Z19BacktrackingMatcherZ10RegexMatchZ.MapResult).Result.__ctor(std.algorithm.iteration.__T9MapResultS603std5regex8internal6tests317__unittestL308_36FZ11matchToRefsTS3std5regex108__T10RegexMatchTAyaS853std5regex8internal12backtracking29__T19BacktrackingMatcherVbi1Z19BacktrackingMatcherZ10RegexMatchZ.MapResult) + 266
11  test_runner                         0x014e43fd @safe std.algorithm.iteration.joiner!(std.algorithm.iteration.__T9MapResultS603std5regex8internal6tests317__unittestL308_36FZ11matchToRefsTS3std5regex108__T10RegexMatchTAyaS853std5regex8internal12backtracking29__T19BacktrackingMatcherVbi1Z19BacktrackingMatcherZ10RegexMatchZ.MapResult).joiner(std.algorithm.iteration.__T9MapResultS603std5regex8internal6tests317__unittestL308_36FZ11matchToRefsTS3std5regex108__T10RegexMatchTAyaS853std5regex8internal12backtracking29__T19BacktrackingMatcherVbi1Z19BacktrackingMatcherZ10RegexMatchZ.MapResult).Result std.algorithm.iteration.joiner!(std.algorithm.iteration.__T9MapResultS603std5regex8internal6tests317__unittestL308_36FZ11matchToRefsTS3std5regex108__T10RegexMatchTAyaS853std5regex8internal12backtracking29__T19BacktrackingMatcherVbi1Z19BacktrackingMatcherZ10RegexMatchZ.MapResult).joiner(std.algorithm.iteration.__T9MapResultS603std5regex8internal6tests317__unittestL308_36FZ11matchToRefsTS3std5regex108__T10RegexMatchTAyaS853std5regex8internal12backtracking29__T19BacktrackingMatcherVbi1Z19BacktrackingMatcherZ10RegexMatchZ.MapResult) + 153
12  test_runner                         0x014ce0cb void std.regex.internal.tests3.__unittestL308_36() + 7983
13  test_runner                         0x014c8e63 void std.regex.internal.tests3.__modtest() + 175
14  test_runner                         0x0007493a void test_runner.doTest(object.ModuleInfo*, ref bool) + 70
15  test_runner                         0x00074873 bool test_runner.testModules() + 295
16  test_runner                         0x00074740 bool test_runner.tester() + 20
17  test_runner                         0x0154914f runModuleUnitTests + 187
18  test_runner                         0x015614f1 void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll() + 37
19  test_runner                         0x0156146e void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).tryExec(scope void delegate()) + 34
20  test_runner                         0x015613ba _d_run_main + 686
21  test_runner                         0x000745ed main + 37
22  test_runner                         0x00074504 start + 52
23  ???                                 0x00000001 0x0 + 1

MartinNowak added a commit to MartinNowak/phobos that referenced this pull request Feb 4, 2017
- see dlang#5042 (comment)
  for a hint on which unittest fails
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants