bugGNU Octave - Bugs: bug #45831, [octave forge] (parallel)...

 
 

bug #45831: [octave forge] (parallel) parcellfun cannot handle objects as return value

Submitted by:  None
Submitted on:  Wed 26 Aug 2015 07:44:02 PM UTC  
 
Category:  Octave Forge Package Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Incorrect Result
Status:  Postponed Assigned to:  None
Originator Name:  Originator Email:  -email is unavailable-
Open/Closed:  Open Release:  other
Operating System:  Any

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

( Jump to the original submission)

Thu 27 Aug 2015 06:14:19 PM UTC, comment #8:

Ok, I see jwe's comments that you are referring to (whether to support load/save of classdef for all file types or standardize on one or more of Matlab's file formats).

Regardless, that's now bug #45833, adding a followup comment there. :)

Mike Miller <mtmiller>
Project Administrator
Thu 27 Aug 2015 05:42:05 PM UTC, comment #7:

Yep, you're right.
Re-reading jwe's answer in the thread I referred to, it seems clear he wanted (at that time at least) to have classdef support only for v7.3 .mat-files.

Philip Nienhuis <philipnienhuis>
Project Member
Thu 27 Aug 2015 12:10:07 PM UTC, comment #6:

Reported and added dependency of bug #45833 (support load/save for classdef objects).

Mike Miller <mtmiller>
Project Administrator
Thu 27 Aug 2015 12:06:57 PM UTC, comment #5:

I think you are slightly mistaken. I think load/save can be implemented for classdef without any hdf5 support if necessary (e.g. load -binary and load -text for Octave's native formats). And the -v7.3 format has nothing to do with h5load / h5read, which is patch #8607 (although ideally there may be some common code refactoring that can be done).

Mike Miller <mtmiller>
Project Administrator
Thu 27 Aug 2015 11:52:56 AM UTC, comment #4:

JWE does (should) know, see http://comments.gmane.org/gmane.comp.gnu.octave.maintainers/40177

[OT] I'm very much in favor of having classdef support added to load/save, but if I'm not mistaken this also requires hfd5 support (i.e, v7.3 mat files).
There is a patch for hdf5 itself (patch #8607), however I couldn't get it working properly at the time due to some include file issues on my box. Work on it by the author has stalled in the mean time as he got too little response. Maybe during the next OctConf this can be revived?

Philip Nienhuis <philipnienhuis>
Project Member
Thu 27 Aug 2015 08:06:36 AM UTC, comment #3:

For transfering values between processes, `parcellfun' uses the save/load funtionality implemented in Octave separately for each type of value.

The classdef object type is still rather new, and save/load does not seem to be implemented for it as yet (Octave-4.0.0):

Trying to rewrite parcellfun to use threads, not processes, would be a major effort, and without a strong reason probably nobody will attempt it. So as long as the above `save ...' does not work, `parcellfun' has no chance to work with classdef objects.

So that's rather a bug in Octave than in the `parallel' package. But I'd guess JWE already knows about this issue.

Olaf

Olaf Till <i7tiol>
Project Member
Thu 27 Aug 2015 06:38:17 AM UTC, comment #2:

the error messages are missing in the original submission for some reason:

parcellfun: 0/2 jobs done
warning: parcellfun: unhandled error in subprocess 2
warning: called from
parcellfun at line 288 column 9
tst.m at line 4 column 7
error: clone: invalid object
error: called from
parcellfun at line 358 column 26
tst.m at line 4 column 7
error: octave_base_value::load_binary(): wrong type argument 'object'
error: called from
parcellfun at line 358 column 26
tst.m at line 4 column 7
error: load: trouble reading binary file ''
error: called from
parcellfun at line 358 column 26
tst.m at line 4 column 7

warning: parcellfun: unhandled error in subprocess 1
warning: called from
parcellfun at line 288 column 9
tst.m at line 4 column 7
warning: broken pipe

A.R. Burgers <arb>
Wed 26 Aug 2015 09:12:28 PM UTC, comment #1:

Adding package maintainer to CC.

Carnë Draug <carandraug>
Project Member
Wed 26 Aug 2015 07:44:02 PM UTC, original submission:

attached example tst.m+cin.m shows execution of a function that returns an object with both cellfun and parcellfun. With cellfun that works, with parcellfun there is an error:

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #34742:  cin.m added by None (113B - application/octet-stream)
file #34743:  tst.m added by None (172B - application/octet-stream)

 

Digest:
   bug dependencies.

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by jwe (Updated the item)
  • -email is unavailable- added by mtmiller (Posted a comment)
  • -email is unavailable- added by i7tiol (Posted a comment)
  • -email is unavailable- added by arb (Posted a comment)
  • -email is unavailable- added by carandraug (Olaf Till - maintainer of parallel package)
  • -email is unavailable- added by None (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

     

     

    Follow 8 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2017-08-13 jwe Summaryparallel package: parcellfun cannot handle objects as return value => [octave forge] (parallel) parcellfun cannot handle objects as return value
    2015-08-27 mtmiller Release4.0.0 => other
        Dependencies- => Depends on bugs #45833
    2015-08-27 mtmiller Item GroupSegfault, Bus Error, etc. => Incorrect Result
        StatusNone => Postponed
    2015-08-26 carandraug Carbon-Copy- => Added -email is unavailable-
    2015-08-26 None Attached File- => Added cin.m, #34742
        Attached File- => Added tst.m, #34743

    Back to the top


    Powered by Savane 3.3