View Issue Details

IDProjectCategoryView StatusLast Update
0001238Ecere SDKpublic2021-02-25 17:04
Reporterdcaraffini Assigned To 
PrioritynormalSeveritycrashReproducibilityhave not tried
Status newResolutionopen 
Platformx86:linuxOSDebianOS Version-
Summary0001238: Incorrect Class generated for class deriving from Map in MemoryGuard configuration
DescriptionInstances of classes of the form class OwnerMap : Map can have a wrong type specification stored in the _class member, resulting in a crash when assignigng a value as in myMap["id"] = ProcessInfo {};
{ when adding
    ~OwnerMap()
    {
       Free();
    }
}
Is expected to be used as;

OwnwerMap<String, Processinfo> myMap {};

Steps To Reproduce- 1: from the command line (on linux: adapt to your OS):
    cd $GNOSIS_SDK_SRC
    git checkout 35b1ee4c5d1b0cbd619d7fabdab06d626af453e6
    ecere-ide
- 2:open the mapServer project.
- 3: compile gnosis3 in MemoryGuard configuration.
- 4: run mapSerever from the ide.
- 5: visit url http://localhost:8080/ogcapi/processes.
-6: observethe issue.
Additional InformationThe issue was observed in file src/processing/processExecution.ec commit 35b1ee4c5d1b0cbd619d7fabdab06d626af453e6 from branch newSyntax of gnosis3 and attempts to recreate it in a minimal example were unsuccessful.
The workaround is to include the types of key and value in the class declaration like so:

OwnedInfoMap : Map<String, ProcessInfo>
 {
     ~OwnedInfoMap()
     {
            Free();
     }
}
TagsNo tags attached.

Activities

dcaraffini

2021-02-25 00:28

reporter   ~0001494

The commit inquestion has been tagged as mantis-1238 for easyer retrieval and to preserve it in case of rebases.

Issue History

Date Modified Username Field Change
2021-02-25 00:14 dcaraffini New Issue
2021-02-25 00:28 dcaraffini Note Added: 0001494
2021-02-25 17:04 jerome Project Acovel Media Player => Ecere SDK