Hacker News new | ask | show | jobs
by MichaelZuo 1037 days ago
FYI there may be a bug with the mac version on Mojave.

I tried testing it out just now by copying a 5 million row by 14 column selection of random data, ~620MB, and it completely freezes up right after hitting command-c on my 2019 macbook pro 15. Even after waiting minutes, it's still frozen.

1 comments

I would expect this to take some time, but not minutes. I'll see if I can make it quicker and if not, I'll have to add a progress bar.
I'm using this on Windows 11 and it's locking up trying to copy a single cell. As in, here's the entire repro:

1. Open Modern CSV.

2. Open any file.

3. Select any cell.

4. Hit ctrl-c.

Expected: The cell contents would be copied.

Actual: The program becomes completely unresponsive with high CPU usage and must be force-quit.

Happy to help however I can, because so far I really like this product and I want to be using it.

I've never seen or heard of this issue. By any chance, could you send me a file that it crashes on? That or a video showing the crash. You can send them here: https://www.moderncsv.com/report-a-bug/
Let me see if I can repro with a sanitized file.

In the meantime, I popped open Process Explorer. Here's a slightly abbreviated stack of the only running thread -- the rest are in waiting states. I don't know much about Qt, so this doesn't really mean anything to me. But it looks like it's maybe some sort of locking issue.

    ntoskrnl.exe!KeSynchronizeExecution+0x7db6
    ntoskrnl.exe!ExAcquireResourceExclusiveLite+0x1eb5
    ntoskrnl.exe!ExAcquireResourceExclusiveLite+0x1e4
    ntoskrnl.exe!KeWaitForSingleObject+0x256
    ntoskrnl.exe!ExWaitForRundownProtectionRelease+0x8de
    ntoskrnl.exe!KiCheckForKernelApcDelivery+0x366
    ntoskrnl.exe!KeSynchronizeExecution+0x469c
    Qt6Core.dll!QAbstractItemModel::endResetModel+0x665
    Qt6Core.dll!QAbstractItemModel::endResetModel+0x6fe
    Qt6Core.dll!QAbstractItemModel::qt_static_metacall+0x1f75
    Qt6Core.dll!QAbstractItemModel::qt_static_metacall+0x1690
    Qt6Core.dll!QAbstractItemModelPrivate::columnsRemoved+0x85d
    Qt6Core.dll!QPersistentModelIndex::QPersistentModelIndex+0x2a
    Qt6Widgets.dll!QAccessibleWidget::window+0xa91d
    Qt6Widgets.dll!QTreeViewPrivate::below+0x7be
    qwindows.dll!qt_plugin_query_metadata_v2+0x6eb3b
    UIAutomationCore.dll!UiaRaiseAutomationEvent+0x6ad2
    ...
    USER32.dll!DispatchMessageW+0x741
    USER32.dll!DispatchMessageW+0x201
    Qt6Core.dll!QEventDispatcherWin32::processEvents+0x509
    Qt6Gui.dll!QWindowsGuiEventDispatcher::processEvents+0x19
    Qt6Core.dll!QEventLoop::exec+0x19f
    Qt6Core.dll!QCoreApplication::exec+0x15d
    Modern CSV.exe+0xb841
    Modern CSV.exe+0x235267
    Modern CSV.exe+0x234812
    KERNEL32.DLL!BaseThreadInitThunk+0x1d
    ntdll.dll!RtlUserThreadStart+0x28
Thanks, though wouldn't it need a progress bar no matter what?

For those scenarios when someone tries to copy 5 million rows by 1000 columns for example.