You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[BUG]: Application crash when adding atom feed from fileΒ #2407
While adding feed by right clicking a folder and clicking "add new feed" works just fine, when opening an atomfeed from github releases seems to crash the app. I have not tried it before so I do not know if this is a regression or old bug. I
You pass WRONG URL to your RSS Guard!!!!! You dragged the download item from your web browser, therefore the URL in the "Add feed" dialog is WRONG, it is local file path. You must provide correct hand copied URL to the box - https://github.com/getarcaneapp/arcane/releases.atom. I tested carefully and it works here.
If there is really a crash after "Cancel" the dialog, please can you run with GDB or similar debugger and provide the actual backtrace?
I get the same crash with the Flatpak 'text' build. If it helps, here's the gdb stacktrace:
Show
(gdb) bt
#0QAbstractSocket::disconnectFromHost (this=0x555555f071f8)
at /run/build-runtime/qt6-qtbase/src/network/socket/qabstractsocket.cpp:2637
#10x00007ffff4587c14 in QLocalSocket::disconnectFromServer (this=<optimized out>)
at /run/build-runtime/qt6-qtbase/src/network/socket/qlocalsocket_unix.cpp:539
#20x00007ffff7874c62 in operator() (__closure=0x555555efd240)
at /run/build/rssguard/src/librssguard/miscellaneous/singleapplication.cpp:92
#3operator() (__closure=<optimized out>) at /usr/include/QtCore/qobjectdefs_impl.h:116
#4 QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<longunsignedint>, QtPrivate::List<>, void, SingleApplication::processMessageFromOtherInstance()::<lambda()> >::call(SingleApplication::processMessageFromOtherInstance()::<lambda()>&, void**)::<lambda()> > (args=<optimized out>, fn=<optimized out>) at /usr/include/QtCore/qobjectdefs_impl.h:65
#5 QtPrivate::FunctorCall<std::integer_sequence<longunsignedint>, QtPrivate::List<>, void, SingleApplication::processMessageFromOtherInstance()::<lambda()> >::call (f=..., arg=<optimized out>) at /usr/include/QtCore/qobjectdefs_impl.h:115
#6 QtPrivate::FunctorCallable<SingleApplication::processMessageFromOtherInstance()::<lambda()> >::call<QtPrivate::List<>, void>
(f=..., arg=<optimized out>) at /usr/include/QtCore/qobjectdefs_impl.h:337
#7 QtPrivate::QCallableObject<SingleApplication::processMessageFromOtherInstance()::<lambda()>, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *)
(which=<optimized out>, this_=0x555555efd230, r=<optimized out>, a=<optimized out>, ret=<optimized out>)
at /usr/include/QtCore/qobjectdefs_impl.h:547
#80x00007ffff581979a in QtPrivate::QSlotObjectBase::call (this=0x555555efd230, r=0x7fffffffd6a0, a=0x7fffffffd088)
at /run/build-runtime/qt6-qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
#9 doActivate<false> (sender=0x555555f75a00, signal_index=<optimized out>, argv=<optimized out>)
at /run/build-runtime/qt6-qtbase/src/corelib/kernel/qobject.cpp:4273
#100x00007ffff5819c3a in doActivate<false> (sender=0x555555eadff8, signal_index=<optimized out>, argv=0x7fffffffd158, argv@entry=0x0)
at /run/build-runtime/qt6-qtbase/src/corelib/kernel/qobject.cpp:4285
#110x00007ffff5810049 in QMetaObject::activate
(sender=sender@entry=0x555555eadff8, m=m@entry=0x7ffff5cc8d40 <QIODevice::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at /run/build-runtime/qt6-qtbase/src/corelib/kernel/qobject.cpp:4333
#120x00007ffff5769764 in QIODevice::readyRead (this=this@entry=0x555555eadff8)
at /run/build-runtime/qt6-qtbase/src/corelib/Core_autogen/include/moc_qiodevice.cpp:156
#130x00007ffff44db057 in QAbstractSocketPrivate::emitReadyRead (this=0x555555fa5f30, channel=channel@entry=0)
at /run/build-runtime/qt6-qtbase/src/network/socket/qabstractsocket.cpp:1222
#140x00007ffff44dbedf in QAbstractSocketPrivate::canReadNotification (this=<optimized out>)
at /run/build-runtime/qt6-qtbase/src/network/socket/qabstractsocket.cpp:657
#150x00007ffff44e44a9 in QReadNotifier::event (this=<optimized out>, e=<optimized out>)
at /run/build-runtime/qt6-qtbase/src/network/socket/qnativesocketengine.cpp:1242
#160x00007ffff6ba6f9f in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x555555f4d810, e=0x7fffffffd2c0)
at /run/build-runtime/qt6-qtbase/src/widgets/kernel/qapplication.cpp:3305
#170x00007ffff57ae008 in QCoreApplication::notifyInternal2 (receiver=0x555555f4d810, event=0x7fffffffd2c0)
at /run/build-runtime/qt6-qtbase/src/corelib/kernel/qcoreapplication.cpp:1109
#180x00007ffff57ae26d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>)
at /run/build-runtime/qt6-qtbase/src/corelib/kernel/qcoreapplication.cpp:1549
#190x00007ffff5ae80ad in socketNotifierSourceDispatch (source=0x5555555d66d0)
at /run/build-runtime/qt6-qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:77
#200x00007ffff470e18e in g_main_dispatch (context=0x7fffe8000f80) at ../glib/gmain.c:3398
#210x00007ffff470f1bf in g_main_context_dispatch_unlocked (context=0x7fffe8000f80) at ../glib/gmain.c:4249
#22 g_main_context_iterate_unlocked
(context=context@entry=0x7fffe8000f80, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4314
#230x00007ffff470f323 in g_main_context_iteration (context=0x7fffe8000f80, may_block=1) at ../glib/gmain.c:4379
#240x00007ffff5ae6f1d in QEventDispatcherGlib::processEvents (this=0x55555559f9d0, flags=...)
at /run/build-runtime/qt6-qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399
#250x00007ffff57bafe3 in QEventLoop::exec (this=this@entry=0x7fffffffd520, flags=..., flags@entry=...)
at /run/build-runtime/qt6-qtbase/src/corelib/global/qflags.h:77
#260x00007ffff57b68c9 in QCoreApplication::exec () at /run/build-runtime/qt6-qtbase/src/corelib/kernel/qcoreapplication.cpp:1452
#270x00007ffff5ff991d in QGuiApplication::exec () at /run/build-runtime/qt6-qtbase/src/gui/kernel/qguiapplication.cpp:2005
#280x00007ffff6ba6f09 in QApplication::exec () at /run/build-runtime/qt6-qtbase/src/widgets/kernel/qapplication.cpp:2575
#290x000055555555fe92 in main (argc=<optimized out>, argv=0x7fffffffd8e8) at /run/build/rssguard/src/rssguard/main.cpp:214
And here's the application log:
Show
time=" 13.949" type="warning" -> core: Qt localization 'en_US' WAS NOT loaded successfully.
time=" 20.750" type="warning" -> gui: Showing tray icon with little delay.
time=" 23.800" type="warning" -> gui: Tray icon is available, showing now.
time=" 13.010" type="warning" -> core: Qt localization 'en_US' WAS NOT loaded successfully.
time=" 13.325" type="warning" -> core: Another instance of the application is already running. Notifying it.
time=" 13.470" type="warning" -> core: Qt localization 'en_US' WAS NOT loaded successfully.
time=" 20.296" type="warning" -> gui: Showing tray icon with little delay.
time=" 23.468" type="warning" -> gui: Tray icon is available, showing now.
time=" 13.592" type="debug" -> core: Starting to load active localization. Desired localization is 'en_US'.
time=" 13.593" type="debug" -> core: Application localization 'en_US' loaded successfully, specifically sublocalization 'en_US' was loaded.
time=" 13.593" type="warning" -> core: Qt localization 'en_US' WAS NOT loaded successfully.
time=" 13.685" type="debug" -> database: Executed query:
SELECT inf_value FROM Information WHERE inf_key = 'schema_version'
time=" 13.685" type="debug" -> database: Executed query:
PRAGMA foreign_keys=ON;
time=" 13.685" type="debug" -> database: Executed query:
PRAGMA encoding = 'UTF-8';
time=" 13.685" type="debug" -> database: Executed query:
PRAGMA page_size = 32768;
time=" 13.685" type="debug" -> database: Executed query:
PRAGMA cache_size = 32768;
time=" 13.685" type="debug" -> database: Executed query:
PRAGMA mmap_size = 100000000;
time=" 13.685" type="debug" -> database: Executed query:
PRAGMA synchronous = OFF;
time=" 13.685" type="debug" -> database: Executed query:
PRAGMA temp_store = MEMORY;
time=" 13.685" type="debug" -> database: Executed query:
PRAGMA journal_mode = WAL;
time=" 13.685" type="debug" -> database: Executed query:
PRAGMA busy_timeout = 5000;
time=" 13.685" type="debug" -> database: Executed query:
SELECT inf_value FROM Information WHERE inf_key = 'schema_version'
time=" 13.686" type="debug" -> database: Executed query:
PRAGMA optimize;
time=" 13.687" type="debug" -> gui: Available icon theme paths: QList(:/graphics, /home/gui/.var/app/io.github.martinrotter.rssguardlite/config/rssguard5/icons, /app/bin/icons, /app/share/icons, /usr/share/icons, /usr/share/runtime/share/icons, /run/host/user-share/icons, /run/host/share/icons, :/icons)
time=" 13.696" type="debug" -> gui: Installed icon themes are: '', 'Breeze_Light', 'breeze', 'breeze-dark', 'breeze_cursors', 'hicolor', 'Adwaita', 'capitaine-cursors', 'capitaine-cursors-light', 'AdwaitaLegacy', 'default'
time=" 13.696" type="debug" -> gui: Loading default system icon theme.
time=" 13.698" type="debug" -> gui: Found path of base skin: ':/skins/minimal-base'.
time=" 13.699" type="debug" -> gui: Base file ':/skins/minimal-base/html_wrapper.html' exists, using it for the skin.
time=" 13.699" type="debug" -> gui: Local file ':/skins/minimal-light/html_style.css' exists, using it for the skin.
time=" 13.699" type="debug" -> gui: Base file ':/skins/minimal-base/html_enclosure_image.html' exists, using it for the skin.
time=" 13.699" type="debug" -> gui: Base file ':/skins/minimal-base/html_single_message.html' exists, using it for the skin.
time=" 13.699" type="debug" -> gui: Base file ':/skins/minimal-base/html_enclosure_every.html' exists, using it for the skin.
time=" 13.699" type="debug" -> gui: Local file ':/skins/minimal-light/qt_style.qss' exists, using it for the skin.
time=" 13.699" type="debug" -> gui: Base file ':/skins/minimal-base/qt_style_forced.qss' exists, using it for the skin.
time=" 13.699" type="debug" -> gui: OS defines color scheme: 'Qt::ColorScheme::Light'.
time=" 13.699" type="debug" -> gui: Setting style: 'Fusion'.
time=" 13.700" type="debug" -> gui: Activating alternative palette.
time=" 13.700" type="debug" -> gui: Skin 'minimal-light' loaded.
time=" 13.700" type="debug" -> network: Using application-wide proxy to be system's default proxy.
time=" 13.933" type="debug" -> core: RSS Guard version: '5.2.4' revision: 'stable'.
time=" 13.933" type="debug" -> core: Platform: 'wayland'.
time=" 13.933" type="debug" -> database: DB read job (with return) in thread 167.
time=" 13.933" type="debug" -> database: Executed query:
PRAGMA foreign_keys=ON;
time=" 13.933" type="debug" -> database: Executed query:
PRAGMA encoding = 'UTF-8';
time=" 13.933" type="debug" -> database: Executed query:
PRAGMA page_size = 32768;
time=" 13.934" type="debug" -> database: Executed query:
PRAGMA cache_size = 32768;
time=" 13.934" type="debug" -> database: Executed query:
PRAGMA mmap_size = 100000000;
time=" 13.934" type="debug" -> database: Executed query:
PRAGMA synchronous = OFF;
time=" 13.934" type="debug" -> database: Executed query:
PRAGMA temp_store = MEMORY;
time=" 13.934" type="debug" -> database: Executed query:
PRAGMA journal_mode = WAL;
time=" 13.934" type="debug" -> database: Executed query:
PRAGMA busy_timeout = 5000;
time=" 13.934" type="debug" -> database: Executed query:
SELECT sqlite_version();
time=" 13.934" type="debug" -> core: DB version: '3.50.4'.
time=" 13.934" type="debug" -> core: OpenSSL backends: 'QList(cert-only, openssl)'.
time=" 13.935" type="debug" -> core: OpenSSL version: 'OpenSSL 3.5.7 9 Jun 2026'.
time=" 13.935" type="debug" -> core: OpenSSL supported: 'true'.
time=" 13.935" type="debug" -> core: Global thread pool has 16 threads.
time=" 13.935" type="debug" -> core: Main thread ID: '167'.
time=" 13.935" type="debug" -> core: Uses system proxy config: 'true'.
time=" 13.935" type="debug" -> core: Instantiated class 'Application'.
time=" 13.939" type="debug" -> message-model: Repopulate started.
time=" 13.940" type="debug" -> database: DB read job in thread 190.
time=" 13.940" type="debug" -> database: Executed query:
PRAGMA foreign_keys=ON;
time=" 13.940" type="debug" -> database: Executed query:
PRAGMA encoding = 'UTF-8';
time=" 13.940" type="debug" -> database: Executed query:
PRAGMA page_size = 32768;
time=" 13.941" type="debug" -> database: Executed query:
PRAGMA cache_size = 32768;
time=" 13.941" type="debug" -> database: Executed query:
PRAGMA mmap_size = 100000000;
time=" 13.941" type="debug" -> database: Executed query:
PRAGMA synchronous = OFF;
time=" 13.941" type="debug" -> database: Executed query:
PRAGMA temp_store = MEMORY;
time=" 13.941" type="debug" -> database: Executed query:
PRAGMA journal_mode = WAL;
time=" 13.941" type="debug" -> database: Executed query:
PRAGMA busy_timeout = 5000;
time=" 13.941" type="debug" -> database: Executed query:
SELECT Messages.id, Messages.is_read, Messages.is_important, Messages.is_deleted, Messages.is_pdeleted, Messages.feed, Messages.title, Messages.url, Messages.author, Messages.date_created, Messages.date_retrieved, Messages.contents, Messages.enclosures, Messages.score, Messages.account_id, Messages.custom_id, Messages.custom_data, (SELECT GROUP_CONCAT(Labels.custom_id) FROM LabelsInMessages lim JOIN Labels ON lim.label = Labels.id WHERE lim.message = Messages.id) AS msg_labels FROM Messages WHERE 0 > 1 ;
time=" 13.941" type="debug" -> message-model: Repopulated model!
time=" 13.941" type="debug" -> core: Auto-download timer started with interval 10000 ms.
time=" 13.941" type="debug" -> core: Creating FeedDownloader singleton.
time=" 14.010" type="debug" -> gui: Creating main application form in thread: '167'.
time=" 14.107" type="debug" -> gui: Current row changed - proxy 'QModelIndex(-1,-1,0x0,QObject(0x0))' and source 'QModelIndex(-1,-1,0x0,QObject(0x0))'.
time=" 14.107" type="debug" -> message-model: Setting additional ID of article to be excluded from filtering or reselected after model reset to '0'.
time=" 14.107" type="debug" -> gui: Article list header geometries changed.
time=" 14.132" type="debug" -> gui: Article list header geometries changed.
time=" 14.138" type="debug" -> gui: Article list header geometries changed.
time=" 14.139" type="debug" -> gui: Feeds list header geometries changed.
time=" 14.140" type="debug" -> gui: Feeds list header geometries changed.
time=" 14.144" type="debug" -> gui: Article list header geometries changed.
time=" 14.148" type="debug" -> gui: Article list header geometries changed.
time=" 14.150" type="debug" -> gui: Feeds list header geometries changed.
time=" 14.259" type="debug" -> core: Showing the main window when the application is starting.
time=" 14.263" type="debug" -> gui: Article list header geometries changed.
time=" 14.263" type="debug" -> gui: Article list header geometries changed.
time=" 14.264" type="debug" -> gui: Feeds list header geometries changed.
time=" 14.264" type="debug" -> gui: Feeds list header geometries changed.
time=" 14.264" type="debug" -> gui: Feeds list header geometries changed.
time=" 14.265" type="debug" -> gui: Article list header geometries changed.
time=" 14.273" type="debug" -> database: DB read job (with return) in thread 167.
time=" 14.273" type="debug" -> database: Executed query:
SELECT id, name, script, is_enabled, ordr FROM MessageFilters;
time=" 14.274" type="debug" -> core: Checking for plugins in '/app/bin/../lib/rssguard'.
time=" 14.364" type="debug" -> core: Plugin '/app/lib/rssguard/librssguard-feedly.so' loaded.
time=" 14.533" type="debug" -> core: Plugin '/app/lib/rssguard/librssguard-gmail.so' loaded.
time=" 14.657" type="debug" -> core: Plugin '/app/lib/rssguard/librssguard-greader.so' loaded.
time=" 14.766" type="debug" -> core: Plugin '/app/lib/rssguard/librssguard-nextcloud.so' loaded.
time=" 15.075" type="debug" -> core: Plugin '/app/lib/rssguard/librssguard-standard.so' loaded.
time=" 15.201" type="debug" -> core: Plugin '/app/lib/rssguard/librssguard-ttrss.so' loaded.
time=" 17.155" type="debug" -> core: Plugin '/app/lib/rssguard/librssguard-xmpp.so' loaded.
time=" 17.156" type="debug" -> database: DB read job (with return) in thread 167.
time=" 17.156" type="debug" -> database: Executed query:
SELECT * FROM Accounts WHERE type = 'feedly';
time=" 17.156" type="debug" -> database: DB read job (with return) in thread 167.
time=" 17.156" type="debug" -> database: Executed query:
SELECT * FROM Accounts WHERE type = 'gmail';
time=" 17.156" type="debug" -> database: DB read job (with return) in thread 167.
time=" 17.156" type="debug" -> database: Executed query:
SELECT * FROM Accounts WHERE type = 'greader';
time=" 17.156" type="debug" -> database: DB read job (with return) in thread 167.
time=" 17.156" type="debug" -> database: Executed query:
SELECT * FROM Accounts WHERE type = 'nextcloud';
time=" 17.156" type="debug" -> database: DB read job (with return) in thread 167.
time=" 17.156" type="debug" -> database: Executed query:
SELECT * FROM Accounts WHERE type = 'std-rss';
time=" 17.157" type="debug" -> standard: Destructing 'std-rss' plugin.
time=" 17.158" type="debug" -> core: Icon dimensions when deserializing are 'QList(QSize(16, 16), QSize(22, 22), QSize(32, 32), QSize(48, 48), QSize(64, 64), QSize(128, 128), QSize(256, 256))'.
time=" 17.158" type="debug" -> database: DB read job in thread 167.
time=" 17.158" type="debug" -> database: Executed query:
SELECT * FROM Categories WHERE account_id = :account_id;
time=" 17.158" type="debug" -> database: Executed query:
SELECT filter, feed FROM MessageFiltersInFeeds WHERE feed IN (SELECT id FROM Feeds WHERE account_id = :account_id);
time=" 17.159" type="debug" -> database: Executed query:
SELECT * FROM Feeds WHERE account_id = :account_id;
time=" 17.159" type="debug" -> database: Executed query:
SELECT * FROM Labels WHERE account_id = :account_id;
time=" 17.159" type="debug" -> database: Executed query:
SELECT * FROM Probes WHERE account_id = :account_id;
time=" 17.159" type="debug" -> database: DB read job (with return) in thread 167.
time=" 17.159" type="debug" -> database: Executed query:
SELECT feed, COUNT(*), SUM(NOT is_read) FROM Messages WHERE Messages.account_id = 1 AND Messages.is_deleted = 1 AND Messages.is_pdeleted = 0 ;
time=" 17.159" type="debug" -> database: DB read job (with return) in thread 167.
time=" 17.159" type="debug" -> database: Executed query:
SELECT feed, COUNT(*), SUM(NOT is_read) FROM Messages WHERE Messages.account_id = 1 AND Messages.is_deleted = 0 AND Messages.is_pdeleted = 0 AND Messages.is_important = 1 ;
time=" 17.159" type="debug" -> database: DB read job (with return) in thread 167.
time=" 17.159" type="debug" -> database: Executed query:
SELECT feed, COUNT(*), SUM(NOT is_read) FROM Messages WHERE Messages.account_id = 1 AND Messages.is_deleted = 0 AND Messages.is_pdeleted = 0 AND Messages.is_read = 0 ;
time=" 17.159" type="debug" -> database: DB read job (with return) in thread 167.
time=" 17.159" type="debug" -> database: Executed query:
SELECT lim.label, COUNT(*), SUM(NOT m.is_read) FROM LabelsInMessages lim JOIN Messages m ON m.id = lim.message WHERE m.account_id = :account_id AND m.is_deleted = 0 AND m.is_pdeleted = 0 GROUP BY lim.label;
time=" 20.045" type="debug" -> gui: Feed list item expanded - gui (RSS/ATOM/JSON)
time=" 20.051" type="debug" -> database: DB read job (with return) in thread 167.
time=" 20.051" type="debug" -> database: Executed query:
SELECT * FROM Accounts WHERE type = 'tt-rss';
time=" 20.051" type="debug" -> database: DB read job (with return) in thread 167.
time=" 20.052" type="debug" -> database: Executed query:
SELECT * FROM Accounts WHERE type = 'xmpp';
time=" 20.052" type="debug" -> gui: User wants to have tray icon.
time=" 20.052" type="warning" -> gui: Showing tray icon with little delay.
time=" 20.052" type="debug" -> core: No execution message received from other app instances.
time=" 23.021" type="debug" -> gui: Creating tray icon menu.
time=" 23.025" type="warning" -> gui: Tray icon is available, showing now.
time=" 27.343" type="debug" -> core: Received '-a
/tmp/releases.atom' execution message.
time=" 30.086" type="debug" -> gui: Saving size for dialog 'FormDiscoverFeeds'.
This is from v5.2.4, built and run with Qt 6.10.
The crash happens immediately after closing the 'Discover feeds' dialog (after you open an .atom file with RSS Guard).
To be fair, it could be a Flatpak-only thing as well... I haven't tested with the AppImage. I would, but it's kinda late for me right now, so I can test tomorrow if you don't manage to figure out what's going on until then.
Activity
thomasfinstad commentedon Aug 15, 2026
Short screen cap of the issue:
Screencast_20260815_114059.webm
martinrotter commentedon Aug 17, 2026
https://github.com/getarcaneapp/arcane/releases.atom. I tested carefully and it works here.TLDR: There is unrelated crash, but you still insert the URL wrong. Insert the actual URL not the file path. The "local server access" error is error reported by your Nextcloud server - https://github.com/nextcloud/news/blob/4ea6d30162dd91c3af08fde971a0131bed24a135/lib/Fetcher/Client/FeedIoClient.php#L110
martinrotter commentedon Aug 19, 2026
UPDATE: There is no crash for me, cannot reproduce really. Provide the actualy crashing stacktrace or full dump.
guihkx commentedon Aug 19, 2026
I get the same crash with the Flatpak 'text' build. If it helps, here's the gdb stacktrace:
Show
And here's the application log:
Show
This is from v5.2.4, built and run with Qt 6.10.
The crash happens immediately after closing the 'Discover feeds' dialog (after you open an .atom file with RSS Guard).
martinrotter commentedon Aug 19, 2026
OK, si it probably happens only on Linux, I will check and fix.
guihkx commentedon Aug 19, 2026
To be fair, it could be a Flatpak-only thing as well... I haven't tested with the AppImage. I would, but it's kinda late for me right now, so I can test tomorrow if you don't manage to figure out what's going on until then.
martinrotter commentedon Aug 19, 2026
UPDATE: No, it reproduces on Windows too, I see the problem...
fix martinrotter#2407