Author Topic: PixInsight Prerelease Version: 1.8.4.1189  (Read 10351 times)

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
PixInsight Prerelease Version: 1.8.4.1189
« on: 2015 November 08 16:15:39 »
Hi all,

I have uploaded installation packages for a prerelease of the next version of PixInsight, which I plan on releasing as soon as possible:

Linux:
https://pixinsight.com/tmp/1.8.4/PI-linux-x86_64-01.08.04.1189-20151108-c.tar.gz

OS X:
https://pixinsight.com/tmp/1.8.4/PI-macosx-x86_64-01.08.04.1189-20151108-c.zip

Windows:
https://pixinsight.com/tmp/1.8.4/PI-windows-x86_64-01.08.04.1189-20151108-c.exe

This version implements a fully scalable core application with support for high-density screen resolutions, including 4K and 5K monitors, as well as high-dpi modes on OS X with Retina displays.

The FreeBSD version should also be available in a few days. As you probably know, the OS X version has been particularly difficult, and has required a huge amount of work during the last months. It still has a few known problems:

- Image windows fail to be rendered occasionally. When this happens, the image is shown as a gray rectangle and moving the mouse over it sort of "paints" it. This has no major consequences, happens rarely, and can be solved by simply zooming in/out the image. This is a harmless but extremely ugly bug that I'll try to fix before the final release.

- Tool windows cause flicker when section bars are collapsed/extended in high-dpi modes. This does not happen in normal video modes.

- Mouse cursors are often not updated correctly when dragging icons across the workspace, especially in high-dpi modes. However, this has no consequence on the behavior of dragged icons.

- Some icons are still not available in high-dpi versions, especially on tools like HistogramTransformation and CurvesTransformation. Of course the icons are visible, but are rendered a bit too small on high-dpi screens.

Other than these issues, IMO this version works really well on OS X.

The Windows version has a small problem with bold fonts, which look a bit ugly. This will be fixed also before the official release. There is also a small bug that sometimes (rarely) causes a fake settings write error upon application termination, without any consequences.

The Linux version is... well, the reference implementation.

All comments, bug reports and opinions will be greatly appreciated.

Enjoy!
« Last Edit: 2015 November 08 16:21:52 by Juan Conejero »
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline pfile

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 4729
Re: PixInsight Prerelease Version: 1.8.4.1189
« Reply #1 on: 2015 November 08 21:45:19 »
juan, just FYI -

Code: [Select]
Process:               updater3 [6213]
Path:                  /Applications/PixInsight_01.08.04.1189/PixInsight.app/Contents/MacOS/updater3
Identifier:            updater3
Version:               ???
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           PixInsight [6198]
User ID:               10017

Date/Time:             2015-11-08 21:43:27.172 -0800
OS Version:            Mac OS X 10.10.5 (14F27)
Report Version:        11
Anonymous UUID:        6C9CB022-AD83-02BA-0031-1F5CA3CE1F3B


Time Awake Since Boot: 280000 seconds

Crashed Thread:        0

Exception Type:        EXC_BREAKPOINT (SIGTRAP)
Exception Codes:       0x0000000000000002, 0x0000000000000000

Application Specific Information:
dyld: launch, loading dependent libraries

Dyld Error Message:
  Library not loaded: QtWidgets.framework/Versions/5/QtWidgets
  Referenced from: /Applications/PixInsight_01.08.04.1189/PixInsight.app/Contents/MacOS/updater3
  Reason: image not found

