User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36
Build Identifier:
User added functions like vaults/fits do not work on Windows,
because externs like table_funcs are not visible to a Windows DLL.
(Although they run fine on Linux).
This causes a crash when one of these functions is called,
because the address of table_funcs and table_funcs.function_name is 0 in the DLL which holds the extensions code.
Changing 3 lines in sql/storage/store.c and sql/storage/sql_storage.h fixes
the problem on Windows:
store.c:
table_functions table_funcs; --> __declspec(dllexport) table_functions table_funcs;
and similar for store_funcs and logger_funcs.
sql_storage.h:
extern table_functions table_funcs; --> extern __declspec(dllimport) table_functions table_funcs;
and similar for store_funcs and logger_funcs.
I have only tested this on Windows, not on Linux.
Apparently a macro __declspec(x) is defined near the end of monetdb_config.h which should make the above changes also be fine on Linux, though.
See: http://stackoverflow.com/questions/19373061/what-happens-to-global-and-static-variables-in-a-shared-library-when-it-is-dynam
Reproducible: Always
Steps to Reproduce:
On Windows, build MonetDB-11.21.13 with an extension like sql/backends/monet5/vaults/fits.c
(my particular extension is based on this one; it accesses a different file format)
call the SQL function which runs the extension
it crashes at the first call to a function in table_funcs, such as
table_funcs.column_find_row(...)
If you print the address of this function in the DLL, it is 0.
Actual Results:
Crash.
Expected Results:
Run the table_funcs and store_funcs functions normally.
None needed, since I included the fix in the Details section.
Export table_funcs, store_funcs, and logger_funcs variables.
This is a stop gap solution to the problem that the data vaults don't
work on Windows.
This should fix bug #3951.
Date: 2016-03-12 02:00:08 +0100
From: Clint Cummins <>
To: SQL devs <>
Version: 11.21.13 (Jul2015-SP2)
CC: @njnes
Last updated: 2016-03-25 09:59:28 +0100
Comment 21877
Date: 2016-03-12 02:00:08 +0100
From: Clint Cummins <>
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36
Build Identifier:
User added functions like vaults/fits do not work on Windows,
because externs like table_funcs are not visible to a Windows DLL.
(Although they run fine on Linux).
This causes a crash when one of these functions is called,
because the address of table_funcs and table_funcs.function_name is 0 in the DLL which holds the extensions code.
Changing 3 lines in sql/storage/store.c and sql/storage/sql_storage.h fixes
the problem on Windows:
store.c:
table_functions table_funcs; --> __declspec(dllexport) table_functions table_funcs;
and similar for store_funcs and logger_funcs.
sql_storage.h:
extern table_functions table_funcs; --> extern __declspec(dllimport) table_functions table_funcs;
and similar for store_funcs and logger_funcs.
I have only tested this on Windows, not on Linux.
Apparently a macro __declspec(x) is defined near the end of monetdb_config.h which should make the above changes also be fine on Linux, though.
See:
http://stackoverflow.com/questions/19373061/what-happens-to-global-and-static-variables-in-a-shared-library-when-it-is-dynam
Reproducible: Always
Steps to Reproduce:
(my particular extension is based on this one; it accesses a different file format)
table_funcs.column_find_row(...)
If you print the address of this function in the DLL, it is 0.
Actual Results:
Crash.
Expected Results:
Run the table_funcs and store_funcs functions normally.
None needed, since I included the fix in the Details section.
Comment 21921
Date: 2016-03-16 16:42:18 +0100
From: MonetDB Mercurial Repository <>
Changeset eee653606690 made by Sjoerd Mullender sjoerd@acm.org in the MonetDB repo, refers to this bug.
For complete details, see http//devmonetdborg/hg/MonetDB?cmd=changeset;node=eee653606690
Changeset description:
Comment 21923
Date: 2016-03-16 18:23:05 +0100
From: @njnes
the exports have been added
Comment 21967
Date: 2016-03-25 09:59:28 +0100
From: @sjoerdmullender
Jul2015-SP3 has been released.
The text was updated successfully, but these errors were encountered: