View Issue Details

IDProjectCategoryView StatusLast Update
0000790Ecere SDKide:parsingpublic2013-08-07 03:33
Reporterredj Assigned Tojerome  
PriorityimmediateSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Version0.44.06 
Target Version0.44.08Fixed in Version0.44.08 
Summary0000790: ide code parsing crash for FindInFilesDialog.ec with git confilct markers
Descriptionrelease ide crashes before showing up when opening attached FindInFilesDialog.ec
in debug mode the crash occurs when closing the ide after having opened the file
see call stack in additional notes
Steps To Reproduceide ide/src/dialogs/FindInFilesDialog.ec
Segmentation fault (core dumped)
Additional Information  0 __GI_raise Function, ../nptl/sysdeps/unix/sysv/linux/raise.c:64
  1 __GI_abort Function, abort.c:91
  2 __libc_message Function, ../sysdeps/unix/sysv/linux/libc_fatal.c:201
  3 malloc_printerr Function, malloc.c:5007
  4 __ecereNameSpace__ecere__com___myfree Function, /h/r/s/c/cmp/temp/tmp-ecere-sdk-comp-json/ecere/src/com/instance.ec:1234
  5 __ecereNameSpace__ecere__com___free Function, /h/r/s/c/cmp/temp/tmp-ecere-sdk-comp-json/ecere/src/com/instance.ec:1771
  6 __ecereNameSpace__ecere__com__eSystem_Delete Function, /h/r/s/c/cmp/temp/tmp-ecere-sdk-comp-json/ecere/src/com/instance.ec:5761
  7 FreeDeclarator Function, /h/r/s/c/cmp/temp/tmp-ecere-sdk-comp-json/compiler/libec/src/freeAst.ec:584
  8 FreeDeclarator Function, /h/r/s/c/cmp/temp/tmp-ecere-sdk-comp-json/compiler/libec/src/freeAst.ec:548
  9 FreeClassFunction Function, /h/r/s/c/cmp/temp/tmp-ecere-sdk-comp-json/compiler/libec/src/freeAst.ec:909
 10 FreeClassDef Function, /h/r/s/c/cmp/temp/tmp-ecere-sdk-comp-json/compiler/libec/src/freeAst.ec:966
 11 FreeList Function, /h/r/s/c/cmp/temp/tmp-ecere-sdk-comp-json/compiler/libec/src/freeAst.ec:13
 12 FreeClass Function, /h/r/s/c/cmp/temp/tmp-ecere-sdk-comp-json/compiler/libec/src/freeAst.ec:1020
 13 FreeExternal Function, /h/r/s/c/cmp/temp/tmp-ecere-sdk-comp-json/compiler/libec/src/freeAst.ec:1081
 14 FreeASTTree Function, /h/r/s/c/cmp/temp/tmp-ecere-sdk-comp-json/compiler/libec/src/freeAst.ec:1105
 15 CodeEditor_FreeParser Method, src/designer/CodeEditor.ec:2497
 16 CodeEditor_OnDestroy Method, src/designer/CodeEditor.ec:2105
 17 __ecereNameSpace__ecere__gui__Window_DestroyEx Method, /h/r/s/c/cmp/temp/tmp-ecere-sdk-comp-json/ecere/src/gui/Window.ec:5569
 18 __ecereNameSpace__ecere__gui__Window_DestroyEx Method, /h/r/s/c/cmp/temp/tmp-ecere-sdk-comp-json/ecere/src/gui/Window.ec:5578
 19 __ecereNameSpace__ecere__gui__Window_DestroyEx Method, /h/r/s/c/cmp/temp/tmp-ecere-sdk-comp-json/ecere/src/gui/Window.ec:5578
 20 __ecereNameSpace__ecere__gui__Window_DestroyEx Method, /h/r/s/c/cmp/temp/tmp-ecere-sdk-comp-json/ecere/src/gui/Window.ec:5578
 21 __ecereNameSpace__ecere__gui__Window_Destroy Method, /h/r/s/c/cmp/temp/tmp-ecere-sdk-comp-json/ecere/src/gui/Window.ec:6401
 22 __ecereNameSpace__ecere__gui__drivers__XInterface_ProcessInput Method, /h/r/s/c/cmp/temp/tmp-ecere-sdk-comp-json/ecere/src/gui/drivers/XInterface.ec:1742
 23 __ecereNameSpace__ecere__gui__GuiApplication_ProcessInput Method, /h/r/s/c/cmp/temp/tmp-ecere-sdk-comp-json/ecere/src/gui/GuiApplication.ec:801
 24 __ecereNameSpace__ecere__gui__GuiApplication_Main Method, /h/r/s/c/cmp/temp/tmp-ecere-sdk-comp-json/ecere/src/gui/GuiApplication.ec:712
 25 main Function, /h/r/s/c/ecere-sdk/ide/obj/debug.linux/ide.main.ec:4208
TagsNo tags attached.

Activities

2013-04-17 00:51

 

FindInFilesDialog.ec (45,134 bytes)

jerome

2013-04-18 21:30

administrator   ~0000685

Valgrind says:

==3077== Invalid write of size 4
==3077== at 0x5016C36: __ecereNameSpace__ecere__com__FixDerivativesBase (instance.c:2256)
==3077== by 0x5022491: __ecereNameSpace__ecere__com__eProperty_Watchable (instance.c:5839)
==3077== by 0x4FEF95A: __ecereRegisterModule_Window (Window.c:13402)
==3077== by 0x502FB4D: __ecereDll_Load (ecere.main.c:3066)

jerome

2013-04-18 22:11

administrator   ~0000686

FindInFilesDialog is originally thought of as a bit class, and so eClass_AddBitMember is called and a BitMember is allocated.

Then FixDerivativesBase turns it into a normal class, but members are still BitMembers.

jerome

2013-04-20 03:21

administrator   ~0000687

Fixed by https://github.com/ecere/sdk/commit/89dcc67d27cac3820e50e9124e276ffcfc009ef3

Issue History

Date Modified Username Field Change
2013-04-17 00:48 redj New Issue
2013-04-17 00:48 redj File Added: FindInFilesDialog.ec
2013-04-17 00:50 redj File Deleted: FindInFilesDialog.ec
2013-04-17 00:51 redj File Added: FindInFilesDialog.ec
2013-04-18 21:30 jerome Note Added: 0000685
2013-04-18 22:11 jerome Note Added: 0000686
2013-04-20 03:21 jerome Status new => resolved
2013-04-20 03:21 jerome Fixed in Version => 0.44.1 64
2013-04-20 03:21 jerome Resolution open => fixed
2013-04-20 03:21 jerome Assigned To => jerome
2013-04-20 03:21 jerome Note Added: 0000687
2013-05-22 20:29 jerome Status resolved => closed
2013-08-07 03:33 jerome Fixed in Version 0.44.10 64 => 0.44.08
2013-08-07 03:33 jerome Target Version 0.44.10 64 => 0.44.08