Binary Images:
    0x7fff685c4000 -     0x7fff685fa887  dyld (353.2.3) <B1B370A5-479F-3533-8AD7-97B687D4F989> /usr/lib/dyld
    0x7fff853a4000 -     0x7fff853b2ff7  com.apple.opengl (11.1.2 - 11.1.2) <5F355713-4637-33CD-9CBA-4B4CA43FB0FE> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
    0x7fff85d76000 -     0x7fff868f7ff7  com.apple.AppKit (6.9 - 1348.17) <E485D56D-3E72-34B7-99BB-BFDEE2D07BF5> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
    0x7fff895f8000 -     0x7fff895f8fff  com.apple.ApplicationServices (48 - 48) <5BF7910B-C328-3BF8-BA4F-CE52B574CE01> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
    0x7fff89b24000 -     0x7fff89b96fff  com.apple.framework.IOKit (2.0.2 - 1050.20.2) <09C0518C-90DF-3FC3-96D6-34D35F72C8EF> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
    0x7fff8df5f000 -     0x7fff8df64fff  com.apple.DiskArbitration (2.6 - 2.6) <0DFF4D9B-2AC3-3B82-B5C5-30F4EFBD2DB9> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration

don't know what updater3 does, but updater1 seems to have worked at least.

rob

Offline pfile

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 4729
Re: PixInsight Prerelease Version: 1.8.4.1189
« Reply #2 on: 2015 November 08 22:24:40 »
btw, i noticed this in the console:

* Maximum number of simultaneous open files: 10240.

i'm on 10.10.5 and have not done anything to change the OS's open file limit... but i was able to integrate 477 images together just now which is far greater than the ~200 i used to be able to do. i assume you found a workaround for the OSX open file limits?

also i see these warnings in system.log:

Code: [Select]
11/8/2015 9:40:15.813 PM PixInsight[6188]: WARNING: The Gestalt selector gestaltSystemVersion is returning 10.9.5 instead of 10.10.5. Use NSProcessInfo's operatingSystemVersion property to get correct system version number.
Call location:
11/8/2015 9:40:15.813 PM PixInsight[6188]: 0   CarbonCore                          0x00007fff90ab52b7 ___Gestalt_SystemVersion_block_invoke + 113
11/8/2015 9:40:15.813 PM PixInsight[6188]: 1   libdispatch.dylib                   0x00007fff853b4c13 _dispatch_client_callout + 8
11/8/2015 9:40:15.813 PM PixInsight[6188]: 2   libdispatch.dylib                   0x00007fff853b4b26 dispatch_once_f + 117
11/8/2015 9:40:15.813 PM PixInsight[6188]: 3   CarbonCore                          0x00007fff90a3e456 _Gestalt_SystemVersion + 987
11/8/2015 9:40:15.813 PM PixInsight[6188]: 4   CarbonCore                          0x00007fff90a3d6e3 Gestalt + 144
11/8/2015 9:40:15.813 PM PixInsight[6188]: 5   QtCore                              0x0000000112a6ae26 _ZN9QInternal12callFunctionENS_16InternalFunctionEPPv + 2006
11/8/2015 9:40:15.813 PM PixInsight[6188]: 6   ???                                 0x00007fff61049d0b 0x0 + 140734821080331
11/8/2015 9:40:24.000 PM kernel[0]: Sandbox: PixInsight(6188) System Policy: deny file-write-unlink /Volumes/newHome/Users/pfile/Library/Saved Application State/com.pleiades-astrophoto.PixInsight.savedState/restorecount.plist

not sure if those are serious or not...

rob

Offline pfile

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 4729
Re: PixInsight Prerelease Version: 1.8.4.1189
« Reply #3 on: 2015 November 08 23:00:23 »
after loading a quite large project created with 1183:

