Open apjanke opened 6 years ago
I see a bunch of these during __run_test_suite__
, too.
libinterp/dldfcn/gzip.cc-tst ................................2018-06-23 01:36 octave-gui[56643] (FSEvents.framework) FSEventStreamFlushSync(): failed assertion '(SInt64)last_id > 0LL'
2018-06-23 01:36 octave-gui[56643] (FSEvents.framework) FSEventStreamFlushSync(): failed assertion '(SInt64)last_id > 0LL'
2018-06-23 01:36 octave-gui[56643] (FSEvents.framework) FSEventStreamFlushSync(): failed assertion '(SInt64)last_id > 0LL'
2018-06-23 01:36:14.466 octave-gui[56643:31314756] Path given to -[NSWorkspace iconForFile:] is not a full path.
2018-06-23 01:36 octave-gui[56643] (FSEvents.framework) FSEventStreamFlushSync(): failed assertion '(SInt64)last_id > 0LL'
2018-06-23 01:36 octave-gui[56643] (FSEvents.framework) FSEventStreamFlushSync(): failed assertion '(SInt64)last_id > 0LL'
2018-06-23 01:36 octave-gui[56643] (FSEvents.framework) FSEventStreamFlushSync(): failed assertion '(SInt64)last_id > 0LL'
2018-06-23 01:36 octave-gui[56643] (FSEvents.framework) FSEventStreamFlushSync(): failed assertion '(SInt64)last_id > 0LL'
2018-06-23 01:36 octave-gui[56643] (FSEvents.framework) FSEventStreamFlushSync(): failed assertion '(SInt64)last_id > 0LL'
2018-06-23 01:36 octave-gui[56643] (FSEvents.framework) FSEventStreamFlushSync(): failed assertion '(SInt64)last_id > 0LL'
2018-06-23 01:36 octave-gui[56643] (FSEvents.framework) FSEventStreamFlushSync(): failed assertion '(SInt64)last_id > 0LL'
2018-06-23 01:36 octave-gui[56643] (FSEvents.framework) FSEventStreamFlushSync(): failed assertion '(SInt64)last_id > 0LL'
2018-06-23 01:36 octave-gui[56643] (FSEvents.framework) FSEventStreamFlushSync(): failed assertion '(SInt64)last_id > 0LL'
2018-06-23 01:36 octave-gui[56643] (FSEvents.framework) FSEventStreamFlushSync(): failed assertion '(SInt64)last_id > 0LL'
Unfortunately, it looks like this is coming from one of Octave's dependencies, and not Octave itself. There's no call to FSEventStreamFlushSync in Octave.
[~/local/repos/octave]
$ grep -r FSEventStreamFlushSync *
It does occur in Qt:
[~/tmp/qt/qt-everywhere-src-5.11.1]
$ grep -r FSEventStreamFlushSync *
qtbase/src/corelib/io/qfilesystemwatcher_fsevents.mm: FSEventStreamFlushSync(stream);
qtbase/src/corelib/io/qfilesystemwatcher_fsevents.mm: // soft-assert in FSEventStreamFlushSync in CarbonCore when no event occurred.
And Octave appears to use the Qt filesystem watcher, only in the File Editor.
[~/local/repos/octave]
$ grep -r QFileSystemWatcher *
libgui/src/m-editor/file-editor-tab.h:#include <QFileSystemWatcher>
libgui/src/m-editor/file-editor-tab.h: QFileSystemWatcher _file_system_watcher;
The actual warning message appears to be emitted by one of Apple's libraries that Qt is linked against.
Patching Qt to remove that FSEventStreamFlushSync(stream)
call got rid of the warning. (Hope it's okay to remove, as stated here.
Done in https://github.com/octave-app/homebrew-octave-app/commit/4950d0a09cc702aa6d4668695a388e58c6ccbab1.
Will probably need to add and switch to a qt-octave-app
formula to keep this clean.
This warning only happens sometimes, too: I rebuilt Octave.app with an unpatched Qt, and when I fired it up, I'm not getting the assertion failure message any more.
For reference: I did switch to a new qt-octave-app
formula.
This needs to be reported upstream to Qt and Apple.
Re-opening so it reminds me to do so.
In the new 4.4.1-u1 beta 2 build, which was built with un-patched Qt, I'm getting this exception message all the time when using it. Annoying for me, and definitely not acceptable for regular users.
Switch back to using the patched Qt for the 4.4.1-u1 release.
Reported upstream to Qt at https://bugreports.qt.io/browse/QTBUG-82102.
Reported upstream to Apple: FB7575571.
I don't know why I procrastinated so long on reporting this upstream. Sorry.
I never heard back from Qt about this; there were never any responses to that bug report.
Looks like it might be fixed in Qt 6, though. I haven't seen this happen at all in any of my Qt6-based 9.x beta builds, like 9.1.0 beta4 or 9.2.0 beta1.
Or maybe it was fixed in newer macOS versions. I finally upgraded from macOS 10.14 to the current macOS in the last year, so I'm on macOS 13 and 14 now. Maybe it just doesn't happen on those macOS versions.
When I fire up the Octave.app 4.4.0 beta build, I get this error message as the first output in the Command Window: