bugGNU Octave - Bugs: bug #63553, Crash while running tests in...

 
 

bug #63553: Crash while running tests in "jupyter-notebook.tst"

Submitter:  Markus Mützel <mmuetzel>
Submitted:  Tue 20 Dec 2022 07:37:00 PM UTC
 
Category:  Plotting with OpenGL Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Segfault, Bus Error, etc.
Status:  None Assigned to:  None
Originator Name:  Open/Closed:  * Open
Release:  * dev Operating System:  * Microsoft Windows
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment (Rich Markup)
   

Comment Type & Canned Response:
       

 

Wed 25 Jan 2023 04:29:46 PM UTC, comment #3: 

just confirming I'm getting the same behavior trying to run the 8.0.90 test with the w32 version on windows 10.  I notice in particular that after running `test jupyter-notebook.tst`, the test eventually exhausts my available disk space (unscientific estimate of ~20MB/sec at the moment, down about 15GB while I've been watching).  Only realized that when windows gave me a low disk space notice. (peeking in my Temp, I see a 15GB file in there. despite Octave being nonresponsive doing a force close appears to clean it up.)

Nicholas Jankowski <nrjank>
Project Member
Wed 21 Dec 2022 04:19:48 PM UTC, comment #2: 

I tried with a version from MXE Octave without stripped symbols.
However, it doesn't start.

In gdb:

$ OMP_NUM_THREADS=1 gdb -r octave-gui
GNU gdb (GDB) 12.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "i686-w64-mingw32".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from octave-gui...
Expanding full symbols from octave-gui...
(gdb) r
Starting program: D:\octave-2022-12-21-16-33-w32 not stripped\octave-2022-12-21-16-33-w32\mingw32\bin\octave-gui.exe
[New Thread 30968.0x19c4]
[New Thread 30968.0x71f0]
[New Thread 30968.0x600]
[Thread 30968.0x45e8 exited with code 3221225495]
[Thread 30968.0x71f0 exited with code 3221225495]
[Thread 30968.0x600 exited with code 3221225495]
During startup program exited with code 0xc0000017.
(gdb)

IIUC, that means the virtual memory is exhausted.

Maybe, it's really time to give up on 32-bit...

Markus Mützel <mmuetzel>
Project Member
Tue 20 Dec 2022 08:15:31 PM UTC, comment #1: 

Attached is TSAN trace running "test jupyter-notebook.tst"
Besides the usual "data race", there are some "lock-order-inversion (potential deadlock)" warnings.

Dmitri.
--