Code: [Select]
PixInsight 01.08.04.1189 - Critical Signal Backtrace
Signal : 11
Module : 0   PixInsight                          0x000000010dd9b716 curl_slist_free_all + 1709683
========================================================================================================================
28: 1   libsystem_platform.dylib            0x00007fff908dff1a _sigtramp + 26
27: 2   ???                                 0x00007fff52f2b1d0 0x0 + 140734585024976
26: 3   QtWidgets                           0x0000000110ce3329 _ZN7QWidgetD2Ev + 73
25: 4   PixInsight                          0x000000010db20ad6 start + 14959542
24: 5   PixInsight                          0x000000010db2203c start + 14965020
23: 6   QtCore                              0x0000000111cbb3e9 _ZN11QMetaObject8activateEP7QObjectiiPPv + 2953
22: 7   QtCore                              0x0000000111cb3e10 _ZN7QObject5eventEP6QEvent + 48
21: 8   QtWidgets                           0x0000000110cb4953 _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent + 307
20: 9   QtWidgets                           0x0000000110cb7c46 _ZN12QApplication6notifyEP7QObjectP6QEvent + 8022
19: 10  PixInsight                          0x000000010ce0df76 start + 1251414
18: 11  QtCore                              0x0000000111c8ac23 _ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent + 115
17: 12  QtCore                              0x0000000111cdc8f6 _ZN14QTimerInfoList14activateTimersEv + 1286
16: 13  libqcocoa.dylib                     0x00000001154a4b42 qt_plugin_instance + 103074
15: 14  CoreFoundation                      0x00007fff88566a01 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
14: 15  CoreFoundation                      0x00007fff88558b8d __CFRunLoopDoSources0 + 269
13: 16  CoreFoundation                      0x00007fff885581bf __CFRunLoopRun + 927
12: 17  CoreFoundation                      0x00007fff88557bd8 CFRunLoopRunSpecific + 296
11: 18  HIToolbox                           0x00007fff88ac056f RunCurrentEventLoopInMode + 235
10: 19  HIToolbox                           0x00007fff88ac02ea ReceiveNextEventCommon + 431
9: 20  HIToolbox                           0x00007fff88ac012b _BlockUntilNextEventMatchingListInModeWithFilter + 71
8: 21  AppKit                              0x00007fff85e078ab _DPSNextEvent + 978
7: 22  AppKit                              0x00007fff85e06e58 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 346
6: 23  AppKit                              0x00007fff85dfcaf3 -[NSApplication run] + 594
5: 24  libqcocoa.dylib                     0x00000001154a57ba qt_plugin_instance + 106266
4: 25  QtCore                              0x0000000111c8837c _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE + 412
3: 26  QtCore                              0x0000000111c8b1ca _ZN16QCoreApplication4execEv + 346
2: 27  PixInsight                          0x000000010ce21cbb start + 1332635
1: 28  PixInsight                          0x000000010ccdc754 start + 52
========================================================================================================================

then when trying to switch from workspace 6 to workspace 5, PI crashed:

Code: [Select]

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGABRT)
Exception Codes:       EXC_I386_GPFLT

