From: Karl W. <kar...@gm...> - 2012-02-23 14:06:01
|
Hi Xavier, I've posted a few more patches to the Octave module - see below for the SourceForge link. They include a further small patch related to module loading, and a few patches to fix currently-broken tests in the test suite. I'd greatly appreciate it if you could have a look at them. Cheers, Karl ---------- Forwarded message ---------- From: SourceForge.net <no...@so...> Date: 23 February 2012 15:00 Subject: [Swig-devel] [ swig-Patches-3492054 ] Octave patches: modules, minor fixes, test-suite To: "SourceForge.net" <no...@so...> Patches item #3492054, was opened at 2012-02-23 06:00 Message generated for change (Settings changed) made by kwwette You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=301645&aid=3492054&group_id=1645 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Karl Wette (kwwette) >Assigned to: Xavier Delacour (xavier98) Summary: Octave patches: modules, minor fixes, test-suite Initial Comment: Patch 1 is another minor tweak to Octave module load behaviour. It allows the -globals argument (which gives the namespace global variables/constants will be loaded into) to take the special value ".", in which case global variables/constants are loaded into the same namespace as functions, enums, etc, i.e. there is no "cvar" namespace. This allows Octave modules to resemble the behaviour of Python modules compiled with the "-builtin" option, which no longer supports "cvar". Patch 2 comments out the declaration of the function swig_register_director(). This function has never been defined, and having only the declaration can generate warnings if you're compiling with e.g. GCC warning flags. Patch 3 fixes the Octave path in the examples/test-suite Makefiles: OCTAVEPATH should be OCTAVE_PATH. Patches 4--6 are fixes to tests in the test-suite that are currently failing. With these three patches, the Octave test-suite and examples all work for built-from-source versions of Octave 3.0.5, 3.2.4, and 3.4.3, although binaries shipped with some distributions might still have problems (see below). Patch 4 fixes the director_nspace test. With directors activates, it looks like some of the generated code (e.g. tables of class members) weren't picking up the namespace the class was declared in. This patch fixes the few places where this occurs. Patch 5 fixes the li_std_containers_int test. It looks like this test was failing because the Octave module doesn't supply std_int.i, so this patch adds this file from the Python module, changing PyObject to octave_value, similarly to the Octave/Python std_vector.i Patch 6 fixes (mostly) the imports test. This test seems to cause particular trouble for Octave 3.2.4, which would always seg-fault on exit. As far as I could tell, this was happening for two independent reasons: * Octave was calling the C++ destructor of the oct_file_unload class *twice* for one of the loaded modules (imports_b), instead of calling the destructor once each for the two loaded modules (imports_a, and imports_b). So instead of using a destructor, the module now registers at-exit functions with Octave, which point to functions which do the cleanup. The names of the at-exit functions must still be unique, however, otherwise Octave still calls the same function twice. * The second reason Octave 3.2.4 was seg-faulting seemed to be improper cleanup of functions left in the symbol table at exit. So the module's at-exit functions now calls clear_functions() to clear all functions out of the symbol table. With this patch, this test now compiles on a built-from-source version of Octave 3.2.4, However the binary of Octave 3.2.4 supplied by Debian Squeeze still seg-faults, unless the -f option is supplied to Octave. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=301645&aid=3492054&group_id=1645 ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ Swig-devel mailing list Swi...@li... https://lists.sourceforge.net/lists/listinfo/swig-devel |
From: Xavier D. <xav...@gm...> - 2012-02-27 17:12:56
|
These look good, and are now committed. Thank you, Karl! Xavier On Thu, Feb 23, 2012 at 7:05 AM, Karl Wette <kar...@gm...> wrote: > Hi Xavier, > > I've posted a few more patches to the Octave module - see below for > the SourceForge link. They include a further small patch related to > module loading, and a few patches to fix currently-broken tests in the > test suite. I'd greatly appreciate it if you could have a look at > them. > > Cheers, > Karl > > > ---------- Forwarded message ---------- > From: SourceForge.net <no...@so...> > Date: 23 February 2012 15:00 > Subject: [Swig-devel] [ swig-Patches-3492054 ] Octave patches: > modules, minor fixes, test-suite > To: "SourceForge.net" <no...@so...> > > > Patches item #3492054, was opened at 2012-02-23 06:00 > Message generated for change (Settings changed) made by kwwette > You can respond by visiting: > https://sourceforge.net/tracker/?func=detail&atid=301645&aid=3492054&group_id=1645 > > Please note that this message will contain a full copy of the comment thread, > including the initial issue submission, for this request, > not just the latest update. > Category: None > Group: None > Status: Open > Resolution: None > Priority: 5 > Private: No > Submitted By: Karl Wette (kwwette) >>Assigned to: Xavier Delacour (xavier98) > Summary: Octave patches: modules, minor fixes, test-suite > > Initial Comment: > Patch 1 is another minor tweak to Octave module load behaviour. It > allows the -globals argument (which gives the namespace global > variables/constants will be loaded into) to take the special value > ".", in which case global variables/constants are loaded into the same > namespace as functions, enums, etc, i.e. there is no "cvar" namespace. > This allows Octave modules to resemble the behaviour of Python modules > compiled with the "-builtin" option, which no longer supports "cvar". > > Patch 2 comments out the declaration of the function > swig_register_director(). This function has never been defined, and > having only the declaration can generate warnings if you're compiling > with e.g. GCC warning flags. > > Patch 3 fixes the Octave path in the examples/test-suite Makefiles: > OCTAVEPATH should be OCTAVE_PATH. > > Patches 4--6 are fixes to tests in the test-suite that are currently > failing. With these three patches, the Octave test-suite and examples > all work for built-from-source versions of Octave 3.0.5, 3.2.4, and > 3.4.3, although binaries shipped with some distributions might still > have problems (see below). > > Patch 4 fixes the director_nspace test. With directors activates, it > looks like some of the generated code (e.g. tables of class members) > weren't picking up the namespace the class was declared in. This patch > fixes the few places where this occurs. > > Patch 5 fixes the li_std_containers_int test. It looks like this test > was failing because the Octave module doesn't supply std_int.i, so > this patch adds this file from the Python module, changing PyObject to > octave_value, similarly to the Octave/Python std_vector.i > > Patch 6 fixes (mostly) the imports test. This test seems to cause > particular trouble for Octave 3.2.4, which would always seg-fault on > exit. As far as I could tell, this was happening for two independent > reasons: > * Octave was calling the C++ destructor of the oct_file_unload class > *twice* for one of the loaded modules (imports_b), instead of calling > the destructor once each for the two loaded modules (imports_a, and > imports_b). So instead of using a destructor, the module now registers > at-exit functions with Octave, which point to functions which do the > cleanup. The names of the at-exit functions must still be unique, > however, otherwise Octave still calls the same function twice. > * The second reason Octave 3.2.4 was seg-faulting seemed to be > improper cleanup of functions left in the symbol table at exit. So the > module's at-exit functions now calls clear_functions() to clear all > functions out of the symbol table. > With this patch, this test now compiles on a built-from-source version > of Octave 3.2.4, However the binary of Octave 3.2.4 supplied by Debian > Squeeze still seg-faults, unless the -f option is supplied to Octave. > > > ---------------------------------------------------------------------- > > You can respond by visiting: > https://sourceforge.net/tracker/?func=detail&atid=301645&aid=3492054&group_id=1645 > > ------------------------------------------------------------------------------ > Virtualization & Cloud Management Using Capacity Planning > Cloud computing makes use of virtualization - but cloud computing > also focuses on allowing computing to be delivered as a service. > http://www.accelacomm.com/jaw/sfnl/114/51521223/ > _______________________________________________ > Swig-devel mailing list > Swi...@li... > https://lists.sourceforge.net/lists/listinfo/swig-devel |
From: Karl W. <kar...@gm...> - 2012-02-27 18:26:21
|
Hi Xavier, Great, thanks! I noticed however that patch #5 hasn't been committed - this patch adds a new file Lib/octave/std_list.i to fix one of the tests. Perhaps you forgot to add it? Cheers, Karl On 27 February 2012 18:12, Xavier Delacour <xav...@gm...>wrote: > These look good, and are now committed. Thank you, Karl! > > Xavier > > On Thu, Feb 23, 2012 at 7:05 AM, Karl Wette <kar...@gm...> wrote: > > Hi Xavier, > > > > I've posted a few more patches to the Octave module - see below for > > the SourceForge link. They include a further small patch related to > > module loading, and a few patches to fix currently-broken tests in the > > test suite. I'd greatly appreciate it if you could have a look at > > them. > > > > Cheers, > > Karl > > > > > > ---------- Forwarded message ---------- > > From: SourceForge.net <no...@so...> > > Date: 23 February 2012 15:00 > > Subject: [Swig-devel] [ swig-Patches-3492054 ] Octave patches: > > modules, minor fixes, test-suite > > To: "SourceForge.net" <no...@so...> > > > > > > Patches item #3492054, was opened at 2012-02-23 06:00 > > Message generated for change (Settings changed) made by kwwette > > You can respond by visiting: > > > https://sourceforge.net/tracker/?func=detail&atid=301645&aid=3492054&group_id=1645 > > > > Please note that this message will contain a full copy of the comment > thread, > > including the initial issue submission, for this request, > > not just the latest update. > > Category: None > > Group: None > > Status: Open > > Resolution: None > > Priority: 5 > > Private: No > > Submitted By: Karl Wette (kwwette) > >>Assigned to: Xavier Delacour (xavier98) > > Summary: Octave patches: modules, minor fixes, test-suite > > > > Initial Comment: > > Patch 1 is another minor tweak to Octave module load behaviour. It > > allows the -globals argument (which gives the namespace global > > variables/constants will be loaded into) to take the special value > > ".", in which case global variables/constants are loaded into the same > > namespace as functions, enums, etc, i.e. there is no "cvar" namespace. > > This allows Octave modules to resemble the behaviour of Python modules > > compiled with the "-builtin" option, which no longer supports "cvar". > > > > Patch 2 comments out the declaration of the function > > swig_register_director(). This function has never been defined, and > > having only the declaration can generate warnings if you're compiling > > with e.g. GCC warning flags. > > > > Patch 3 fixes the Octave path in the examples/test-suite Makefiles: > > OCTAVEPATH should be OCTAVE_PATH. > > > > Patches 4--6 are fixes to tests in the test-suite that are currently > > failing. With these three patches, the Octave test-suite and examples > > all work for built-from-source versions of Octave 3.0.5, 3.2.4, and > > 3.4.3, although binaries shipped with some distributions might still > > have problems (see below). > > > > Patch 4 fixes the director_nspace test. With directors activates, it > > looks like some of the generated code (e.g. tables of class members) > > weren't picking up the namespace the class was declared in. This patch > > fixes the few places where this occurs. > > > > Patch 5 fixes the li_std_containers_int test. It looks like this test > > was failing because the Octave module doesn't supply std_int.i, so > > this patch adds this file from the Python module, changing PyObject to > > octave_value, similarly to the Octave/Python std_vector.i > > > > Patch 6 fixes (mostly) the imports test. This test seems to cause > > particular trouble for Octave 3.2.4, which would always seg-fault on > > exit. As far as I could tell, this was happening for two independent > > reasons: > > * Octave was calling the C++ destructor of the oct_file_unload class > > *twice* for one of the loaded modules (imports_b), instead of calling > > the destructor once each for the two loaded modules (imports_a, and > > imports_b). So instead of using a destructor, the module now registers > > at-exit functions with Octave, which point to functions which do the > > cleanup. The names of the at-exit functions must still be unique, > > however, otherwise Octave still calls the same function twice. > > * The second reason Octave 3.2.4 was seg-faulting seemed to be > > improper cleanup of functions left in the symbol table at exit. So the > > module's at-exit functions now calls clear_functions() to clear all > > functions out of the symbol table. > > With this patch, this test now compiles on a built-from-source version > > of Octave 3.2.4, However the binary of Octave 3.2.4 supplied by Debian > > Squeeze still seg-faults, unless the -f option is supplied to Octave. > > > > > > ---------------------------------------------------------------------- > > > > You can respond by visiting: > > > https://sourceforge.net/tracker/?func=detail&atid=301645&aid=3492054&group_id=1645 > > > > > ------------------------------------------------------------------------------ > > Virtualization & Cloud Management Using Capacity Planning > > Cloud computing makes use of virtualization - but cloud computing > > also focuses on allowing computing to be delivered as a service. > > http://www.accelacomm.com/jaw/sfnl/114/51521223/ > > _______________________________________________ > > Swig-devel mailing list > > Swi...@li... > > https://lists.sourceforge.net/lists/listinfo/swig-devel > |
From: Xavier D. <xav...@gm...> - 2012-02-27 18:31:28
|
Yes, you're right, I missed the svn add for created file std_list.i. Should be fixed now. Thanks, Xavier On Mon, Feb 27, 2012 at 11:25 AM, Karl Wette <kar...@gm...> wrote: > Hi Xavier, > > Great, thanks! > > I noticed however that patch #5 hasn't been committed - this patch adds a > new file > Lib/octave/std_list.i > to fix one of the tests. Perhaps you forgot to add it? > > Cheers, > Karl > > > > On 27 February 2012 18:12, Xavier Delacour <xav...@gm...> > wrote: >> >> These look good, and are now committed. Thank you, Karl! >> >> Xavier >> >> On Thu, Feb 23, 2012 at 7:05 AM, Karl Wette <kar...@gm...> wrote: >> > Hi Xavier, >> > >> > I've posted a few more patches to the Octave module - see below for >> > the SourceForge link. They include a further small patch related to >> > module loading, and a few patches to fix currently-broken tests in the >> > test suite. I'd greatly appreciate it if you could have a look at >> > them. >> > >> > Cheers, >> > Karl >> > >> > >> > ---------- Forwarded message ---------- >> > From: SourceForge.net <no...@so...> >> > Date: 23 February 2012 15:00 >> > Subject: [Swig-devel] [ swig-Patches-3492054 ] Octave patches: >> > modules, minor fixes, test-suite >> > To: "SourceForge.net" <no...@so...> >> > >> > >> > Patches item #3492054, was opened at 2012-02-23 06:00 >> > Message generated for change (Settings changed) made by kwwette >> > You can respond by visiting: >> > >> > https://sourceforge.net/tracker/?func=detail&atid=301645&aid=3492054&group_id=1645 >> > >> > Please note that this message will contain a full copy of the comment >> > thread, >> > including the initial issue submission, for this request, >> > not just the latest update. >> > Category: None >> > Group: None >> > Status: Open >> > Resolution: None >> > Priority: 5 >> > Private: No >> > Submitted By: Karl Wette (kwwette) >> >>Assigned to: Xavier Delacour (xavier98) >> > Summary: Octave patches: modules, minor fixes, test-suite >> > >> > Initial Comment: >> > Patch 1 is another minor tweak to Octave module load behaviour. It >> > allows the -globals argument (which gives the namespace global >> > variables/constants will be loaded into) to take the special value >> > ".", in which case global variables/constants are loaded into the same >> > namespace as functions, enums, etc, i.e. there is no "cvar" namespace. >> > This allows Octave modules to resemble the behaviour of Python modules >> > compiled with the "-builtin" option, which no longer supports "cvar". >> > >> > Patch 2 comments out the declaration of the function >> > swig_register_director(). This function has never been defined, and >> > having only the declaration can generate warnings if you're compiling >> > with e.g. GCC warning flags. >> > >> > Patch 3 fixes the Octave path in the examples/test-suite Makefiles: >> > OCTAVEPATH should be OCTAVE_PATH. >> > >> > Patches 4--6 are fixes to tests in the test-suite that are currently >> > failing. With these three patches, the Octave test-suite and examples >> > all work for built-from-source versions of Octave 3.0.5, 3.2.4, and >> > 3.4.3, although binaries shipped with some distributions might still >> > have problems (see below). >> > >> > Patch 4 fixes the director_nspace test. With directors activates, it >> > looks like some of the generated code (e.g. tables of class members) >> > weren't picking up the namespace the class was declared in. This patch >> > fixes the few places where this occurs. >> > >> > Patch 5 fixes the li_std_containers_int test. It looks like this test >> > was failing because the Octave module doesn't supply std_int.i, so >> > this patch adds this file from the Python module, changing PyObject to >> > octave_value, similarly to the Octave/Python std_vector.i >> > >> > Patch 6 fixes (mostly) the imports test. This test seems to cause >> > particular trouble for Octave 3.2.4, which would always seg-fault on >> > exit. As far as I could tell, this was happening for two independent >> > reasons: >> > * Octave was calling the C++ destructor of the oct_file_unload class >> > *twice* for one of the loaded modules (imports_b), instead of calling >> > the destructor once each for the two loaded modules (imports_a, and >> > imports_b). So instead of using a destructor, the module now registers >> > at-exit functions with Octave, which point to functions which do the >> > cleanup. The names of the at-exit functions must still be unique, >> > however, otherwise Octave still calls the same function twice. >> > * The second reason Octave 3.2.4 was seg-faulting seemed to be >> > improper cleanup of functions left in the symbol table at exit. So the >> > module's at-exit functions now calls clear_functions() to clear all >> > functions out of the symbol table. >> > With this patch, this test now compiles on a built-from-source version >> > of Octave 3.2.4, However the binary of Octave 3.2.4 supplied by Debian >> > Squeeze still seg-faults, unless the -f option is supplied to Octave. >> > >> > >> > ---------------------------------------------------------------------- >> > >> > You can respond by visiting: >> > >> > https://sourceforge.net/tracker/?func=detail&atid=301645&aid=3492054&group_id=1645 >> > >> > >> > ------------------------------------------------------------------------------ >> > Virtualization & Cloud Management Using Capacity Planning >> > Cloud computing makes use of virtualization - but cloud computing >> > also focuses on allowing computing to be delivered as a service. >> > http://www.accelacomm.com/jaw/sfnl/114/51521223/ >> > _______________________________________________ >> > Swig-devel mailing list >> > Swi...@li... >> > https://lists.sourceforge.net/lists/listinfo/swig-devel > > |
From: Karl W. <kar...@gm...> - 2012-02-27 18:52:06
|
Confirmed - thanks very much Xavier! Cheers, Karl On 27 February 2012 19:31, Xavier Delacour <xav...@gm...>wrote: > Yes, you're right, I missed the svn add for created file std_list.i. > Should be fixed now. > > Thanks, > Xavier > > On Mon, Feb 27, 2012 at 11:25 AM, Karl Wette <kar...@gm...> wrote: > > Hi Xavier, > > > > Great, thanks! > > > > I noticed however that patch #5 hasn't been committed - this patch adds a > > new file > > Lib/octave/std_list.i > > to fix one of the tests. Perhaps you forgot to add it? > > > > Cheers, > > Karl > > > > > > > > On 27 February 2012 18:12, Xavier Delacour <xav...@gm...> > > wrote: > >> > >> These look good, and are now committed. Thank you, Karl! > >> > >> Xavier > >> > >> On Thu, Feb 23, 2012 at 7:05 AM, Karl Wette <kar...@gm...> > wrote: > >> > Hi Xavier, > >> > > >> > I've posted a few more patches to the Octave module - see below for > >> > the SourceForge link. They include a further small patch related to > >> > module loading, and a few patches to fix currently-broken tests in the > >> > test suite. I'd greatly appreciate it if you could have a look at > >> > them. > >> > > >> > Cheers, > >> > Karl > >> > > >> > > >> > ---------- Forwarded message ---------- > >> > From: SourceForge.net <no...@so...> > >> > Date: 23 February 2012 15:00 > >> > Subject: [Swig-devel] [ swig-Patches-3492054 ] Octave patches: > >> > modules, minor fixes, test-suite > >> > To: "SourceForge.net" <no...@so...> > >> > > >> > > >> > Patches item #3492054, was opened at 2012-02-23 06:00 > >> > Message generated for change (Settings changed) made by kwwette > >> > You can respond by visiting: > >> > > >> > > https://sourceforge.net/tracker/?func=detail&atid=301645&aid=3492054&group_id=1645 > >> > > >> > Please note that this message will contain a full copy of the comment > >> > thread, > >> > including the initial issue submission, for this request, > >> > not just the latest update. > >> > Category: None > >> > Group: None > >> > Status: Open > >> > Resolution: None > >> > Priority: 5 > >> > Private: No > >> > Submitted By: Karl Wette (kwwette) > >> >>Assigned to: Xavier Delacour (xavier98) > >> > Summary: Octave patches: modules, minor fixes, test-suite > >> > > >> > Initial Comment: > >> > Patch 1 is another minor tweak to Octave module load behaviour. It > >> > allows the -globals argument (which gives the namespace global > >> > variables/constants will be loaded into) to take the special value > >> > ".", in which case global variables/constants are loaded into the same > >> > namespace as functions, enums, etc, i.e. there is no "cvar" namespace. > >> > This allows Octave modules to resemble the behaviour of Python modules > >> > compiled with the "-builtin" option, which no longer supports "cvar". > >> > > >> > Patch 2 comments out the declaration of the function > >> > swig_register_director(). This function has never been defined, and > >> > having only the declaration can generate warnings if you're compiling > >> > with e.g. GCC warning flags. > >> > > >> > Patch 3 fixes the Octave path in the examples/test-suite Makefiles: > >> > OCTAVEPATH should be OCTAVE_PATH. > >> > > >> > Patches 4--6 are fixes to tests in the test-suite that are currently > >> > failing. With these three patches, the Octave test-suite and examples > >> > all work for built-from-source versions of Octave 3.0.5, 3.2.4, and > >> > 3.4.3, although binaries shipped with some distributions might still > >> > have problems (see below). > >> > > >> > Patch 4 fixes the director_nspace test. With directors activates, it > >> > looks like some of the generated code (e.g. tables of class members) > >> > weren't picking up the namespace the class was declared in. This patch > >> > fixes the few places where this occurs. > >> > > >> > Patch 5 fixes the li_std_containers_int test. It looks like this test > >> > was failing because the Octave module doesn't supply std_int.i, so > >> > this patch adds this file from the Python module, changing PyObject to > >> > octave_value, similarly to the Octave/Python std_vector.i > >> > > >> > Patch 6 fixes (mostly) the imports test. This test seems to cause > >> > particular trouble for Octave 3.2.4, which would always seg-fault on > >> > exit. As far as I could tell, this was happening for two independent > >> > reasons: > >> > * Octave was calling the C++ destructor of the oct_file_unload class > >> > *twice* for one of the loaded modules (imports_b), instead of calling > >> > the destructor once each for the two loaded modules (imports_a, and > >> > imports_b). So instead of using a destructor, the module now registers > >> > at-exit functions with Octave, which point to functions which do the > >> > cleanup. The names of the at-exit functions must still be unique, > >> > however, otherwise Octave still calls the same function twice. > >> > * The second reason Octave 3.2.4 was seg-faulting seemed to be > >> > improper cleanup of functions left in the symbol table at exit. So the > >> > module's at-exit functions now calls clear_functions() to clear all > >> > functions out of the symbol table. > >> > With this patch, this test now compiles on a built-from-source version > >> > of Octave 3.2.4, However the binary of Octave 3.2.4 supplied by Debian > >> > Squeeze still seg-faults, unless the -f option is supplied to Octave. > >> > > >> > > >> > ---------------------------------------------------------------------- > >> > > >> > You can respond by visiting: > >> > > >> > > https://sourceforge.net/tracker/?func=detail&atid=301645&aid=3492054&group_id=1645 > >> > > >> > > >> > > ------------------------------------------------------------------------------ > >> > Virtualization & Cloud Management Using Capacity Planning > >> > Cloud computing makes use of virtualization - but cloud computing > >> > also focuses on allowing computing to be delivered as a service. > >> > http://www.accelacomm.com/jaw/sfnl/114/51521223/ > >> > _______________________________________________ > >> > Swig-devel mailing list > >> > Swi...@li... > >> > https://lists.sourceforge.net/lists/listinfo/swig-devel > > > > > |