Thanks to visit codestin.com
Credit goes to github.com

Skip to content

BCL bootstrap regressions introduced by CoreFX System import on AIX (regex, decimal) #9684

@NattyNarwhal

Description

@NattyNarwhal

Steps to Reproduce

Build the runtime as normal.

Current Behavior

MCS     [basic] mscorlib.dll
../../../external/corefx/src/Common/src/CoreLib/System/Collections/Generic/Dictionary.cs(231,22): warning CS0219: The variable `modified' is assigned but its value is never used
../../../external/corefx/src/Common/src/CoreLib/System/Collections/Generic/Dictionary.cs(240,18): warning CS0219: The variable `modified' is assigned but its value is never used
../../../external/corefx/src/Common/src/CoreLib/System/Collections/Generic/List.cs(950,21): warning CS0219: The variable `i' is assigned but its value is never used
../../../external/corefx/src/Common/src/CoreLib/System/Number.Formatting.cs(2125,17): warning CS0219: The variable `i' is assigned but its value is never used
../../../external/corefx/src/Common/src/CoreLib/System/Runtime/InteropServices/MemoryMarshal.cs(70,22): warning CS0219: The variable `localManager' is assigned but its value is never used
../../../external/corefx/src/Common/src/CoreLib/System/Runtime/InteropServices/MemoryMarshal.cs(89,22): warning CS0219: The variable `localManager' is assigned but its value is never used
../../../external/corefx/src/Common/src/CoreLib/System/Text/StringBuilder.cs(1760,17): warning CS0219: The variable `deltaLength' is assigned but its value is never used
../../../external/corefx/src/Common/src/CoreLib/System/Text/StringBuilder.cs(1798,25): warning CS0219: The variable `indexBeforeAdjustment' is assigned but its value is never used
../../../external/corefx/src/System.Memory/src/System/Buffers/Text/Utf8Formatter/Utf8Formatter.Date.G.cs(42,19): warning CS0219: The variable `unused' is assigned but its value is never used
../../../external/corefx/src/System.Memory/src/System/Buffers/Text/Utf8Formatter/Utf8Formatter.Date.O.cs(52,19): warning CS0219: The variable `unused' is assigned but its value is never used
../../../external/corefx/src/System.Memory/src/System/Buffers/Text/Utf8Formatter/Utf8Formatter.Guid.cs(120,19): warning CS0219: The variable `unused' is assigned but its value is never used
../../../external/corefx/src/System.Memory/src/System/Buffers/Text/Utf8Formatter/Utf8Formatter.Guid.cs(136,19): warning CS0219: The variable `unused' is assigned but its value is never used
../../../external/corefx/src/System.Memory/src/System/Buffers/Text/Utf8Formatter/Utf8Formatter.Guid.cs(150,19): warning CS0219: The variable `unused' is assigned but its value is never used
../../../external/corefx/src/System.Memory/src/System/Buffers/Text/Utf8Formatter/Utf8Formatter.Guid.cs(164,19): warning CS0219: The variable `unused' is assigned but its value is never used
../../../external/corefx/src/System.Memory/src/System/Buffers/Text/Utf8Formatter/Utf8Formatter.Guid.cs(178,19): warning CS0219: The variable `unused' is assigned but its value is never used
../../../external/corert/src/System.Private.CoreLib/src/System/Threading/Tasks/FutureFactory.cs(551,26): warning CS0219: The variable `bWonSetException' is assigned but its value is never used
../../../external/corert/src/System.Private.CoreLib/src/System/Threading/Tasks/TaskScheduler.cs(384,53): warning CS0420: `System.Threading.Tasks.TaskScheduler.m_taskSchedulerId': A volatile field references will not be treated as volatile
System.Diagnostics.Tracing/EventSource.cs(161,15): warning CS3006: Overloaded method `System.Diagnostics.Tracing.EventSource.Write<T>(string, ref System.Diagnostics.Tracing.EventSourceOptions, ref T)' differing only in ref or out, or in array rank, is not CLS-compliant
System.Diagnostics.Tracing/EventSource.cs(156,15): (Location of the symbol related to previous warning)
corert/Decimal.cs(684,32): warning CS3006: Overloaded method `System.Decimal.Round(ref decimal, int, System.MidpointRounding)' differing only in ref or out, or in array rank, is not CLS-compliant
corert/Decimal.cs(682,31): (Location of the symbol related to previous warning)
corert/Decimal.cs(892,29): warning CS3006: Overloaded method `System.Decimal.Truncate(ref decimal)' differing only in ref or out, or in array rank, is not CLS-compliant
corert/Decimal.cs(885,31): (Location of the symbol related to previous warning)
../../../external/corefx/src/Common/src/CoreLib/System/Boolean.cs(29,22): warning CS0649: Field `System.Boolean.m_value' is never assigned to, and will always have its default value `false'
../../../external/corefx/src/System.Collections.NonGeneric/src/System/Collections/KeyValuePairs.cs(22,33): warning CS0414: The private field `System.Collections.KeyValuePairs._key' is assigned but its value is never used
../../../external/corefx/src/System.Collections.NonGeneric/src/System/Collections/KeyValuePairs.cs(25,33): warning CS0414: The private field `System.Collections.KeyValuePairs._value' is assigned but its value is never used
Compilation succeeded - 23 warning(s)