Application Specific Information:
abort() called
*** error for object 0x600002ae8a80: Invalid pointer dequeued from free list
 

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        0x00007fff8a669286 __pthread_kill + 10
1   libsystem_c.dylib              0x00007fff8bc2f9b3 abort + 129
2   libsystem_malloc.dylib        0x00007fff8e866f4f nanozone_error + 524
3   libsystem_malloc.dylib        0x00007fff8e85cce3 _nano_malloc_check_clear + 370
4   libsystem_malloc.dylib        0x00007fff8e85d21a nano_calloc + 73
5   libsystem_malloc.dylib        0x00007fff8e857b90 malloc_zone_calloc + 78
6   com.apple.AppKit              0x00007fff85fcf1e1 -[NSApplication _commonBeginModalSessionForWindow:relativeToWindow:modalDelegate:didEndSelector:contextInfo:] + 647
7   com.apple.AppKit              0x00007fff85fcef47 -[NSApplication beginModalSessionForWindow:] + 37
8   libqcocoa.dylib                0x00000001154a5b2f 0x115484000 + 138031
9   libqcocoa.dylib                0x00000001154a56a8 0x115484000 + 136872
10  org.qt-project.QtCore          0x0000000111c8837c QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 412
11  org.qt-project.QtWidgets      0x0000000110ea484a QDialog::exec() + 522
12  software.pleiades.PixInsight  0x000000010cd5333a start + 486426
13  software.pleiades.PixInsight  0x000000010dd4b4e8 curl_slist_free_all + 1381445
14  software.pleiades.PixInsight  0x000000010dc3b147 curl_slist_free_all + 266404
15  software.pleiades.PixInsight  0x000000010ce0e16d start + 1251917
16  org.qt-project.QtCore          0x0000000111c8ac23 QCoreApplication::notifyInternal(QObject*, QEvent*) + 115
17  org.qt-project.QtWidgets      0x0000000110ceda7f QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 3119
18  org.qt-project.QtWidgets      0x0000000110cee36b QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 1227
19  org.qt-project.QtWidgets      0x0000000110cede17 QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 4039
20  org.qt-project.QtWidgets      0x0000000110cee36b QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 1227
21  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
22  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
23  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
24  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
25  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
26  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
27  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
28  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
29  org.qt-project.QtWidgets      0x0000000110cede17 QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 4039
30  org.qt-project.QtWidgets      0x0000000110cee36b QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 1227
31  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
32  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
33  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
34  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
35  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
36  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
37  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
38  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
39  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
40  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
41  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
42  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
43  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
44  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
45  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
46  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
47  org.qt-project.QtWidgets      0x0000000110cee1f9 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 857
48  org.qt-project.QtWidgets      0x0000000110cede17 QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 4039
49  org.qt-project.QtWidgets      0x0000000110cc1355 QWidgetBackingStore::doSync() + 4181
50  org.qt-project.QtWidgets      0x0000000110cc02e6 QWidgetBackingStore::sync(QWidget*, QRegion const&) + 294
51  org.qt-project.QtWidgets      0x0000000110d13b43 0x110c83000 + 592707
52  org.qt-project.QtWidgets      0x0000000110cb4953 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 307
53  org.qt-project.QtWidgets      0x0000000110cb7c46 QApplication::notify(QObject*, QEvent*) + 8022
54  software.pleiades.PixInsight  0x000000010ce0df76 start + 1251414
55  org.qt-project.QtCore          0x0000000111c8ac23 QCoreApplication::notifyInternal(QObject*, QEvent*) + 115
56  org.qt-project.QtGui          0x0000000111320301 QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) + 321
57  org.qt-project.QtGui          0x0000000111307da7 QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 215
58  libqcocoa.dylib                0x0000000115494640 0x115484000 + 67136
59  org.qt-project.QtGui          0x0000000111326393 QWindow::setVisible(bool) + 947
60  org.qt-project.QtWidgets      0x0000000110cf1d7b QWidgetPrivate::show_sys() + 827
61  org.qt-project.QtWidgets      0x0000000110cf2caf QWidgetPrivate::show_helper() + 447
62  org.qt-project.QtWidgets      0x0000000110cf3743 QWidget::setVisible(bool) + 947
63  software.pleiades.PixInsight  0x000000010db183b7 start + 14924951
64  org.qt-project.QtCore          0x0000000111cbb3e9 QMetaObject::activate(QObject*, int, int, void**) + 2953
65  software.pleiades.PixInsight  0x000000010db914ec start + 15420876
66  org.qt-project.QtCore          0x0000000111cbb3e9 QMetaObject::activate(QObject*, int, int, void**) + 2953
67  org.qt-project.QtWidgets      0x00000001110541d4 0x110c83000 + 4002260
68  org.qt-project.QtCore          0x0000000111cbb3e9 QMetaObject::activate(QObject*, int, int, void**) + 2953
69  org.qt-project.QtWidgets      0x000000011104d1bf QStackedLayout::currentChanged(int) + 63
70  org.qt-project.QtWidgets      0x0000000110cd9edd QStackedLayout::setCurrentIndex(int) + 733
71  software.pleiades.PixInsight  0x000000010d87adbe start + 12183198
72  software.pleiades.PixInsight  0x000000010db16c31 start + 14918929
73  software.pleiades.PixInsight  0x000000010db225c8 start + 14966440
74  org.qt-project.QtWidgets      0x0000000110cf406b QWidget::event(QEvent*) + 1675
75  org.qt-project.QtWidgets      0x0000000110de7d4d QFrame::event(QEvent*) + 45
76  org.qt-project.QtWidgets      0x0000000110ded26e QLabel::event(QEvent*) + 254
77  org.qt-project.QtWidgets      0x0000000110cb4953 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 307
78  org.qt-project.QtWidgets      0x0000000110cb7ff8 QApplication::notify(QObject*, QEvent*) + 8968
79  software.pleiades.PixInsight  0x000000010ce0df76 start + 1251414
80  org.qt-project.QtCore          0x0000000111c8ac23 QCoreApplication::notifyInternal(QObject*, QEvent*) + 115
81  org.qt-project.QtWidgets      0x0000000110cb5304 QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) + 1012
82  org.qt-project.QtWidgets      0x0000000110d147b5 0x110c83000 + 595893
83  org.qt-project.QtWidgets      0x0000000110d139df 0x110c83000 + 592351
84  org.qt-project.QtWidgets      0x0000000110cb4953 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 307
85  org.qt-project.QtWidgets      0x0000000110cb7c46 QApplication::notify(QObject*, QEvent*) + 8022
86  software.pleiades.PixInsight  0x000000010ce0df76 start + 1251414
87  org.qt-project.QtCore          0x0000000111c8ac23 QCoreApplication::notifyInternal(QObject*, QEvent*) + 115
88  org.qt-project.QtGui          0x000000011131c8fe QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) + 2078
89  org.qt-project.QtGui          0x0000000111307e2a QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 346
90  libqcocoa.dylib                0x00000001154a6861 0x115484000 + 141409
91  com.apple.CoreFoundation      0x00007fff88566a01 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
92  com.apple.CoreFoundation      0x00007fff88558b8d __CFRunLoopDoSources0 + 269
93  com.apple.CoreFoundation      0x00007fff885581bf __CFRunLoopRun + 927
94  com.apple.CoreFoundation      0x00007fff88557bd8 CFRunLoopRunSpecific + 296
95  com.apple.HIToolbox            0x00007fff88ac056f RunCurrentEventLoopInMode + 235
96  com.apple.HIToolbox            0x00007fff88ac01ee ReceiveNextEventCommon + 179
97  com.apple.HIToolbox            0x00007fff88ac012b _BlockUntilNextEventMatchingListInModeWithFilter + 71
98  com.apple.AppKit              0x00007fff85e078ab _DPSNextEvent + 978
99  com.apple.AppKit              0x00007fff85e06e58 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 346
100 com.apple.AppKit              0x00007fff85dfcaf3 -[NSApplication run] + 594
101 libqcocoa.dylib                0x00000001154a57ba 0x115484000 + 137146
102 org.qt-project.QtCore          0x0000000111c8837c QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 412
103 org.qt-project.QtCore          0x0000000111c8b1ca QCoreApplication::exec() + 346
104 software.pleiades.PixInsight  0x000000010ce21cbb start + 1332635
105 software.pleiades.PixInsight  0x000000010ccdc754 start + 52


Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Re: PixInsight Prerelease Version: 1.8.4.1189
« Reply #4 on: 2015 November 09 03:37:42 »
Hi Rob,

