bugGNU Octave - Bugs: bug #63971, [octave forge] (io) package...

 
 

bug #63971: [octave forge] (io) package crashes Octave

Submitter:  None
Submitted:  Tue 28 Mar 2023 10:37:48 PM UTC
 
Category:  Octave Forge Package Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Installation Failure
Status:  Need Info Assigned to:  None
Originator Name:  Originator Email:  -email is unavailable-
Open/Closed:  * Open Release:  * 8.1.0
Operating System:  * Microsoft Windows Fixed Release:  None
Planned Release:  None
* Mandatory Fields

Add a New Comment (Rich Markup)
   

( Jump to the original submission )

Wed 03 May 2023 09:07:12 PM UTC, comment #7: 

Coming back to this report, I didn't note you had commented further because I wasn't in the 'cc' list. Aplogies for that, added myself now.

The fact that 'col2num' (a binary module, actually a disguised .dll file) is undefined is telling. It can mean that:

  1. either the io package is wrongly installed
  2. or somehow col2num from a different and binary incompatible Octave release is in the path
  3. or (most probably) your IT dept. allows only explicitly 'whitelisted' SW to load and hasn't whitelisted the binary modules of the io package (and maybe other packages).

As to the latter, at my work they used 'Traps' SW to accomplish the latter. But there's more SW that can do the same.

Advice: talk to your IT dept. to find out if they block non-whitelisted SW.

Philip Nienhuis <philipnienhuis>
Group Member
Mon 10 Apr 2023 05:15:11 PM UTC, comment #6: 

So, as I said previously, when it crashes there is no error message.  The program just immediately closes.  I have screen recorded the crash on a fresh install, but was unable to upload it here (it should be within the file size limit).

With the _init_io_ file renamed, I am able to load like previously.  Calling io_testscript yields:

>> pkg load io
error: '__init_io__' undefined near line 1, column 1
error: called from
    C:\Program Files\GNU Octave\Octave-8.1.0\mingw64\share\octave\packages\io-2.6.4\PKG_ADD at line 1 column 1
    load_packages_and_dependencies at line 56 column 5
    load_packages at line 53 column 3
    pkg at line 639 column 7
>> io_testscript ("oct", "io-test.xlsx")

Testing interface OCT using file io-test.xlsx...

 1. Initialize arrays...
 2. Insert first empty sheet...
'col2num' undefined near line 49, column 10

ans =
{
  [1,1] = OCT
  [1,2] = -
  [1,3] = -
  [1,4] = -
  [1,5] = -
  [1,6] = -
  [1,7] = -
  [1,8] = -
  [1,9] = -
  [1,10] = -
  [1,11] = .xlsx
}

>>

I assume col2num is undefined because the io package does not load properly without the init function?

The next thing I tried is to remove all of the files and start adding them back one by one as errors were thrown for missing functions. As soon as '__chk_java_sprt__.m' was added back, I no longer got an error to debug, and instead the program crashed.

>> [numdat, txtdat, rawdat] = xlsread(filename);
error: 'xlsopen' undefined near line 379, column 13
error: called from
    xlsread at line 379 column 11
>> [numdat, txtdat, rawdat] = xlsread(filename);
error: 'getinterfaces' undefined near line 308, column 16
error: called from
    xlsopen at line 308 column 14
    xlsread at line 379 column 11
>> [numdat, txtdat, rawdat] = xlsread(filename);
error: '__chk_java_sprt__' undefined near line 109, column 21
error: called from
    getinterfaces at line 109 column 19
    xlsopen at line 308 column 14
    xlsread at line 379 column 11
>>

Again, I'd also like to reiterate that this issue has occurred on two separate work PCs (both with fresh installs done as well), but works perfectly fine on my personal PC.  Both work PCs have the same anti virus software installed by IT, where my personal PC does not.  Further, this package was working on those PCs until recently.  All PCs have up to date Windows, so the Anti-virus is the only thing I can think of that is common between work PCs and not personal PC.

Anonymous
Wed 05 Apr 2023 06:54:19 PM UTC, comment #5: 

Thanks, yes, the first error is to be expected, obviously.

Then the crashes.

'pkg test io' doesn't test the spreadsheet I/O at all so I'm suspicious that xlsread.m itself is not involved but that there are other errors provoking the crash. I'm especially suspecting that you have some io package functions, or maybe core Octave functions, in your load path shadowing io package, or core Octave functions.
Can you please copy verbatim the exact error messages you get into the next comment? Without those we can't do anything to help you further.
(use +verbatim+ and -verbatim- tags each on a separate line enclosing the copied output).

Next, xlsread crashing .... same thing, exactly what error messages do you get when using xlsread?

What spreadsheet I/O "interface" do you use?

The (default) 'OCT' interface doesn't need Java or other support software so I'd first want to know what happens when using that.
Hint:
You can try the following:

