FAQ: Difference between revisions

Jump to navigation Jump to search
4,669 bytes added ,  30 June 2022
m
adjusted list level for gdb
(→‎Octave does not start: Update MS Windows 10 version)
m (adjusted list level for gdb)
(9 intermediate revisions by 4 users not shown)
Line 52: Line 52:
   John W. Eaton, David Bateman, Søren Hauberg, Rik Wehbring ({{Release Year}}).
   John W. Eaton, David Bateman, Søren Hauberg, Rik Wehbring ({{Release Year}}).
   GNU Octave version {{Release}} manual: a high-level interactive language for numerical computations.
   GNU Octave version {{Release}} manual: a high-level interactive language for numerical computations.
   URL https://www.gnu.org/software/octave/doc/v{{Release}}/
   URL https://octave.org/doc/v{{Release}}/


A [https://en.wikipedia.org/wiki/BibTeX BibTeX] entry for [https://en.wikipedia.org/wiki/LaTeX LaTeX] users is:
A [https://en.wikipedia.org/wiki/BibTeX BibTeX] entry for [https://en.wikipedia.org/wiki/LaTeX LaTeX] users is:
Line 60: Line 60:
     author    = {John W. Eaton and David Bateman and S{\o}ren Hauberg and Rik Wehbring},
     author    = {John W. Eaton and David Bateman and S{\o}ren Hauberg and Rik Wehbring},
     year      = <span>{</span>{{Release Year}}},
     year      = <span>{</span>{{Release Year}}},
     url      = {https://www.gnu.org/software/octave/doc/v{{Release}}/},
     url      = {[https://octave.org/doc/v{{Release}}/ https://octave.org/doc/v{{Release}}/]},
   }
   }


Line 89: Line 89:


* After Octave upgrade the GUI does not open / shuts down immediately.
* After Octave upgrade the GUI does not open / shuts down immediately.
** '''Solution:''' Delete the folder {{path|C:\Users\YOUR_USER_NAME\.config\octave}}
** '''Solution:'''
*** Version 5.2.0 and older: Delete the folder {{path|C:\Users\YOUR_USER_NAME\.config\octave}}
*** Version 6.1.0 and newer: Delete the folder {{path|%APPDATA%\octave}}, which generally is located at {{path|C:\Users\YOUR_USER_NAME\AppData\Roaming\octave}}
* Missing/conflicting files.
* Missing/conflicting files.
** '''Solution:''' Remove/Uninstall all existing Octave versions.  Restart the system.  Install GNU Octave again.
** '''Solution:''' Remove/Uninstall all existing Octave versions.  Restart the system.  Install GNU Octave again.
* Permission errors.
 
** '''Solution 1:''' Consult your malware detection (a.k.a. AntiVirus) software, if files are blocked.
* Permission errors
** '''Solution 2:''' Did you install Octave on a network-drive?  Do you have the execution permissions?
** '''Solution 1:''' Octave versions prior to version 7.1.0 on MS Windows used VBS scripts to start the program.  You can test whether your system is blocking VBS scripts by doing the following:
**# Using Notepad or another text editor, create a text file containing only the text: <pre>msgbox("This is a test script, Click OK to close")</pre>
**# Save the file on your Desktop with the name {{Path|testscript.vbs}} (be sure that the editor didn't end it in .txt or .vbs.txt).
**# Double click the file.  If scripts can run, a popup window will appear with that message.
**#* If the file opens in notepad or an editor, it means it still ended in .txt.  MS Windows insecurely hides file extensions by default.  To show file extensions follow [https://answers.microsoft.com/en-us/windows/forum/all/in-win10-how-to-show-the-file-extension-for/ed21ff20-cdb3-4263-9c7d-fc6ed125fc82 these instructions at Microsoft.com].
**#* If both {{Path|testscript.vbs}} and {{Path|octave.vbs}} open a text- or other editor, it means your MS Windows file associations have .vbs files associated with another program.  To fix this, right click the .vbs file, select "Open With", select "Choose Another App", check the box that says "Always use this app to open .vbs files".  Finally, select "Microsoft Windows Based Script Host" from the list.  If it is not in the list, select "More apps".  If still not there, select "Look for Another App on this PC" and navigate to {{Path|C:\Windows\System32\wscript.exe}}, select it, and select "Open".  If {{Path|wscript}} is still not present you will need to seek assistance installing missing MS Windows components.
**# Try moving {{Path|testscript.vbs}} to another location, such as a {{Path|C:\temp folder}}.  Additionally try to move {{Path|testscript.vbs}} in the Octave installation folder containing {{Path|octave.vbs}} and see if VBS scripts can be run there.
**# If {{Path|testscript.vbs}} doesn't run in any of those locations, then scripting appears to be disabled or blocked on your system.  If {{Path|testscript.vbs}} runs in some locations but not others, there there may be other security permissions errors to be solved.  If {{Path|testscript.vbs}} runs in the same folder as {{Path|octave.vbs}}, but directly double-clicking on {{Path|octave.vbs}} does not start Octave, then there appears to be some problem other than script permissions.  
** '''Solution 2:''' Consult your malware detection (a.k.a. AntiVirus) software, if files are blocked.
** '''Solution 3:''' Did you install Octave on a network-drive?  Do you have the execution permissions?
** '''Solution 4:''' Is your computer managed by your company?  Does your administrator prohibit script execution?
===Collecting gdb backtrace information===
The following instructions can help you gather troubleshooting information that may help developers identify the problem if the above steps are ineffective:
* if Octave is 'hanging' (the process is remaining open):
*# attempt to start the Octave GUI
*# with the program stalled (either at the GUI, or with the black terminal window), open the Task Manager (right click on taskbar, select Task manager), switch to the "Details" tab, find `octave-gui.exe` on that list, ad take note of the corresponding PID (process ID)
*# Open the folder where Octave is installed. You should find a file called `cmdshell.bat` in the main folder. Run that file, which should open a MSYS2 bash (command line) window.
*# At that prompt, run `gdb -p <em>PID</em>` where <em>PID</em> is the process ID noted previously.
*# at the gdb prompt, execute `thread apply all bt`.  (If this returns a list longer than one page you may need to 'continue' by typing `c`.)
*# copy and paste that output into a text file and append it to your trouble report at octave.discourse.group or bug report at bugs.octave.org.
 
* if Octave is immediately crashing and closing:
*# Open the folder where Octave is installed. You should find a file called `cmdshell.bat` in the main folder. Run that file, which should open a MSYS2 bash (command line) window.
*# At that prompt, run `gdb octave`. (that will start gdb attached to the octave executable.)
*# At the gdb prompt, execute `r --gui`.  That should attempt to start the Octave in GUI mode.  The gdb prompt should stay unresponsive as long as octave is running.
*# If octave crashes, the gdb prompt should become responsive again. execute `thread apply all bt`.  (If this returns a list longer than one page you may need to 'continue' by typing `c`.)
*# copy and paste that output into a text file and append it to your trouble report at octave.discourse.group or bug report at bugs.octave.org.


==I do not see any output of my script until it has finished?==
==I do not see any output of my script until it has finished?==
Line 122: Line 150:
==Why is Octave's floating-point computation wrong?==
==Why is Octave's floating-point computation wrong?==


Floating-point arithmetic is an approximation '''in binary''' to arithmetic on real or complex numbers.  Just like you cannot represent 1/3 exactly in decimal arithmetic (0.333333... is only a rough approximation to 1/3), you cannot represent some fractions like <math>1/10</math> exactly in base 2.  In binary, the representation to one tenth is <math>0.0\overline{0011}_b</math> where the bar indicates that it repeats infinitely (like how <math>1/6 = 0.1\overline{6}_d</math> in decimal).  Because this infinite repetition cannot be represented exactly with a finite number of digits, rounding errors occur for values that appear to be exact in decimal but are in fact approximations in binary, such as for example how 0.3 - 0.2 - 0.1 is not equal to zero.
Floating-point arithmetic is an approximation '''in binary''' to arithmetic on real or complex numbers.  Just like you cannot represent 1/3 exactly in decimal arithmetic (0.333333... is only a rough approximation to 1/3 for any finite number of 3s), you cannot represent some fractions like <math>1/10</math> exactly in base 2.  In binary, the representation to one tenth is <math>0.0\overline{0011}_b</math> where the bar indicates that it repeats infinitely (like how <math>1/6 = 0.1\overline{6}_d</math> in decimal).  Because this infinite repetition cannot be represented exactly with a finite number of digits, rounding errors occur for values that appear to be exact in decimal but are in fact approximations in binary, such as for example how 0.3 - 0.2 - 0.1 is not equal to zero.


In addition, some advanced operations are computed by approximation and there is no guarantee for them to be accurate, see [https://en.wikipedia.org/wiki/Rounding#Table-maker.27s_dilemma Table-maker's dilemma] for further references. Their results are system-dependent.
In addition, some advanced operations are computed by approximation and there is no guarantee for them to be accurate, see [https://en.wikipedia.org/wiki/Rounding#Table-maker.27s_dilemma Table-maker's dilemma] for further references. Their results are system-dependent.
153

edits

Navigation menu