Thank you for testing this prerelease version.

don't know what updater3 does, but updater1 seems to have worked at least.

updater3 shows a simple dialog box with a progress bar while updates are being applied by the PixInsightUpdater (updater1) program. updater3 isn't a critical component so it cannot stop an ongoing update process if it fails.

I forgot to apply install_name_tool to define the position of Qt libraries in the updater3 executable. This is now fixed, thank you for detecting it.
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Re: PixInsight Prerelease Version: 1.8.4.1189
« Reply #5 on: 2015 November 09 03:57:21 »
Quote
i'm on 10.10.5 and have not done anything to change the OS's open file limit... but i was able to integrate 477 images together just now which is far greater than the ~200 i used to be able to do. i assume you found a workaround for the OSX open file limits?

Yes, and the funny part is that it has been in front of my face for a long time. The following code fragment shows the initial lines of PixInsight Core's main function:

Code: [Select]
int main( int argc, char** argv, char** envp )
{
   /*
    * We start by initializing the PCL exception handling system and performing
    * other platform-specific initializations and optimizations.
    */

#ifdef __PCL_X11
   /*
    * Initialize Xlib support for concurrent threads on X11. XInitThreads()
    * must be the first Xlib call made by the application:
    * http://www.x.org/archive/X11R6.8.1/doc/XInitThreads.3.html
    */
   (void)XInitThreads();
#endif

#ifdef __PCL_MACOSX
   /*
    * On OS X, the default maximum number of open files for a process is 256.
    * Try to increase this number with setrlimit():
    * https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man2/setrlimit.2.html
    * http://stackoverflow.com/questions/3166783/how-to-increase-the-limit-of-maximum-open-files-in-c-on-mac-os-x
    *
    * On Linux, the OPEN_MAX constant has been deprecated:
    * http://stackoverflow.com/questions/14042824/where-is-open-max-defined-for-linux-systems
    *
    * N.B.: Do not call any stdio function (such as printf()) before doing this
    * or the call to setrlimit will fail.
    */
   {
      struct rlimit rl;
      if ( getrlimit( RLIMIT_NOFILE, &rl ) == 0 )
      {
         rl.rlim_cur = Min( (rlim_t)OPEN_MAX, rl.rlim_max );
         if ( setrlimit( RLIMIT_NOFILE, &rl ) == 0 )
            goto __nofile_ok;
      }
      std::cerr << IsoString().Format( "\n** Warning: Unable to increase the maximum number of open files to %lld.\n",
                                       (long long)rl.rlim_cur ) << std::flush;
__nofile_ok:
      ;
   }
#endif

#ifdef __PCL_WINDOWS

   /*
    * Initialize the PCL Win32 exception handling system.
    */
   pcl::Win32Exception::Initialize();

   /*
    * There is no console output for a GUI application on Windows.
    */
   pcl::Exception::EnableGUIOutput();

   /*
    * Win32 specific: Set the maximum possible number of simultaneously open
    * files at the "stdio level":
    * https://msdn.microsoft.com/en-us/library/6e3b887c.aspx
    */
   (void)_setmaxstdio( 2048 );

#else // !__PCL_WINDOWS

   /*
    * On UNIX/Linux, set a minimum stack size of 8 MiB by calling setrlimit().
    * On Windows, the reserved stack size is hard coded in the executable
    * header using specific linker options.
    */
   {
      const rlim_t minStackSize = 8L*1024L*1024L;
      struct rlimit rl;
      if ( getrlimit( RLIMIT_STACK, &rl ) == 0 )
      {
         if ( rl.rlim_cur >= minStackSize )
            goto __stack_ok;
         if ( rl.rlim_max >= minStackSize )
         {
            rl.rlim_cur = minStackSize;
            if ( setrlimit( RLIMIT_STACK, &rl ) == 0 )
               goto __stack_ok;
         }
      }
      std::cerr << IsoString().Format( "\n** Warning: Unable to set the stack size to %.1lf MiB.\n",
                                       minStackSize/1024/1024.0 ) << std::flush;
__stack_ok:
      ;
   }

   /*
    * On UNIX/Linux we attempt to improve priority of our main thread by
    * setting nice=0. Obviously, if we are not root, this only allows us to be
    * competitive w.r.t other regular running processes. Despite that, a user
    * with administrative privileges can manually renice the application.
    *
    * If the --realtime argument is specified, we'll try to set the SCHED_FIFO
    * scheduling policy with maximum priority later, which will override this
    * setting, or will fail if the process has not been started with enough
    * privileges.
    */
   (void)setpriority( PRIO_PROCESS, getpid(), -20 );

   /*
    * Clear the global errno variable.
    */
   errno = 0;

   /*
    * Initialize the asynchronous signal handling system.
    */
   pcl::UnixSignalException::Initialize();

   /*
    * During the initial stages, enable stdout exception output.
    */
   pcl::Exception::EnableConsoleOutput();

#endif // __PCL_WINDOWS

   ...
}

