![]() |
#61 |
Bibliophagist
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 38,995
Karma: 153098470
Join Date: Jul 2010
Location: Vancouver
Device: Kobo Sage, Libra Colour, Lenovo M8 FHD, Paperwhite 4, Tolino epos
|
Not sure is this may be relevant but when I have Sigil in a window, the error popup pops up and the main Sigil window does not show up until I close the popup. In full screen, both show up as near as simultaneous as my eyes can see with a blank epub in the main window. Looking back a couple of messages, this seems to match up with what KevinH wrote.
|
![]() |
![]() |
![]() |
#62 |
Enthusiast
![]() Posts: 39
Karma: 46
Join Date: Mar 2017
Device: None
|
WinDbg says the problem causing my crash is an invalid pointer in Qt6Core!QBitArray.
|
![]() |
![]() |
![]() |
#63 |
Guru
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 752
Karma: 2296998
Join Date: Jan 2017
Location: Poland
Device: Various
|
I built Sigil with the last commit and I see that it is OK.
It also handles other files that were causing a crash when calling the epub file directly (or double-clicking), such as those with errors in the container.xml or encryption.xml file. I specifically corrupted the files and Sigil handles the exceptions very nicely. If only it is able to fix the file it does so, and if not it informs that something is wrong. It handles even if the container.xml file is completely missing. I have a feeling that one of these cases could be solved (when an ncx file is missing, but there are entries in the opf file that identify this missing file), but I guess it's a waste of time for such a rare case. Summary: However, creating a new file before the message is the solution. A little strange, but it works. Thank you! @DiapDealer: And as for the differences in Qt (I was worried about that too), I have the June 28 version from your repository, so I guess there are no differences here. Edit: Oops. I was still supposed to test without the maximized Sigil window, but I immediately downloaded a fresh version from github and didn't check that. But I did a test on another “faulty” files on released version 2.3.0 and indeed - when the main window is not maximized this crash problem does not occur. Last edited by BeckyEbook; Today at 02:45 AM. |
![]() |
![]() |
![]() |
#64 |
Resident Curmudgeon
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 75,712
Karma: 134319572
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
|
If someone can build a Windows installer for the current version, I can try it on a Windows 10 system to see if maybe it has something to do with Windows 11. I have both 10 & 11 here.
|
![]() |
![]() |
![]() |
#65 |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 27,849
Karma: 198099188
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
|
That last commit seemed to fix the issue for me as well. Even using my CI version of Qt with Sigil maximized.
|
![]() |
![]() |
![]() |
#66 |
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 8,057
Karma: 5449552
Join Date: Nov 2009
Device: many
|
|
![]() |
![]() |
![]() |
#67 | |
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 8,057
Karma: 5449552
Join Date: Nov 2009
Device: many
|
Quote:
If so, I will clean it up and add in some improvements for ImportEPUB to better handle this specific case. |
|
![]() |
![]() |
![]() |
#68 | |
Enthusiast
![]() Posts: 39
Karma: 46
Join Date: Mar 2017
Device: None
|
Quote:
Is this what you asked for? Code:
[0x0] ntdll!NtWaitForMultipleObjects+0x14 0x8a897e46d8 0x7ff940294030 [0x1] KERNELBASE!WaitForMultipleObjectsEx+0xf0 0x8a897e46e0 0x7ff940293f2e [0x2] KERNELBASE!WaitForMultipleObjects+0xe 0x8a897e49d0 0x7ff941dd1f5a [0x3] kernel32!WerpReportFaultInternal+0x58a 0x8a897e4a10 0x7ff941dd1996 [0x4] kernel32!WerpReportFault+0xbe 0x8a897e4b30 0x7ff940363699 [0x5] KERNELBASE!UnhandledExceptionFilter+0x3d9 0x8a897e4b70 0x7ff9427d5898 [0x6] ntdll!RtlUserThreadStart$filt$0+0xa2 0x8a897e4c90 0x7ff9427bce56 [0x7] ntdll!_C_specific_handler+0x96 0x8a897e4cd0 0x7ff9427d292f [0x8] ntdll!RtlpExecuteHandlerForException+0xf 0x8a897e4d40 0x7ff942782554 [0x9] ntdll!RtlDispatchException+0x244 0x8a897e4d70 0x7ff9427d143e [0xa] ntdll!KiUserExceptionDispatch+0x2e 0x8a897e5480 0x7ff8dbc69139 [0xb] Qt6Core!QBitArray::operator=+0x19 0x8a897e5bb0 0x7ff790b43cba [0xc] Sigil + 0x2c3cba!Sigil+0x2c3cba 0x8a897e5be0 0x7ff7908b5d07 [0xd] Sigil + 0x35d07!Sigil+0x35d07 0x8a897e5dc0 0x7ff8dbd5f734 [0xe] Qt6Core!QMetaCallEvent::placeMetaCall+0x114 0x8a897e6190 0x7ff8dbd60d42 [0xf] Qt6Core!QObject::event+0x1c2 0x8a897e61d0 0x7ff8ddeb918e [0x10] Qt6Widgets!QWidget::event+0xe6e 0x8a897e62e0 0x7ff8de0015df [0x11] Qt6Widgets!QMainWindow::event+0x21f 0x8a897e63c0 0x7ff8dde67127 [0x12] Qt6Widgets!QApplicationPrivate::notify_helper+0x147 0x8a897e6440 0x7ff8dde66733 [0x13] Qt6Widgets!QApplication::notify+0x16f3 0x8a897e6470 0x7ff8dbd11fbc [0x14] Qt6Core!QCoreApplication::notifyInternal2+0x11c 0x8a897e6950 0x7ff8dbd13108 [0x15] Qt6Core!QCoreApplicationPrivate::sendPostedEvents+0x258 0x8a897e69c0 0x7ff8dd9104ef [0x16] Qt6Gui!QWindowsGuiEventDispatcher::sendPostedEvents+0xf 0x8a897e6ac0 0x7ff8dbee4e07 [0x17] Qt6Core!QEventDispatcherWin32::processEvents+0xe7 0x8a897e6af0 0x7ff8dd9104c9 [0x18] Qt6Gui!QWindowsGuiEventDispatcher::processEvents+0x19 0x8a897e9c60 0x7ff7908ae002 [0x19] Sigil + 0x2e002!Sigil+0x2e002 0x8a897e9c90 0x7ff8dbd6efc3 [0x1a] Qt6Core!QObject::objectNameChanged+0x2083 0x8a897e9dc0 0x7ff8dbd69764 [0x1b] Qt6Core!QMetaObject::activate+0x84 0x8a897e9ef0 0x7ff790b6acb0 [0x1c] Sigil + 0x2eacb0!Sigil+0x2eacb0 0x8a897e9f20 0x7ff7908b5d3a [0x1d] Sigil + 0x35d3a!Sigil+0x35d3a 0x8a897e9f80 0x7ff8dbd6efc3 [0x1e] Qt6Core!QObject::objectNameChanged+0x2083 0x8a897ea350 0x7ff8dbd7dd13 [0x1f] Qt6Core!QTest::qWait+0xa13 0x8a897ea480 0x7ff8dbd60be6 [0x20] Qt6Core!QObject::event+0x66 0x8a897ea4b0 0x7ff8dde67127 [0x21] Qt6Widgets!QApplicationPrivate::notify_helper+0x147 0x8a897ea5c0 0x7ff8dde66733 [0x22] Qt6Widgets!QApplication::notify+0x16f3 0x8a897ea5f0 0x7ff8dbd11fbc [0x23] Qt6Core!QCoreApplication::notifyInternal2+0x11c 0x8a897eaad0 0x7ff8dbee4955 [0x24] Qt6Core!QEventDispatcherWin32Private::sendTimerEvent+0xc5 0x8a897eab40 0x7ff8dbee74b1 [0x25] Qt6Core!QEventDispatcherWin32::event+0x311 0x8a897eabc0 0x7ff8dde67127 [0x26] Qt6Widgets!QApplicationPrivate::notify_helper+0x147 0x8a897eac20 0x7ff8dde66733 [0x27] Qt6Widgets!QApplication::notify+0x16f3 0x8a897eac50 0x7ff8dbd11fbc [0x28] Qt6Core!QCoreApplication::notifyInternal2+0x11c 0x8a897eb130 0x7ff8dbd13108 [0x29] Qt6Core!QCoreApplicationPrivate::sendPostedEvents+0x258 0x8a897eb1a0 0x7ff8dd9104ef [0x2a] Qt6Gui!QWindowsGuiEventDispatcher::sendPostedEvents+0xf 0x8a897eb2a0 0x7ff8dbee4e07 [0x2b] Qt6Core!QEventDispatcherWin32::processEvents+0xe7 0x8a897eb2d0 0x7ff8dd9104c9 [0x2c] Qt6Gui!QWindowsGuiEventDispatcher::processEvents+0x19 0x8a897ee440 0x7ff8dbd1bb85 [0x2d] Qt6Core!QEventLoop::exec+0x1f5 0x8a897ee470 0x7ff8dbd126f9 [0x2e] Qt6Core!QCoreApplication::exec+0x169 0x8a897ee520 0x7ff7908d75d9 [0x2f] Sigil + 0x575d9!Sigil+0x575d9 0x8a897ee580 0x7ff790bb90c0 [0x30] Sigil + 0x3390c0!Sigil+0x3390c0 0x8a897efc10 0x7ff790bbb312 [0x31] Sigil + 0x33b312!Sigil+0x33b312 0x8a897efca0 0x7ff941d77374 [0x32] kernel32!BaseThreadInitThunk+0x14 0x8a897efce0 0x7ff94277cc91 [0x33] ntdll!RtlUserThreadStart+0x21 0x8a897efd10 0x0 |
|
![]() |
![]() |
![]() |
#69 |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 27,849
Karma: 198099188
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
|
|
![]() |
![]() |
![]() |
#70 | |
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 8,057
Karma: 5449552
Join Date: Nov 2009
Device: many
|
Quote:
That bug in 2.3.0 that caused the crash was already fixed in master. But since the Sigil we ship has been fully stripped of debug symbols none of the Sigil calls in the stack trace can be deciphered. If you build your own, you can always prevent the symbols from being stripped and then the call stack trace shows you so much more. Thanks! Last edited by KevinH; Today at 09:36 AM. |
|
![]() |
![]() |
![]() |
#71 |
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 8,057
Karma: 5449552
Join Date: Nov 2009
Device: many
|
Okay, as a result of last night's debugging and testing (thank you everyone!), I have made the following changes (hopefully the last ones!) to Sigil master:
1. cleaned up and simplified that reorder when CreateNewBook in LoadFile() in MainWindow 2. Added code to ImportEPUB.cpp to now handle the specific case of both spine toc and manifest entry being present for the NCX but no actual NCX file included. This now results in Dummy2.epub actually loading with just a normal load warnigns that it had to create a NCX since one was missing. I also just hopefully rebuilt the base.ts file - no actual translated strings changed but their line number did given all of the code changes, so that we can quickly get translations up to date in time for a fast follow-on bug fix release. For those who build themselves, feel free to run with the latest master. Last edited by KevinH; Today at 09:37 AM. |
![]() |
![]() |
![]() |
#72 | |
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 8,057
Karma: 5449552
Join Date: Nov 2009
Device: many
|
Quote:
Thanks! |
|
![]() |
![]() |
![]() |
#73 |
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 8,057
Karma: 5449552
Join Date: Nov 2009
Device: many
|
There is one other change I would like people to try ...
In the old Qt5 days, we had to manually record if a Window was Maximized or FullScreen in the settings and then manually restore it to that state in MainWindow.cpp ReadSettings. Given all the fixes to Qt6 related to restoring state, I commented out the calls to showMaximized() and showFullScreen() (see the following lines) in MainWindow.cpp in ReadSettings() that ended up generating an alternative path to when the MainWindow actually appeared (which helped cause the races and related crashes). Code:
QByteArray lastWindowSize = settings.value("geometry", QByteArray()).toByteArray(); if (!lastWindowSize.isEmpty()) restoreGeometry(lastWindowSize); if (MaximizedState) { // showMaximized(); } else if (FullScreenState) { // showFullScreen(); } And Qt6 (at least on macOS) no longer needs special handling for being maxmized or full screen as it is properly recorded and restored now. So if people on Linux and Windows could test that change above to see if Sigil properly remembers and restores Maximized and Full Screen for the next launch without those calls, it might save a bunch of race related issues down the road making first launch much more robust. Thanks! |
![]() |
![]() |
![]() |
#74 |
Guru
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 752
Karma: 2296998
Join Date: Jan 2017
Location: Poland
Device: Various
|
In Windows, it certainly remembers the maximized window.
I specifically deleted all .ini files to make the test more realistic. Setting "maximized=true/false" is written and read correctly. On my single-monitor computer, the fullscreen option always accepts "false". If I manually change it to "true" it is also stored correctly. A worse issue is the return to "fullscreen=false" state, because in fullscreen mode there is no visible title bar, so there is nothing left to do but to remove the "geometry" line completely. |
![]() |
![]() |
![]() |
#75 |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 27,849
Karma: 198099188
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
|
Both Windows and Linux versions of Sigil can remember its maximized Window with those lines commented out, but I don't know the first thing about fullscreen. None of the methods or shortcuts for entering fullscreen mode have ever worked for Sigil for me on Linux (Cinnamon) or Windows. Ever. I'm not complaining, mind you. I despise fullscreen mode.
![]() I'm pretty sure we'd have to do some sort of coding to fully support fullscreen mode for Sigil on Windows or Linux. EDIT: the incredible shrinking stacked dockwidget from https://www.mobileread.com/forums/sh...1&postcount=99 still persists, I'm afraid (with or without these recently commented lines) Last edited by DiapDealer; Today at 11:11 AM. |
![]() |
![]() |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Updated CC (3.5.6) crashes upon opening | SuzDavid | Calibre Companion | 16 | 11-22-2014 10:18 AM |
Opening EPUBs in Sigil takes ages [Windows] | Wasserpulle | Sigil | 4 | 12-13-2013 01:05 PM |
SIGIL Crashes When Opening Files on MacBook Pro | WilliamGarner | Sigil | 2 | 10-09-2013 09:07 AM |
Epub crashes on Sigil for Mac, OK on Sigil for PC | crystamichelle | Sigil | 6 | 08-14-2013 02:52 PM |
4.129 crashes upon opening | da_jane | Calibre | 7 | 01-19-2009 02:25 AM |