View Issue Details

IDProjectCategoryView StatusLast Update
0003995OpenFOAMBugpublic2023-07-12 10:31
Reporterjherb Assigned Tohenry  
Status resolvedResolutionfixed 
Product Version11 
Fixed in Version11 
Summary0003995: wmkdep calculates replacement position wrong
DescriptionThis bug appeared the first time in a Ubuntu docker container where the Ubuntu/debian package openfoam11 was installed. (It does not happen with the openfoam-dev installation package openfoam-dev (20230707).

If in the file "Make/file" of the user library/solver a source file of the installation is used, wmkdep crashes with the following error:

Making dependency list for source file setDeltaT.C
free(): invalid next size (fast)

This is the Make/file:

EXE = $(FOAM_USER_APPBIN)/foamRunCoupled

Then running wmake in the corresponding directory produces the above mention error.

Additional InformationDebugging wmkdep show the reason for the error:
At some point, the path to the dependency file Make/linux64GccDPInt32Opt//opt/openfoam11/src/../applications/solvers/foamRun/setDeltaT.C.dep should be replaced first by $(OBJECTS_DIR)//opt/openfoam11/src/../applications/solvers/foamRun/setDeltaT.C.dep and in a second step by $(OBJECTS_DIR)/$(WM_PROJECT_DIR)/src/../applications/solvers/foamRun/setDeltaT.C.dep.

But in the second replacement, the string /opt/openfoam11 (len=15) is shorter than $(WM_PROJECT_DIR) (len=17). (If using the openfoam-dev version, the strings have actually the same length, and the error does not appear).

Now in the offset for the search string should be calculated. In this case it should be a positive positive number (not 0 as in probably all the other cases). But as searchStart points somewhere behind str, the returned value here is negative. Then the newly assigned searchStart pointer in points before the actual string.

So to fix this bug, the calculation in line 433 needs to be reversed:
const size_t start = searchStart - str;
TagsNo tags attached.



2023-07-12 10:31

manager   ~0013077

Thanks for the bug-report and proposed fix, this is a "corner" case we have never come across before, nor has anyone else I guess.

Resolved in OpenFOAM-11 by commit 528c1e71cc9af83a4d91d25d7ede64e74649ca2e
Resolved in OpenFOAM-dev by commit 70290b3e2db9041df3f6e23f4506534ddf24081e

Issue History

Date Modified Username Field Change
2023-07-11 20:17 jherb New Issue
2023-07-12 10:31 henry Assigned To => henry
2023-07-12 10:31 henry Status new => resolved
2023-07-12 10:31 henry Resolution open => fixed
2023-07-12 10:31 henry Fixed in Version => 11
2023-07-12 10:31 henry Note Added: 0013077