Here you can see the code that requests an increase in the maximum number of simultaneous open files on OS X. It is a simple call to setrlimit(). This call was always failing in previous versions because I was calling some stdio.h functions, mainly printf(), before setrlimit(). See the URLs in the code comments, especially the link to an important thread on StackOverflow. No stdio function can be called before setrlimit(), because by doing so internal structures are initialized, including internal lists of file descriptors with the default size of 256. Once I have avoided those calls, setrlimit() works perfectly on OS X. It always amazes me how extremely simple things can go unnoticed causing so important problems...
« Last Edit: 2015 November 09 05:30:38 by Juan Conejero »
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Re: PixInsight Prerelease Version: 1.8.4.1189
« Reply #6 on: 2015 November 09 05:46:18 »
Quote
then when trying to switch from workspace 6 to workspace 5, PI crashed:

From the backtrace, the crash originates in Qt code (QWidgetPrivate::drawWidget). Is this problem repeatable? does it happen each time you perform the same sequence of actions with this project?
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Re: PixInsight Prerelease Version: 1.8.4.1189
« Reply #7 on: 2015 November 09 07:50:54 »
Hi Rob,

I've managed to reproduce this problem also on Linux while loading a huge project, but PixInsight has continued working without problems after catching the segfault. The problem happened upon changing the current workspace (I have a backtrace that shows this clearly), and I've been able to get it just once, so far I cannot reproduce it again. It is important to know if you can reproduce it.
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline pfile

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 4729
Re: PixInsight Prerelease Version: 1.8.4.1189
« Reply #8 on: 2015 November 09 09:20:04 »
ok i will try again. only problem is that the project is pretty massive, so uploading it won't be a lot of fun...