Unhandled Exception:
System.ArgumentException: parsing "^(?<flag>--|-|/)(?<name>[^:=]+)((?<sep>[:=])(?<value>.*))?$" - Invalid group name: Group names must begin with a word character.
  at System.Text.RegularExpressions.RegexParser.ScanGroupOpen () [0x00229] in <a906101b128e42548210c6ff25a3096c>:0
  at System.Text.RegularExpressions.RegexParser.ScanRegex () [0x001aa] in <a906101b128e42548210c6ff25a3096c>:0
  at System.Text.RegularExpressions.RegexParser.Parse (System.String re, System.Text.RegularExpressions.RegexOptions op) [0x00036] in <a906101b128e42548210c6ff25a3096c>:0
  at System.Text.RegularExpressions.Regex..ctor (System.String pattern, System.Text.RegularExpressions.RegexOptions options, System.TimeSpan matchTimeout, System.Boolean addToCache) [0x00097] in <a906101b128e42548210c6ff25a3096c>:0
  at System.Text.RegularExpressions.Regex..ctor (System.String pattern) [0x00000] in <a906101b128e42548210c6ff25a3096c>:0
  at Mono.Options.OptionSet..ctor (System.Converter`2[TInput,TOutput] localizer) [0x0000b] in <414bbd5b618b4b24a8858aaca22bc9da>:0
  at Mono.Options.OptionSet..ctor () [0x00000] in <414bbd5b618b4b24a8858aaca22bc9da>:0
  at Program.Main (System.String[] args) [0x00011] in <414bbd5b618b4b24a8858aaca22bc9da>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentException: parsing "^(?<flag>--|-|/)(?<name>[^:=]+)((?<sep>[:=])(?<value>.*))?$" - Invalid group name: Group names must begin with a word character.
  at System.Text.RegularExpressions.RegexParser.ScanGroupOpen () [0x00229] in <a906101b128e42548210c6ff25a3096c>:0
  at System.Text.RegularExpressions.RegexParser.ScanRegex () [0x001aa] in <a906101b128e42548210c6ff25a3096c>:0
  at System.Text.RegularExpressions.RegexParser.Parse (System.String re, System.Text.RegularExpressions.RegexOptions op) [0x00036] in <a906101b128e42548210c6ff25a3096c>:0
  at System.Text.RegularExpressions.Regex..ctor (System.String pattern, System.Text.RegularExpressions.RegexOptions options, System.TimeSpan matchTimeout, System.Boolean addToCache) [0x00097] in <a906101b128e42548210c6ff25a3096c>:0
  at System.Text.RegularExpressions.Regex..ctor (System.String pattern) [0x00000] in <a906101b128e42548210c6ff25a3096c>:0
  at Mono.Options.OptionSet..ctor (System.Converter`2[TInput,TOutput] localizer) [0x0000b] in <414bbd5b618b4b24a8858aaca22bc9da>:0
  at Mono.Options.OptionSet..ctor () [0x00000] in <414bbd5b618b4b24a8858aaca22bc9da>:0
  at Program.Main (System.String[] args) [0x00011] in <414bbd5b618b4b24a8858aaca22bc9da>:0
../../build/library.make:352: recipe for target '../../class/lib/basic/mscorlib.dll' failed
gmake[8]: *** [../../class/lib/basic/mscorlib.dll] Error 1

I'm not sure why the regex parser is broken - I did some testing and it appears on a simple case of an IsMatch on (?<name>.*), the regex on master throws up at RegexParser after a CaptureSlotFromName call, and the position seems to imply that its current position is at the n in name and is expecting a terminator, whereas the pre-breakage one has consumed the name and finds the terminator.

My suspicion is breakage somewhere in Char, maybe interaction with RegexCharClass? Unfortunately, since I can't bootstrap, I can only try to run binaries against monolite and view traces.

Since the file builds, unlike Jenkins, you can try to press on further until you hit an issue on System.Security.

Expected Behavior

Compiles fine.

On which platforms did you notice this

[ ] macOS
[ ] Linux
[ ] Windows
[X} AIX

My suspicion is that this is a general big endian issue, but I don't have access to another big endian platform to verify.

Version Used:

Mono JIT compiler version 5.17.0 (master/e09d690 Sat Jul 21 23:38:14  2018)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
        TLS:
        SIGSEGV:       normal
        Notification:  Thread + polling
        Architecture:  ppc
        Disabled:      none
        Misc:          softdebug
        Interpreter:   yes
        Suspend:       preemptive
        GC:            sgen

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions