www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - compiler segfault: long identifier

reply Thomas Kuehne <thomas-dloop kuehne.cn> writes:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1





starting program: /opt/dmd/147/dmd/bin/dmd -I/opt/dmd/147/dmd/src/phobos/ -c
bug.d

Program received signal SIGSEGV, Segmentation fault.
0x556aa067 in strcpy () from /lib32/libc.so.6
(gdb) bt -10










(gdb) bt 10










(More stack frames follow...)

Added to DStress as
http://dstress.kuehne.cn/run/l/large_id_01_A.d
http://dstress.kuehne.cn/run/l/large_id_01_B.d

Thomas


-----BEGIN PGP SIGNATURE-----

iD8DBQFEAB3S3w+/yD4P9tIRAmIvAJ9csszdBavYR+JeVt3fw2/X7gSYFACgqWdz
xKt9oe8+L/8dCr6XH3fCt6o=
=6mcw
-----END PGP SIGNATURE-----
Feb 25 2006
parent reply Wang Zhen <nehzgnaw gmail.com> writes:
Thomas Kuehne wrote:
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 



 
 starting program: /opt/dmd/147/dmd/bin/dmd -I/opt/dmd/147/dmd/src/phobos/ -c
bug.d
 
 Program received signal SIGSEGV, Segmentation fault.
 0x556aa067 in strcpy () from /lib32/libc.so.6
 (gdb) bt -10










 (gdb) bt 10










 (More stack frames follow...)
 
 Added to DStress as
 http://dstress.kuehne.cn/run/l/large_id_01_A.d
 http://dstress.kuehne.cn/run/l/large_id_01_B.d
 
 Thomas
 
 
 -----BEGIN PGP SIGNATURE-----
 
 iD8DBQFEAB3S3w+/yD4P9tIRAmIvAJ9csszdBavYR+JeVt3fw2/X7gSYFACgqWdz
 xKt9oe8+L/8dCr6XH3fCt6o=
 =6mcw
 -----END PGP SIGNATURE-----
Not reproducible on Windows XP.
Feb 25 2006
parent Deewiant <deewiant.doesnotlike.spam gmail.com> writes:
Wang Zhen wrote:
 Not reproducible on Windows XP.
Agreed - it gives the error "identifer <mangled form of the identifier> is too long by 2920 characters". What's interesting, though, is that the following code gives the error "identifier <...> is too long by 348 characters" but removing only one character from the identifier makes it compile and run just fine. int AGuidetotheSLangLanguageJohnEDavisdavisspacemiteduMar232003TableofContentsPreface1ABriefHistoryofSLang2Acknowledgements2Introduction3LanguageFeatures4DataTypesandOperators5StatementsandFunctions6ErrorHandling7RunTimeLibrary8InputOutput9ObtainingSLang9OverviewoftheLanguage10VariablesandFunctions11Strings12ReferencingandDereferencing13Arrays14StructuresandUserDefinedTypes15Namespaces15DataTypesandLiteralConstants16PredefinedDataTypes161Integers162FloatingPointNumbers163ComplexNumbers164Strings165NullType166RefType167ArrayTypeandStructType168DataTypeTypeType17TypecastingConvertingfromoneTypetoAnother17Identifiers17Variables17Operators18UnaryOperators19BinaryOperators191ArithmeticOperators192RelationalOperators193BooleanOperators194BitwiseOperators195Namespaceoperator196OperatorPrecedence197BinaryOperatorsandFunctionsReturningMultipleValues20MixingIntegerandFloatingPointArithmetic21ShortCircuitBooleanEvaluation21Statements22VariableDeclarationStatements23AssignmentStatements24Co nditionalandLoopingStatements241ConditionalForms2411if2412ifelse2413if2414orelseandelse2415switch242LoopingForms2421while2422dowhile2423for2424loop2425for2426forever2427foreach25breakreturncontinue25Functions26DeclaringFunaabdsadfasdfann = 3; void main() { AGuidetotheSLangLanguageJohnEDavisdavisspacemiteduMar232003TableofContentsPreface1ABriefHistoryofSLang2Acknowledgements2Introduction3LanguageFeatures4DataTypesandOperators5StatementsandFunctions6ErrorHandling7RunTimeLibrary8InputOutput9ObtainingSLang9OverviewoftheLanguage10VariablesandFunctions11Strings12ReferencingandDereferencing13Arrays14StructuresandUserDefinedTypes15Namespaces15DataTypesandLiteralConstants16PredefinedDataTypes161Integers162FloatingPointNumbers163ComplexNumbers164Strings165NullType166RefType167ArrayTypeandStructType168DataTypeTypeType17TypecastingConvertingfromoneTypetoAnother17Identifiers17Variables17Operators18UnaryOperators19BinaryOperators191ArithmeticOperators192RelationalOperators193BooleanOperators194BitwiseOperators195Namespaceoperator196OperatorPrecedence197BinaryOperatorsandFunctionsReturningMultipleValues20MixingIntegerandFloatingPointArithmetic21ShortCircuitBooleanEvaluation21Statements22VariableDeclarationStatements23AssignmentStatements24C onditionalandLoopingStatements241ConditionalForms2411if2412ifelse2413if2414orelseandelse2415switch242LoopingForms2421while2422dowhile2423for2424loop2425for2426forever2427foreach25breakreturncontinue25Functions26DeclaringFunaabdsadfasdfann += 1; assert (AGuidetotheSLangLanguageJohnEDavisdavisspacemiteduMar232003TableofContentsPreface1ABriefHistoryofSLang2Acknowledgements2Introduction3LanguageFeatures4DataTypesandOperators5StatementsandFunctions6ErrorHandling7RunTimeLibrary8InputOutput9ObtainingSLang9OverviewoftheLanguage10VariablesandFunctions11Strings12ReferencingandDereferencing13Arrays14StructuresandUserDefinedTypes15Namespaces15DataTypesandLiteralConstants16PredefinedDataTypes161Integers162FloatingPointNumbers163ComplexNumbers164Strings165NullType166RefType167ArrayTypeandStructType168DataTypeTypeType17TypecastingConvertingfromoneTypetoAnother17Identifiers17Variables17Operators18UnaryOperators19BinaryOperators191ArithmeticOperators192RelationalOperators193BooleanOperators194BitwiseOperators195Namespaceoperator196OperatorPrecedence197BinaryOperatorsandFunctionsReturningMultipleValues20MixingIntegerandFloatingPointArithmetic21ShortCircuitBooleanEvaluation21Statements22VariableDeclarationStatements23AssignmentStatements24C onditionalandLoopingStatements241ConditionalForms2411if2412ifelse2413if2414orelseandelse2415switch242LoopingForms2421while2422dowhile2423for2424loop2425for2426forever2427foreach25breakreturncontinue25Functions26DeclaringFunaabdsadfasdfann == 4); }
Feb 25 2006