rob

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Re: PixInsight Prerelease Version: 1.8.4.1189
« Reply #9 on: 2015 November 09 09:25:30 »
No need to upload the project, I've managed to reproduce the same problem. I think I've fixed it now. I'll upload a modified application bundle so you can check if the fix works.
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline pfile

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 4729
Re: PixInsight Prerelease Version: 1.8.4.1189
« Reply #10 on: 2015 November 09 09:43:50 »
great, thanks!

Offline bcole

  • Newcomer
  • Posts: 3
Re: PixInsight Prerelease Version: 1.8.4.1189
« Reply #11 on: 2015 November 11 03:15:55 »
Hi,

I'm a user on OSX 10.10 with Retina macbook. I used other QT based apps in the past, and encountered same problem I see on PI (the test version posted here).
On Retina display you can either use native resolutions or 'Scaled' (to have more space):



Using a scaled resolution on a Retina, PI does not scale correctly and makes everything huge (below is the splash screen, that does not contain the whole splash image because it's painted too big, same thing with activation screen with huge buttons):



Looking around on the QT documentation, I think this link explains how it works maybe (there's a screenshot of Retina 'Scaled' and not 'Native' resolution like mine):

http://blog.qt.io/blog/2013/04/25/retina-display-support-for-mac-os-ios-and-x11/

Hopefully this is useful to make it work on all Retina resolutions, Native and Scaled. Using my Macbook at Native resolution the problem disappears and splash screen and activation screens all are back to normal proportions.

Looking forward to test more with a full trial, I'm a dev so I'm open to give more tests or debug if you'll have a verbose test release. Probably a solution might be to go on Preferences and adjust the UI settings manually! Once the trial of new version will be out (thanks for your email Juan) I'll test it out and report what settings work on Scaled resolution.

Ben

« Last Edit: 2015 November 11 04:22:26 by bcole »

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Re: PixInsight Prerelease Version: 1.8.4.1189
« Reply #12 on: 2015 November 11 07:21:41 »
Hi Ben,

Welcome to PixInsight Forum, and thank you for testing the new version. These scaling problems should not happen with version 1.8.4.1189. Are you using build 1187?

Hopefully a new prerelease version will be available tomorrow on software distribution for trial and commercial licenses. I'll announce it here.
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline mschuster

  • PTeam Member
  • PixInsight Jedi
  • *****
  • Posts: 1087
Re: PixInsight Prerelease Version: 1.8.4.1189
« Reply #13 on: 2015 November 11 07:58:59 »
These scaling problems should not happen with version 1.8.4.1189.

I may not understand how this is suppose to work, but to me 1189 has scaling problems on my 5k iMac.

https://dl.dropboxusercontent.com/u/109232477/PixInsight/checkerboard.fit

Here is a 100x100 pixel "checkerboard" image. Open it in PI 1189, it appears in a new image window at 1:1 zoom, and looks like a checkerboard. But it is actually scaled up 2x. Each white and black square in the image is actually a 2x2 box of high-res pixels. This is easy to see in a screen capture.

Now zoom the image window out to 1:2. It appears smaller, and it looks gray. Take a screen capture. It is in fact flat gray, with no checkerboard pattern present.

Basically I want to be able to get a checkerboard of high-res pixels. Does not seem possible.

So it looks to me like 1189 PI is not taking advantage of high-res.

Thanks,
Mike

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Re: PixInsight Prerelease Version: 1.8.4.1189
« Reply #14 on: 2015 November 11 08:56:33 »
Quote
Basically I want to be able to get a checkerboard of high-res pixels. Does not seem possible.

It is actually impossible with scaled resolutions. Text, icons, controls and vector graphics are rendered at the physical display resolution on scaled Retina displays. However, images are always rendered in logical screen coordinates. There are three main reasons for this:

1. Rendering images at the physical display resolution would only be beneficial at 1:2 zoom ratio. At 1:1 and larger ratios there is no advantage. At zoom ratios smaller than 1:2 there is no advantage either. Open your chessboard image with the Preview application (as PNG) and compare it with PixInsight's rendition at different zoom ratios.

2. Rendering images at the physical display resolution in scaled modes would require a complete rewrite of PixInsight's internal image rendering routines, as well as lots of API components, since the mapping from logical to viewport/image coordinates would change drastically. All of that would only allow drawing 'nice' images at 1:2 zoom ratio. The cost in terms of increased API complexity is not justified IMO.

3. PixInsight is not for screen image presentations. It is an image processing application, where screen image renditions at reduced zoom ratios are just conventional, reasonably accurate but not necessarily optimal representations in the aesthetic sense (for example, to achieve nice renditions at all scales some smart filtering would be necessary). That said, I plan on implementing an image preview feature that will render images at full screen using the physical display resolution. Not a priority, though.

In scaled modes on OS X, you get Control.displayPixelRatio = 1 because the logical coordinate system is 2560 x 1440. However, Control.resourcePixelRatio = 2 to reflect the ratio between physical and logical pixels.

If you select the native monitor resolution of 5120 x 2880 pixels in your iMac 5K, you'll get Control.displayPixelRatio = 2 and Control.resourcePixelRatio = 1. Then the logical coordinate system will work in physical pixel units, just as high-density video modes work on Windows and Linux.

I know this is not the answer most Mac users want to hear, but it is the truth about scaled resolutions on OS X.
Juan Conejero
PixInsight Development Team
http://pixinsight.com/