-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Closed
Description
Steps to Reproduce
- Compile BCL
Current Behavior
See mono/corefx#108 and #9684 (comment) - mcs seems to pick the incorrect overload, picking an overload that causes a decimal divided by a long to overflow on a ToInt32.
Expected Behavior
BCL compiles fine. A workaround has been installed by mono/corefx#108, so it needs to be reverted locally to test.
On which platforms did you notice this
[ ] macOS
[ ] Linux
[ ] Windows
[X} AIX
Version Used:
Mono JIT compiler version 5.17.0 (master/0a5e437 Thu Jul 26 14:32:57 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
Stacktrace
Note that a recent refactor moved the problem class to System.
make[7]: Entering directory '/home/jenkins/workspace/test-mono-mainline-community/label/aix-ppc64/mcs/class/System.Security'
MONO_PATH="./../../class/lib/monolite-unix/1051700026:./../../class/lib/monolite-unix/1051700026/Facades:$MONO_PATH" /home/jenkins/workspace/test-mono-mainline-community/label/aix-ppc64/runtime/mono-wrapper --debug ./../../build/gensources.exe --strict "../../build/deps/_basic__System.Security.dll.sources" "System.Security.dll" "" "basic"
make all-local
make[8]: Entering directory '/home/jenkins/workspace/test-mono-mainline-community/label/aix-ppc64/mcs/class/System.Security'
cat <./../../build/deps/_basic__System.Security.dll.sources >../../build/deps/_basic__System.Security.dll.response
MONO_PATH="./../../class/lib/monolite-unix/1051700026:./../../class/lib/monolite-unix/1051700026/Facades:$MONO_PATH" /home/jenkins/workspace/test-mono-mainline-community/label/aix-ppc64/runtime/mono-wrapper ./../../class/lib/monolite-unix/1051700026/mcs.exe /codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:MONO -d:WIN_PLATFORM -d:BOOTSTRAP_BASIC -nowarn:1699 -nostdlib -optimize /features:peverify-compat /langversion:latest -unsafe -nowarn:414,618 -d:SECURITY_DEP -r:./../../../external/binary-reference-assemblies/v4.7.1/System.Numerics.dll -r:./../../../external/binary-reference-assemblies/v4.7.1/System.Core.dll -r:./../../class/lib/basic/Mono.Security.dll -r:./../../class/lib/basic/System.dll -r:./../../class/lib/basic/System.Xml.dll -r:./../../class/lib/basic/mscorlib.dll /keyfile:../msfinal.pub -target:library -out:../../class/lib/basic/System.Security.dll @./../../build/deps/_basic__System.Security.dll.response
../../../external/corefx/src/Common/src/System/Security/Cryptography/AsnReader.cs(294,21): warning CS0219: The variable `tag' is assigned but its value is never used
../../../external/corefx/src/Common/src/System/Security/Cryptography/AsnReader.cs(317,21): warning CS0219: The variable `tag' is assigned but its value is never used
Unhandled Exception:
Mono.CSharp.InternalErrorException: ../../../external/corefx/src/Common/src/System/Security/Cryptography/AsnWriter.cs(1171,22): System.Security.Cryptography.Asn1.AsnWriter.WriteGeneralizedTimeCore(System.Security.Cryptography.Asn1.Asn1Tag, System.DateTimeOffset, bool) ---> Mono.CSharp.InternalErrorException: ../../../external/corefx/src/Common/src/System/Security/Cryptography/AsnWriter.cs(1172,9): ---> System.OverflowException: Value was either too large or too small for an Int32.
at System.Decimal.ToInt32 (System.Decimal d) [0x00035] in <f753a15472ea46d3a1cdfc28ed2b0394>:0
at System.Decimal.op_Explicit (System.Decimal value) [0x00000] in <f753a15472ea46d3a1cdfc28ed2b0394>:0
at Mono.CSharp.DecimalConstant.Emit (Mono.CSharp.EmitContext ec) [0x0006d] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Argument.Emit (Mono.CSharp.EmitContext ec) [0x0002d] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Arguments.Emit (Mono.CSharp.EmitContext ec, System.Boolean dup_args, System.Boolean prepareAwait) [0x0004c] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.CallEmitter.EmitPredefined (Mono.CSharp.EmitContext ec, Mono.CSharp.MethodSpec method, Mono.CSharp.Arguments Arguments, System.Boolean statement, System.Nullable`1[T] loc) [0x0012f] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.CallEmitter.Emit (Mono.CSharp.EmitContext ec, Mono.CSharp.MethodSpec method, Mono.CSharp.Arguments Arguments, Mono.CSharp.Location loc) [0x0000c] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.UserOperatorCall.Emit (Mono.CSharp.EmitContext ec) [0x00008] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.VariableReference.EmitAssign (Mono.CSharp.EmitContext ec, Mono.CSharp.Expression source, System.Boolean leave_copy, System.Boolean prepare_for_load) [0x00070] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Assign.Emit (Mono.CSharp.EmitContext ec, System.Boolean is_statement) [0x00000] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Assign.EmitStatement (Mono.CSharp.EmitContext ec) [0x00000] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.StatementExpression.DoEmit (Mono.CSharp.EmitContext ec) [0x00000] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Statement.Emit (Mono.CSharp.EmitContext ec) [0x0000d] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Block.DoEmit (Mono.CSharp.EmitContext ec) [0x00010] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.ExplicitBlock.Emit (Mono.CSharp.EmitContext ec) [0x00042] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.If.DoEmit (Mono.CSharp.EmitContext ec) [0x00055] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Statement.Emit (Mono.CSharp.EmitContext ec) [0x0000d] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Block.DoEmit (Mono.CSharp.EmitContext ec) [0x00010] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.ExplicitBlock.Emit (Mono.CSharp.EmitContext ec) [0x00042] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.If.DoEmit (Mono.CSharp.EmitContext ec) [0x00055] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Statement.Emit (Mono.CSharp.EmitContext ec) [0x0000d] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Block.DoEmit (Mono.CSharp.EmitContext ec) [0x00010] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.ExplicitBlock.Emit (Mono.CSharp.EmitContext ec) [0x00042] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.ParametersBlock.Emit (Mono.CSharp.EmitContext ec) [0x00030] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.ToplevelBlock.Emit (Mono.CSharp.EmitContext ec) [0x00038] in <c3cc7360f1974efe94a8df2db7373648>:0
--- End of inner exception stack trace ---
at Mono.CSharp.ToplevelBlock.Emit (Mono.CSharp.EmitContext ec) [0x000bb] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.MethodData.Emit (Mono.CSharp.TypeDefinition parent) [0x0008c] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.MethodOrOperator.Emit () [0x001e6] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Method.Emit () [0x00104] in <c3cc7360f1974efe94a8df2db7373648>:0
--- End of inner exception stack trace ---
at Mono.CSharp.Method.Emit () [0x00114] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.TypeDefinition.Emit () [0x0027b] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.ClassOrStruct.Emit () [0x0001d] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Class.Emit () [0x00000] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.TypeDefinition.EmitContainer () [0x0000c] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.TypeContainer.EmitContainer () [0x00018] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.NamespaceContainer.EmitContainer () [0x00007] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.TypeContainer.EmitContainer () [0x00018] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.NamespaceContainer.EmitContainer () [0x00007] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.TypeContainer.EmitContainer () [0x00018] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.ModuleContainer.EmitContainer () [0x00085] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.AssemblyDefinition.Emit () [0x0008c] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.AssemblyDefinitionStatic.Emit () [0x0010e] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Driver.Compile () [0x002a8] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Driver.Main (System.String[] args) [0x0004c] in <c3cc7360f1974efe94a8df2db7373648>:0
[ERROR] FATAL UNHANDLED EXCEPTION: Mono.CSharp.InternalErrorException: ../../../external/corefx/src/Common/src/System/Security/Cryptography/AsnWriter.cs(1171,22): System.Security.Cryptography.Asn1.AsnWriter.WriteGeneralizedTimeCore(System.Security.Cryptography.Asn1.Asn1Tag, System.DateTimeOffset, bool) ---> Mono.CSharp.InternalErrorException: ../../../external/corefx/src/Common/src/System/Security/Cryptography/AsnWriter.cs(1172,9): ---> System.OverflowException: Value was either too large or too small for an Int32.
at System.Decimal.ToInt32 (System.Decimal d) [0x00035] in <f753a15472ea46d3a1cdfc28ed2b0394>:0
at System.Decimal.op_Explicit (System.Decimal value) [0x00000] in <f753a15472ea46d3a1cdfc28ed2b0394>:0
at Mono.CSharp.DecimalConstant.Emit (Mono.CSharp.EmitContext ec) [0x0006d] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Argument.Emit (Mono.CSharp.EmitContext ec) [0x0002d] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Arguments.Emit (Mono.CSharp.EmitContext ec, System.Boolean dup_args, System.Boolean prepareAwait) [0x0004c] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.CallEmitter.EmitPredefined (Mono.CSharp.EmitContext ec, Mono.CSharp.MethodSpec method, Mono.CSharp.Arguments Arguments, System.Boolean statement, System.Nullable`1[T] loc) [0x0012f] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.CallEmitter.Emit (Mono.CSharp.EmitContext ec, Mono.CSharp.MethodSpec method, Mono.CSharp.Arguments Arguments, Mono.CSharp.Location loc) [0x0000c] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.UserOperatorCall.Emit (Mono.CSharp.EmitContext ec) [0x00008] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.VariableReference.EmitAssign (Mono.CSharp.EmitContext ec, Mono.CSharp.Expression source, System.Boolean leave_copy, System.Boolean prepare_for_load) [0x00070] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Assign.Emit (Mono.CSharp.EmitContext ec, System.Boolean is_statement) [0x00000] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Assign.EmitStatement (Mono.CSharp.EmitContext ec) [0x00000] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.StatementExpression.DoEmit (Mono.CSharp.EmitContext ec) [0x00000] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Statement.Emit (Mono.CSharp.EmitContext ec) [0x0000d] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Block.DoEmit (Mono.CSharp.EmitContext ec) [0x00010] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.ExplicitBlock.Emit (Mono.CSharp.EmitContext ec) [0x00042] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.If.DoEmit (Mono.CSharp.EmitContext ec) [0x00055] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Statement.Emit (Mono.CSharp.EmitContext ec) [0x0000d] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Block.DoEmit (Mono.CSharp.EmitContext ec) [0x00010] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.ExplicitBlock.Emit (Mono.CSharp.EmitContext ec) [0x00042] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.If.DoEmit (Mono.CSharp.EmitContext ec) [0x00055] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Statement.Emit (Mono.CSharp.EmitContext ec) [0x0000d] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Block.DoEmit (Mono.CSharp.EmitContext ec) [0x00010] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.ExplicitBlock.Emit (Mono.CSharp.EmitContext ec) [0x00042] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.ParametersBlock.Emit (Mono.CSharp.EmitContext ec) [0x00030] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.ToplevelBlock.Emit (Mono.CSharp.EmitContext ec) [0x00038] in <c3cc7360f1974efe94a8df2db7373648>:0
--- End of inner exception stack trace ---
at Mono.CSharp.ToplevelBlock.Emit (Mono.CSharp.EmitContext ec) [0x000bb] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.MethodData.Emit (Mono.CSharp.TypeDefinition parent) [0x0008c] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.MethodOrOperator.Emit () [0x001e6] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Method.Emit () [0x00104] in <c3cc7360f1974efe94a8df2db7373648>:0
--- End of inner exception stack trace ---
at Mono.CSharp.Method.Emit () [0x00114] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.TypeDefinition.Emit () [0x0027b] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.ClassOrStruct.Emit () [0x0001d] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Class.Emit () [0x00000] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.TypeDefinition.EmitContainer () [0x0000c] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.TypeContainer.EmitContainer () [0x00018] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.NamespaceContainer.EmitContainer () [0x00007] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.TypeContainer.EmitContainer () [0x00018] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.NamespaceContainer.EmitContainer () [0x00007] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.TypeContainer.EmitContainer () [0x00018] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.ModuleContainer.EmitContainer () [0x00085] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.AssemblyDefinition.Emit () [0x0008c] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.AssemblyDefinitionStatic.Emit () [0x0010e] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Driver.Compile () [0x002a8] in <c3cc7360f1974efe94a8df2db7373648>:0
at Mono.CSharp.Driver.Main (System.String[] args) [0x0004c] in <c3cc7360f1974efe94a8df2db7373648>:0
../../build/library.make:352: recipe for target '../../class/lib/basic/System.Security.dll' failed
make[8]: *** [../../class/lib/basic/System.Security.dll] Error 1
make[8]: Leaving directory '/home/jenkins/workspace/test-mono-mainline-community/label/aix-ppc64/mcs/class/System.Security'
../../build/rules.make:211: recipe for target 'do-all' failed
make[7]: *** [do-all] Error 2
make[7]: Leaving directory '/home/jenkins/workspace/test-mono-mainline-community/label/aix-ppc64/mcs/class/System.Security'
Metadata
Metadata
Assignees
Labels
No labels