(file #54128)

Dmitri A. Sergatskov <dasergatskov>
Tue 20 Dec 2022 07:37:00 PM UTC, original submission:  

Octave is crashing while running the test suite on Windows.
E.g.:
https://github.com/gnu-octave/octave-buildbot/actions/runs/3742456258/jobs/6353419811#step:10:1052
With the following lines at the end of the log file:

Magick: caught exception 0xC0000005 "Access violation"...Failed to parse XML contents
unexpected end of file
octave.exe: No error
  fixed\jupyter-notebook\jupyter-notebook.tst ....................

I can reproduce the crash locally by cd-ing to the directory with that test and running `test jupyter-notebook.tst`.

To get a hopefully more helpful backtrace, I rebuilt Octave with the binary packages from MSYS2. With it, I get the following backtrace from the point of the segfault:

(gdb) c
Continuing.
[Thread 11056.0x40d4 exited with code 0]
[New Thread 11056.0xf70]
[New Thread 11056.0x2920]
[Thread 11056.0x2920 exited with code 0]
[New Thread 11056.0x434]
[New Thread 11056.0x6b88]
[New Thread 11056.0x45b0]
[New Thread 11056.0x712c]
[Thread 11056.0x6b88 exited with code 0]
[Thread 11056.0x45b0 exited with code 0]
[Thread 11056.0x712c exited with code 0]
[New Thread 11056.0x55e0]
[New Thread 11056.0x3584]
[New Thread 11056.0x316c]

Thread 15 received signal SIGSEGV, Segmentation fault.
[Switching to Thread 11056.0x55e0]
0x7b040b7a in ?? () from C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispsi.inf_amd64_70c1bf3af5e4f6ee\nvoglv32.dll
(gdb) thread apply all bt

Thread 17 (Thread 11056.0x316c):
#0  0x75c75cbc in win32u!NtUserMsgWaitForMultipleObjectsEx () from C:\WINDOWS\SysWOW64\win32u.dll
#1  0x765d1c81 in USER32!MsgWaitForMultipleObjectsEx () from C:\WINDOWS\SysWOW64\user32.dll
#2  0x765e135f in USER32!MsgWaitForMultipleObjects () from C:\WINDOWS\SysWOW64\user32.dll
#3  0x7bdbe5f5 in nvoglv32!DrvValidateVersion () from C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispsi.inf_amd64_70c1bf3af5e4f6ee\nvoglv32.dll
#4  0x76477d69 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\SysWOW64\kernel32.dll
#5  0x77d4bb9b in ntdll!RtlInitializeExceptionChain () from C:\WINDOWS\SysWOW64\ntdll.dll
#6  0x77d4bb1f in ntdll!RtlClearBits () from C:\WINDOWS\SysWOW64\ntdll.dll
#7  0x00000000 in ?? ()

Thread 16 (Thread 11056.0x3584):
#0  0x77d56b1c in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SysWOW64\ntdll.dll
#1  0x76041aef in WaitForMultipleObjectsEx () from C:\WINDOWS\SysWOW64\KernelBase.dll
#2  0x00000003 in ?? ()
#3  0x6e430bf0 in ?? ()
#4  0x76041948 in WaitForMultipleObjects () from C:\WINDOWS\SysWOW64\KernelBase.dll
#5  0x7bdf2cb5 in nvoglv32!DrvPresentBuffers () from C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispsi.inf_amd64_70c1bf3af5e4f6ee\nvoglv32.dll
#6  0x7bdf2368 in nvoglv32!DrvPresentBuffers () from C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispsi.inf_amd64_70c1bf3af5e4f6ee\nvoglv32.dll
#7  0x76477d69 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\SysWOW64\kernel32.dll
#8  0x77d4bb9b in ntdll!RtlInitializeExceptionChain () from C:\WINDOWS\SysWOW64\ntdll.dll
#9  0x77d4bb1f in ntdll!RtlClearBits () from C:\WINDOWS\SysWOW64\ntdll.dll
#10 0x00000000 in ?? ()

Thread 15 (Thread 11056.0x55e0):
#0  0x7b040b7a in ?? () from C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispsi.inf_amd64_70c1bf3af5e4f6ee\nvoglv--Type <RET> for more, q to quit, c to continue without paging--c
32.dll
#1  0x7bb6ad30 in ?? () from C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispsi.inf_amd64_70c1bf3af5e4f6ee\nvoglv32.dll
#2  0x7bc5436c in ?? () from C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispsi.inf_amd64_70c1bf3af5e4f6ee\nvoglv32.dll
#3  0x7bc53f37 in ?? () from C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispsi.inf_amd64_70c1bf3af5e4f6ee\nvoglv32.dll
#4  0x7bdc64b2 in nvoglv32!DrvValidateVersion () from C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispsi.inf_amd64_70c1bf3af5e4f6ee\nvoglv32.dll
#5  0x76477d69 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\SysWOW64\kernel32.dll
#6  0x77d4bb9b in ntdll!RtlInitializeExceptionChain () from C:\WINDOWS\SysWOW64\ntdll.dll
#7  0x77d4bb1f in ntdll!RtlClearBits () from C:\WINDOWS\SysWOW64\ntdll.dll
#8  0x00000000 in ?? ()

Thread 11 (Thread 11056.0x434):
#0  0x77d56b1c in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SysWOW64\ntdll.dll
#1  0x76041aef in WaitForMultipleObjectsEx () from C:\WINDOWS\SysWOW64\KernelBase.dll
#2  0x00000001 in ?? ()
#3  0x6ccef908 in ?? ()
#4  0x77a40d8c in combase!CStdStubBuffer_Disconnect () from C:\WINDOWS\SysWOW64\combase.dll
#5  0x77a850b3 in combase!CleanupTlsOleState () from C:\WINDOWS\SysWOW64\combase.dll
#6  0x77a40c6c in combase!CStdStubBuffer_Disconnect () from C:\WINDOWS\SysWOW64\combase.dll
#7  0x77a873df in combase!CoQueryClientBlanket () from C:\WINDOWS\SysWOW64\combase.dll
#8  0x76477d69 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\SysWOW64\kernel32.dll
#9  0x77d4bb9b in ntdll!RtlInitializeExceptionChain () from C:\WINDOWS\SysWOW64\ntdll.dll
#10 0x77d4bb1f in ntdll!RtlClearBits () from C:\WINDOWS\SysWOW64\ntdll.dll
#11 0x00000000 in ?? ()

Thread 9 (Thread 11056.0xf70):
#0  0x77d56b1c in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SysWOW64\ntdll.dll
#1  0x76041aef in WaitForMultipleObjectsEx () from C:\WINDOWS\SysWOW64\KernelBase.dll
#2  0x00000001 in ?? ()
#3  0x6bedf030 in ?? ()
#4  0x7702da66 in CryptSIPRetrieveSubjectGuidForCatalogFile () from C:\WINDOWS\SysWOW64\crypt32.dll
#5  0x00000001 in ?? ()
#6  0x6bedf030 in ?? ()
#7  0x76477d69 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\SysWOW64\kernel32.dll
#8  0x77d4bb9b in ntdll!RtlInitializeExceptionChain () from C:\WINDOWS\SysWOW64\ntdll.dll
#9  0x77d4bb1f in ntdll!RtlClearBits () from C:\WINDOWS\SysWOW64\ntdll.dll
#10 0x00000000 in ?? ()

Thread 7 (Thread 11056.0x7474):
#0  0x77d5658c in ntdll!ZwWaitForSingleObject () from C:\WINDOWS\SysWOW64\ntdll.dll
#1  0x7603fcd8 in WaitForSingleObjectEx () from C:\WINDOWS\SysWOW64\KernelBase.dll
#2  0x000006f8 in ?? ()
#3  0x00000000 in ?? ()

Thread 6 (Thread 11056.0x483c):
#0  0x77d5839c in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SysWOW64\ntdll.dll
#1  0x77d1ee48 in ntdll!TpCallbackIndependent () from C:\WINDOWS\SysWOW64\ntdll.dll
#2  0x76477d69 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\SysWOW64\kernel32.dll
#3  0x77d4bb9b in ntdll!RtlInitializeExceptionChain () from C:\WINDOWS\SysWOW64\ntdll.dll
#4  0x77d4bb1f in ntdll!RtlClearBits () from C:\WINDOWS\SysWOW64\ntdll.dll
#5  0x00000000 in ?? ()

Thread 5 (Thread 11056.0x339c):
#0  0x77d5839c in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SysWOW64\ntdll.dll
#1  0x77d1ee48 in ntdll!TpCallbackIndependent () from C:\WINDOWS\SysWOW64\ntdll.dll
#2  0x76477d69 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\SysWOW64\kernel32.dll
#3  0x77d4bb9b in ntdll!RtlInitializeExceptionChain () from C:\WINDOWS\SysWOW64\ntdll.dll
#4  0x77d4bb1f in ntdll!RtlClearBits () from C:\WINDOWS\SysWOW64\ntdll.dll
#5  0x00000000 in ?? ()

Thread 4 (Thread 11056.0x19dc):
#0  0x77d5839c in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SysWOW64\ntdll.dll
#1  0x77d1ee48 in ntdll!TpCallbackIndependent () from C:\WINDOWS\SysWOW64\ntdll.dll
#2  0x76477d69 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\SysWOW64\kernel32.dll
#3  0x77d4bb9b in ntdll!RtlInitializeExceptionChain () from C:\WINDOWS\SysWOW64\ntdll.dll
#4  0x77d4bb1f in ntdll!RtlClearBits () from C:\WINDOWS\SysWOW64\ntdll.dll
#5  0x00000000 in ?? ()

Thread 3 (Thread 11056.0x77bc):
#0  0x77d5839c in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SysWOW64\ntdll.dll
#1  0x77d1ee48 in ntdll!TpCallbackIndependent () from C:\WINDOWS\SysWOW64\ntdll.dll
#2  0x76477d69 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\SysWOW64\kernel32.dll
#3  0x77d4bb9b in ntdll!RtlInitializeExceptionChain () from C:\WINDOWS\SysWOW64\ntdll.dll
#4  0x77d4bb1f in ntdll!RtlClearBits () from C:\WINDOWS\SysWOW64\ntdll.dll
#5  0x00000000 in ?? ()

Thread 2 (Thread 11056.0x51e0):
#0  0x77d5839c in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SysWOW64\ntdll.dll
#1  0x77d1ee48 in ntdll!TpCallbackIndependent () from C:\WINDOWS\SysWOW64\ntdll.dll
#2  0x76477d69 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\SysWOW64\kernel32.dll
#3  0x77d4bb9b in ntdll!RtlInitializeExceptionChain () from C:\WINDOWS\SysWOW64\ntdll.dll
#4  0x77d4bb1f in ntdll!RtlClearBits () from C:\WINDOWS\SysWOW64\ntdll.dll
#5  0x00000000 in ?? ()

Thread 1 (Thread 11056.0x3208):
#0  0x77d567bc in ntdll!ZwQueryInformationThread () from C:\WINDOWS\SysWOW64\ntdll.dll
#1  0x76049dab in KERNELBASE!GetExitCodeThread () from C:\WINDOWS\SysWOW64\KernelBase.dll
#2  0x7bdc4809 in nvoglv32!DrvValidateVersion () from C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispsi.inf_amd64_70c1bf3af5e4f6ee\nvoglv32.dll
#3  0x7bc56225 in ?? () from C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispsi.inf_amd64_70c1bf3af5e4f6ee\nvoglv32.dll
#4  0x7af94ab0 in ?? () from C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispsi.inf_amd64_70c1bf3af5e4f6ee\nvoglv32.dll
#5  0x62259f8e in glGetIntegerv () from C:\WINDOWS\SysWOW64\opengl32.dll
#6  0x1d9e0b83 in octave::opengl_renderer::get_viewport_scaled (this=0x11fd380) at ../libinterp/corefcn/gl-render.cc:4206
#7  0x1d9ec84d in octave::opengl_renderer::setup_opengl_transformation (this=0x11fd380, props=...) at ../libinterp/corefcn/gl-render.cc:1307
#8  0x1d9fd089 in octave::opengl_renderer::draw_axes (this=this@entry=0x11fd380, props=...) at ../libinterp/corefcn/gl-render.cc:2331
#9  0x1ddb8d43 in octave::gl2ps_renderer::draw_axes (this=0x11fd380, props=...) at ../libinterp/corefcn/gl2ps-print.cc:159
#10 0x1d9e0216 in octave::opengl_renderer::draw (this=0x11fd380, go=..., toplevel=false) at ../libinterp/corefcn/gl-render.cc:744
#11 0x1d9e90cf in octave::opengl_renderer::draw (this=this@entry=0x11fd380, hlist=..., toplevel=toplevel@entry=false) at ../libinterp/corefcn/gl-render.cc:4170
#12 0x1d9e967e in octave::opengl_renderer::draw_figure (this=0x11fd380, props=...) at libinterp/corefcn/graphics.h:1890
#13 0x1d9e0216 in octave::opengl_renderer::draw (this=0x11fd380, go=..., toplevel=true) at ../libinterp/corefcn/gl-render.cc:744
#14 0x1da04668 in octave::gl2ps_renderer::draw (this=<optimized out>, go=..., print_cmd=...) at ../libinterp/corefcn/gl2ps-print.cc:481
#15 0x1da05635 in octave::gl2ps_print (glfcns=..., fig=..., stream="| \"D:\\Octave\\Octave-mingw32\\.build\\src\\octave-svgconvert.exe - svg 161.96 \"D:\\Octave\\Octave-mingw32\\.build\\..\\etc\\fonts\\FreeSans.otf\" 1 \"C:\\msys64\\tmp\\oct-uluvwp\\temp.svg\"\"", term="svg") at ../libinterp/corefcn/gl2ps-print.cc:1642
#16 0x10b1cd0d in octave::GLCanvas::do_print (this=0x6a555f60, file_cmd=..., term=..., handle=...) at ../libgui/graphics/GLCanvas.cc:181
#17 0x10b1621f in octave::Canvas::print (term=..., file_cmd=..., this=<optimized out>) at ../libgui/graphics/Canvas.h:67
#18 octave::Figure::print (this=<optimized out>, file_cmd=..., term=...) at ../libgui/graphics/Figure.cc:324
#19 0x10b24b91 in octave::Object::slotPrint (this=this@entry=0x6af06a68, file_cmd=..., term=...) at ../libgui/graphics/Object.cc:158
#20 0x10b4ef54 in octave::Object::qt_static_metacall (_o=0x6af06a68, _c=QMetaObject::InvokeMetaMethod, _id=11, _a=0x6a2f8bf0) at libgui/graphics/moc-Object.cc:148
#21 0x6004692d in QMetaCallEvent::placeMetaCall(QObject*) () from C:\msys64\mingw32\bin\Qt5Core.dll
#22 0x6004ad26 in QObject::event(QEvent*) () from C:\msys64\mingw32\bin\Qt5Core.dll
#23 0x60fc7cec in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from C:\msys64\mingw32\bin\Qt5Widgets.dll
#24 0x10bd6371 in octave::octave_qapplication::notify (this=0x668fad08, receiver=0x6af06a68, ev=0x6aef5ae8) at ../libgui/src/octave-qobject.cc:148
#25 0x6002039c in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from C:\msys64\mingw32\bin\Qt5Core.dll
#26 0x60026546 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from C:\msys64\mingw32\bin\Qt5Core.dll
#27 0x600730d7 in QEventDispatcherWin32::sendPostedEvents() () from C:\msys64\mingw32\bin\Qt5Core.dll
#28 0x66b9569c in QWindowsGuiEventDispatcher::sendPostedEvents() () from C:\msys64\mingw32\share\qt5\plugins\platforms\qwindows.dll
#29 0x600766e6 in QEventDispatcherWin32::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from C:\msys64\mingw32\bin\Qt5Core.dll
#30 0x66b95677 in QWindowsGuiEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from C:\msys64\mingw32\share\qt5\plugins\platforms\qwindows.dll
#31 0x6001f089 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from C:\msys64\mingw32\bin\Qt5Core.dll
#32 0x60027305 in QCoreApplication::exec() () from C:\msys64\mingw32\bin\Qt5Core.dll
#33 0x10bd367d in octave::base_qobject::exec (this=this@entry=0x11ff7d8) at ../libgui/src/octave-qobject.cc:424
#34 0x10be0205 in octave::qt_application::execute (this=0x11ffbac) at ../libgui/src/qt-application.cc:102
#35 0x003322b6 in wmain (argc=8, wargv=0x668e3d10) at ../src/main-gui.cc:150
#36 0x003312f2 in __tmainCRTStartup () at C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/crtexe.c:265
#37 0x76477d69 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\SysWOW64\kernel32.dll
#38 0x77d4bb9b in ntdll!RtlInitializeExceptionChain () from C:\WINDOWS\SysWOW64\ntdll.dll
#39 0x77d4bb1f in ntdll!RtlClearBits () from C:\WINDOWS\SysWOW64\ntdll.dll
#40 0x00000000 in ?? ()
(gdb)

Markus Mützel <mmuetzel>
Project Member

 

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

Attach Files:
   
   
Comment:
   

Attached Files
file #54128:  tsan_jupiter.txt.gz added by dasergatskov (84KiB - application/gzip)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by nrjank (Posted a comment)
  • -email is unavailable- added by dasergatskov (Updated the item)
  • -email is unavailable- added by mmuetzel (Submitted the item)
  • -email is unavailable- added by mmuetzel
  •  

    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 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2022-12-20 dasergatskov Attached File- Added tsan_jupiter.txt.gz, #54128
    2022-12-20 mmuetzel Carbon-Copy- Added jwe

    Back to the top

    Powered by Savane 3.10