io_testscript ("oct", "io-test.xlsx")

Pls report back the exact error messages.

Philip Nienhuis <philipnienhuis>
Group Member
Tue 04 Apr 2023 07:38:26 PM UTC, comment #4: 


>> pkg load io

error: '__init_io__' undefined near line 1, column 1
error: called from
    C:\Program Files\GNU Octave\Octave-8.1.0\mingw64\share\octave\packages\io-2.6.4\PKG_ADD at line 1 column 1
    load_packages_and_dependencies at line 56 column 5
    load_packages at line 53 column 3
    pkg at line 639 column 7

>>
>> pkg list io

Package Name  | Version | Installation directory
--------------+---------+-----------------------
          io *|   2.6.4 | C:\Program Files\GNU Octave\Octave-8.1.0\mingw64\share\octave\packages\io-2.6.4

So it seems to load it (apart from the obvious error of the file being missing)

pkg test io still seems to cause a crash though.
xlsread also causes a crash (because it tries to access Java).



Anonymous
Tue 04 Apr 2023 05:22:00 PM UTC, comment #3: 

(Wild guess)  maybe related to the io package initialization process?  and/or the Java subsystem? (which is accessed during io package initialization)

In the command line, type:
cd (strrep (which ("oct2xls"), "oct2xls.m", ""))

and then (assuming you're running the GUI) in the file browser, right-click the file '__init_io__.m' and rename it to something else.
Next, exit and restart Octave, try again to do 'pkg load io', and please report back if you still see the crash.


Philip Nienhuis <philipnienhuis>
Group Member
Tue 04 Apr 2023 04:46:20 PM UTC, comment #2: 


>> pkg list io

Package Name  | Version | Installation directory
--------------+---------+-----------------------
          io  |   2.6.4 | C:\Program Files\GNU Octave\Octave-8.1.0\mingw64\share\octave\packages\io-2.6.4

>> pkg load io


And then Octave crashes.  No error to debug, program doesn't stop responding, just closes.

After further investigation, it may be firewall/anti-virus related.  This issue is happening on multiple work PCs, but not on my personal PC.

Anonymous
Wed 29 Mar 2023 05:57:44 AM UTC, comment #1: 

Loading the package is working for me:

>> pkg list io
Package Name  | Version | Installation directory
--------------+---------+-----------------------
          io  |   2.6.4 | C:\Program Files\GNU Octave\Octave-8.1.0\mingw64\share\octave\packages\io-2.6.4
>> pkg load io
>> pkg test io
Testing functions in package 'io':

Integrated test scripts:

  ..\packages\io-2.6.4\x86_64-w64-mingw32-api-v58\cell2csv.cc-tst  pass    2/2
  ..e\packages\io-2.6.4\x86_64-w64-mingw32-api-v58\col2num.cc-tst  pass   12/12
  ..\packages\io-2.6.4\x86_64-w64-mingw32-api-v58\csv2cell.cc-tst  pass   18/18
  ..e\packages\io-2.6.4\x86_64-w64-mingw32-api-v58\num2col.cc-tst  pass    3/3
  ...1.0\mingw64\share\octave\packages\io-2.6.4\calccelladdress.m  pass    9/9
  ..ctave-8.1.0\mingw64\share\octave\packages\io-2.6.4\fromJSON.m  pass  152/152
  ..ve-8.1.0\mingw64\share\octave\packages\io-2.6.4\object2json.m  pass    2/2
  ..-8.1.0\mingw64\share\octave\packages\io-2.6.4\read_namelist.m  pass    3/3
  ..\Octave-8.1.0\mingw64\share\octave\packages\io-2.6.4\toJSON.m  pass   56/56

Fixed test scripts:


Summary:

  PASS                              257
  FAIL                                0

See the file C:\Users\Markus\fntests.log for additional details.

34 (of 39) .m files have no tests.

Please help improve Octave by contributing tests for these files
(see the list in the file C:\Users\Markus\fntests.log).

>>


What does `pkg list io` return for you? Which exact commands are causing the crash for you?

Markus Mützel <mmuetzel>
Group Member
Tue 28 Mar 2023 10:37:48 PM UTC, original submission:  

Trying to load the io package causes Octave to instantly crash on Windows.  This started happening recently. 
Trying to use the xlswrite function (without having the package installed) seemed to indicate that the crash seems to happen during _chk_java_sprt_ function.

Anonymous

 

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

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by philipnienhuis
  • -email is unavailable- added by mmuetzel (Posted a comment)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only project members can vote.

     

     

     

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2023-05-03 philipnienhuis Carbon-Copy- Added philipnienhuis
    2023-03-29 mmuetzel StatusNone Need Info
        Summaryio package crashes Octave [octave forge] (io) package crashes Octave

    Back to the top

    Powered by Savane 3.12