* bug#51498: onionshare build is broken
@ 2021-10-30 2:53 raid5atemyhomework via Bug reports for GNU Guix
2021-10-30 3:05 ` raid5atemyhomework via Bug reports for GNU Guix
2021-11-01 10:37 ` Efraim Flashner
0 siblings, 2 replies; 6+ messages in thread
From: raid5atemyhomework via Bug reports for GNU Guix @ 2021-10-30 2:53 UTC (permalink / raw)
To: 51498
onionshare is broken on master 89d8417; `guix time-machine --commit=89d8417b371f3918f0508bbc561675ec100a6add -- build onionshare` results in:
```
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/gui_base_test.py:88: in new_share_tab
self.verify_new_tab(tab)
tests/gui_base_test.py:80: in verify_new_tab
self.assertTrue(tab.new_tab.isVisible())
E AssertionError: False is not true
--------------------------- Captured stdout teardown ---------------------------
[Oct 28 2021 04:36:21 AM] MainWindow.closeEvent
[Oct 28 2021 04:36:21 AM] MainWindow.closeEvent, opening warning dialog
[Oct 28 2021 04:36:21 AM] MainWindow.cleanup
[Oct 28 2021 04:36:21 AM] TabWidget.cleanup
[Oct 28 2021 04:36:21 AM] Tab.cleanup: tab_id=8
[Oct 28 2021 04:36:21 AM] Web.stop: stopping server
[Oct 28 2021 04:36:22 AM] Web.cleanup
[Oct 28 2021 04:36:22 AM] Alert.__init__
[Oct 28 2021 04:36:22 AM] OnionCleanupThread.__init__
[Oct 28 2021 04:36:22 AM] OnionCleanupThread.run
[Oct 28 2021 04:36:22 AM] Onion.cleanup
--------------------------- Captured stderr teardown ---------------------------
This plugin does not support propagateSizeHints()
This plugin does not support propagateSizeHints()
---------------------------- Captured log teardown -----------------------------
INFO werkzeug:_internal.py:113 127.0.0.1 - - [28/Oct/2021 04:36:21] "GET /3x7qnpxrxhm3w7pzdxxfntvsvq/shutdown HTTP/1.1" 200 -
============== 6 failed, 8 passed, 5 skipped in 83.88s (0:01:23) ===============
QThread: Destroyed while thread is still running
Fatal Python error: Aborted
Thread 0x00007fffd77fe700 (most recent call first):
File "/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/zipfile.py", line 1139 in write
File "/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/shutil.py", line 205 in copyfileobj
File "/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/zipfile.py", line 1776 in write
File "/gnu/store/qycixjbyhvh2mchlrsbadvrh0p81lgpz-onionshare-cli-2.3.2/lib/python3.8/site-packages/onionshare_cli/web/share_mode.py", line 565 in add_file
File "/gnu/store/qycixjbyhvh2mchlrsbadvrh0p81lgpz-onionshare-cli-2.3.2/lib/python3.8/site-packages/onionshare_cli/web/share_mode.py", line 511 in build_zipfile_list
File "/gnu/store/qycixjbyhvh2mchlrsbadvrh0p81lgpz-onionshare-cli-2.3.2/lib/python3.8/site-packages/onionshare_cli/web/share_mode.py", line 418 in set_file_info_custom
File "/gnu/store/qycixjbyhvh2mchlrsbadvrh0p81lgpz-onionshare-cli-2.3.2/lib/python3.8/site-packages/onionshare_cli/web/send_base_mode.py", line 130 in set_file_info
File "/gnu/store/vz73w4kdk44swsws46kvzvypk2dg6nv3-onionshare-2.3.2/lib/python3.8/site-packages/onionshare/tab/mode/share_mode/threads.py", line 46 in run
Current thread 0x00007ffff785c300 (most recent call first):
<no Python frame>
./tests/run.sh: line 6: 76 Aborted pytest -v tests/test_gui_share.py
command "./tests/run.sh" failed with status 134
builder for `/gnu/store/nwm0wl6ilxgaqwl331fmp3ggxgh706a5-onionshare-2.3.2.drv' failed with exit code 1
build of /gnu/store/nwm0wl6ilxgaqwl331fmp3ggxgh706a5-onionshare-2.3.2.drv failed
View build log at '/var/log/guix/drvs/nw/m0wl6ilxgaqwl331fmp3ggxgh706a5-onionshare-2.3.2.drv.bz2'.
guix build: error: build of `/gnu/store/nwm0wl6ilxgaqwl331fmp3ggxgh706a5-onionshare-2.3.2.drv' failed
```
Doing a `git bisect` got me to this:
* bad: `guix time-machine --commit=ebc274063716a3a9471f51abb526d693c06b9f63 -- build onionshare`
* good: `guix time-machine --commit=c6adc0947396daa6d85ab08837f9cbc86f4d8722 -- build onionshare`
* result: `/gnu/store/gsi65h1zj2wg8wm7c3jy2p1ac8yyynfs-onionshare-2.3.2`
However the bad commit seems to be just an update on `tor` version; I am not certain why it would cause this build failure.
Thanks,
raid5atemyhomework
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#51498: onionshare build is broken
2021-10-30 2:53 bug#51498: onionshare build is broken raid5atemyhomework via Bug reports for GNU Guix
@ 2021-10-30 3:05 ` raid5atemyhomework via Bug reports for GNU Guix
2021-11-01 10:37 ` Efraim Flashner
1 sibling, 0 replies; 6+ messages in thread
From: raid5atemyhomework via Bug reports for GNU Guix @ 2021-10-30 3:05 UTC (permalink / raw)
To: 51498@debbugs.gnu.org; +Cc: Tobias Geerinckx-Rice
CC Tobias
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#51498: onionshare build is broken
2021-10-30 2:53 bug#51498: onionshare build is broken raid5atemyhomework via Bug reports for GNU Guix
2021-10-30 3:05 ` raid5atemyhomework via Bug reports for GNU Guix
@ 2021-11-01 10:37 ` Efraim Flashner
2021-11-05 1:21 ` raid5atemyhomework via Bug reports for GNU Guix
1 sibling, 1 reply; 6+ messages in thread
From: Efraim Flashner @ 2021-11-01 10:37 UTC (permalink / raw)
To: raid5atemyhomework; +Cc: 51498
[-- Attachment #1: Type: text/plain, Size: 4531 bytes --]
On Sat, Oct 30, 2021 at 02:53:28AM +0000, raid5atemyhomework via Bug reports for GNU Guix wrote:
> onionshare is broken on master 89d8417; `guix time-machine --commit=89d8417b371f3918f0508bbc561675ec100a6add -- build onionshare` results in:
>
>
> ```
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> tests/gui_base_test.py:88: in new_share_tab
> self.verify_new_tab(tab)
> tests/gui_base_test.py:80: in verify_new_tab
> self.assertTrue(tab.new_tab.isVisible())
> E AssertionError: False is not true
> --------------------------- Captured stdout teardown ---------------------------
> [Oct 28 2021 04:36:21 AM] MainWindow.closeEvent
> [Oct 28 2021 04:36:21 AM] MainWindow.closeEvent, opening warning dialog
> [Oct 28 2021 04:36:21 AM] MainWindow.cleanup
> [Oct 28 2021 04:36:21 AM] TabWidget.cleanup
> [Oct 28 2021 04:36:21 AM] Tab.cleanup: tab_id=8
> [Oct 28 2021 04:36:21 AM] Web.stop: stopping server
> [Oct 28 2021 04:36:22 AM] Web.cleanup
> [Oct 28 2021 04:36:22 AM] Alert.__init__
> [Oct 28 2021 04:36:22 AM] OnionCleanupThread.__init__
> [Oct 28 2021 04:36:22 AM] OnionCleanupThread.run
> [Oct 28 2021 04:36:22 AM] Onion.cleanup
> --------------------------- Captured stderr teardown ---------------------------
> This plugin does not support propagateSizeHints()
> This plugin does not support propagateSizeHints()
> ---------------------------- Captured log teardown -----------------------------
> INFO werkzeug:_internal.py:113 127.0.0.1 - - [28/Oct/2021 04:36:21] "GET /3x7qnpxrxhm3w7pzdxxfntvsvq/shutdown HTTP/1.1" 200 -
> ============== 6 failed, 8 passed, 5 skipped in 83.88s (0:01:23) ===============
> QThread: Destroyed while thread is still running
> Fatal Python error: Aborted
>
> Thread 0x00007fffd77fe700 (most recent call first):
> File "/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/zipfile.py", line 1139 in write
> File "/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/shutil.py", line 205 in copyfileobj
> File "/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/zipfile.py", line 1776 in write
> File "/gnu/store/qycixjbyhvh2mchlrsbadvrh0p81lgpz-onionshare-cli-2.3.2/lib/python3.8/site-packages/onionshare_cli/web/share_mode.py", line 565 in add_file
> File "/gnu/store/qycixjbyhvh2mchlrsbadvrh0p81lgpz-onionshare-cli-2.3.2/lib/python3.8/site-packages/onionshare_cli/web/share_mode.py", line 511 in build_zipfile_list
> File "/gnu/store/qycixjbyhvh2mchlrsbadvrh0p81lgpz-onionshare-cli-2.3.2/lib/python3.8/site-packages/onionshare_cli/web/share_mode.py", line 418 in set_file_info_custom
> File "/gnu/store/qycixjbyhvh2mchlrsbadvrh0p81lgpz-onionshare-cli-2.3.2/lib/python3.8/site-packages/onionshare_cli/web/send_base_mode.py", line 130 in set_file_info
> File "/gnu/store/vz73w4kdk44swsws46kvzvypk2dg6nv3-onionshare-2.3.2/lib/python3.8/site-packages/onionshare/tab/mode/share_mode/threads.py", line 46 in run
>
> Current thread 0x00007ffff785c300 (most recent call first):
> <no Python frame>
> ./tests/run.sh: line 6: 76 Aborted pytest -v tests/test_gui_share.py
> command "./tests/run.sh" failed with status 134
> builder for `/gnu/store/nwm0wl6ilxgaqwl331fmp3ggxgh706a5-onionshare-2.3.2.drv' failed with exit code 1
> build of /gnu/store/nwm0wl6ilxgaqwl331fmp3ggxgh706a5-onionshare-2.3.2.drv failed
> View build log at '/var/log/guix/drvs/nw/m0wl6ilxgaqwl331fmp3ggxgh706a5-onionshare-2.3.2.drv.bz2'.
> guix build: error: build of `/gnu/store/nwm0wl6ilxgaqwl331fmp3ggxgh706a5-onionshare-2.3.2.drv' failed
> ```
>
> Doing a `git bisect` got me to this:
>
> * bad: `guix time-machine --commit=ebc274063716a3a9471f51abb526d693c06b9f63 -- build onionshare`
> * good: `guix time-machine --commit=c6adc0947396daa6d85ab08837f9cbc86f4d8722 -- build onionshare`
> * result: `/gnu/store/gsi65h1zj2wg8wm7c3jy2p1ac8yyynfs-onionshare-2.3.2`
>
> However the bad commit seems to be just an update on `tor` version; I am not certain why it would cause this build failure.
>
> Thanks,
> raid5atemyhomework
Can you test it again? I was able to build it just now with commit
c0c974ad96767a1e207fe2823cd5479605485415. I was also able to build it
with your provided commit above.
--
Efraim Flashner <efraim@flashner.co.il> רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#51498: onionshare build is broken
2021-11-01 10:37 ` Efraim Flashner
@ 2021-11-05 1:21 ` raid5atemyhomework via Bug reports for GNU Guix
2021-11-05 1:31 ` raid5atemyhomework via Bug reports for GNU Guix
0 siblings, 1 reply; 6+ messages in thread
From: raid5atemyhomework via Bug reports for GNU Guix @ 2021-11-05 1:21 UTC (permalink / raw)
To: Efraim Flashner; +Cc: 51498@debbugs.gnu.org
>
> Can you test it again? I was able to build it just now with commit
> c0c974ad96767a1e207fe2823cd5479605485415. I was also able to build it
> with your provided commit above.
Having diverging results suggests a nondeterministic build, which is bad, right? I'm running on a Guix System machine running directly on the metal.
* bad: `guix time-machine --commit=ebc274063716a3a9471f51abb526d693c06b9f63 -- build onionshare`
```
"""
> tab = self.new_share_tab()
tests/test_gui_share.py:435:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/gui_base_test.py:88: in new_share_tab
self.verify_new_tab(tab)
tests/gui_base_test.py:80: in verify_new_tab
self.assertTrue(tab.new_tab.isVisible())
E AssertionError: False is not true
--------------------------- Captured stdout teardown ---------------------------
[Nov 05 2021 01:00:36 AM] MainWindow.closeEvent
[Nov 05 2021 01:00:36 AM] MainWindow.closeEvent, opening warning dialog
[Nov 05 2021 01:00:37 AM] MainWindow.cleanup
[Nov 05 2021 01:00:37 AM] TabWidget.cleanup
[Nov 05 2021 01:00:37 AM] Tab.cleanup: tab_id=8
[Nov 05 2021 01:00:37 AM] Web.stop: stopping server
[Nov 05 2021 01:00:37 AM] Web.cleanup
[Nov 05 2021 01:00:37 AM] Alert.__init__
[Nov 05 2021 01:00:37 AM] OnionCleanupThread.__init__
[Nov 05 2021 01:00:37 AM] OnionCleanupThread.run
[Nov 05 2021 01:00:37 AM] Onion.cleanup
--------------------------- Captured stderr teardown ---------------------------
This plugin does not support propagateSizeHints()
This plugin does not support propagateSizeHints()
---------------------------- Captured log teardown -----------------------------
INFO werkzeug:_internal.py:113 127.0.0.1 - - [05/Nov/2021 01:00:37] "GET /hpzwg6jwsaxb4bde4qmlh5emeu/shutdown HTTP/1.1" 200 -
============== 6 failed, 8 passed, 5 skipped in 83.87s (0:01:23) ===============
QThread: Destroyed while thread is still running
Fatal Python error: Aborted
Thread 0x00007fffd77fe700 (most recent call first):
File "/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/zipfile.py", line 1139 in write
File "/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/shutil.py", line 205 in copyfileobj
File "/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/zipfile.py", line 1776 in write
File "/gnu/store/qycixjbyhvh2mchlrsbadvrh0p81lgpz-onionshare-cli-2.3.2/lib/python3.8/site-packages/onionshare_cli/web/share_mode.py", line 565 in add_file
File "/gnu/store/qycixjbyhvh2mchlrsbadvrh0p81lgpz-onionshare-cli-2.3.2/lib/python3.8/site-packages/onionshare_cli/web/share_mode.py", line 511 in build_zipfile_list
File "/gnu/store/qycixjbyhvh2mchlrsbadvrh0p81lgpz-onionshare-cli-2.3.2/lib/python3.8/site-packages/onionshare_cli/web/share_mode.py", line 418 in set_file_info_custom
File "/gnu/store/qycixjbyhvh2mchlrsbadvrh0p81lgpz-onionshare-cli-2.3.2/lib/python3.8/site-packages/onionshare_cli/web/send_base_mode.py", line 130 in set_file_info
File "/gnu/store/vz73w4kdk44swsws46kvzvypk2dg6nv3-onionshare-2.3.2/lib/python3.8/site-packages/onionshare/tab/mode/share_mode/threads.py", line 46 in run
Current thread 0x00007ffff785c300 (most recent call first):
<no Python frame>
./tests/run.sh: line 6: 76 Aborted pytest -v tests/test_gui_share.py
command "./tests/run.sh" failed with status 134
builder for `/gnu/store/nwm0wl6ilxgaqwl331fmp3ggxgh706a5-onionshare-2.3.2.drv' failed with exit code 1
build of /gnu/store/nwm0wl6ilxgaqwl331fmp3ggxgh706a5-onionshare-2.3.2.drv failed
View build log at '/var/log/guix/drvs/nw/m0wl6ilxgaqwl331fmp3ggxgh706a5-onionshare-2.3.2.drv.bz2'.
guix build: error: build of `/gnu/store/nwm0wl6ilxgaqwl331fmp3ggxgh706a5-onionshare-2.3.2.drv' failed
```
* bad: `guix time-machine --commit=c0c974ad96767a1e207fe2823cd5479605485415 -- build onionshare`
```
"""
> tab = self.new_share_tab()
tests/test_gui_share.py:435:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/gui_base_test.py:88: in new_share_tab
self.verify_new_tab(tab)
tests/gui_base_test.py:80: in verify_new_tab
self.assertTrue(tab.new_tab.isVisible())
E AssertionError: False is not true
--------------------------- Captured stdout teardown ---------------------------
[Nov 05 2021 01:08:53 AM] MainWindow.closeEvent
[Nov 05 2021 01:08:53 AM] MainWindow.closeEvent, opening warning dialog
[Nov 05 2021 01:08:53 AM] MainWindow.cleanup
[Nov 05 2021 01:08:53 AM] TabWidget.cleanup
[Nov 05 2021 01:08:53 AM] Tab.cleanup: tab_id=8
[Nov 05 2021 01:08:53 AM] Web.stop: stopping server
[Nov 05 2021 01:08:54 AM] Web.cleanup
[Nov 05 2021 01:08:54 AM] Alert.__init__
[Nov 05 2021 01:08:54 AM] OnionCleanupThread.__init__
[Nov 05 2021 01:08:54 AM] OnionCleanupThread.run
[Nov 05 2021 01:08:54 AM] Onion.cleanup
--------------------------- Captured stderr teardown ---------------------------
This plugin does not support propagateSizeHints()
This plugin does not support propagateSizeHints()
---------------------------- Captured log teardown -----------------------------
INFO werkzeug:_internal.py:113 127.0.0.1 - - [05/Nov/2021 01:08:53] "GET /jwkuq4zjiyi6o4dw6lz2uqetlu/shutdown HTTP/1.1" 200 -
============== 6 failed, 8 passed, 5 skipped in 83.97s (0:01:23) ===============
QThread: Destroyed while thread is still running
Fatal Python error: Aborted
Thread 0x00007fffdf7fe700 (most recent call first):
File "/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/zipfile.py", line 1139 in write
File "/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/shutil.py", line 205 in copyfileobj
File "/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/zipfile.py", line 1776 in write
File "/gnu/store/qycixjbyhvh2mchlrsbadvrh0p81lgpz-onionshare-cli-2.3.2/lib/python3.8/site-packages/onionshare_cli/web/share_mode.py", line 565 in add_file
File "/gnu/store/qycixjbyhvh2mchlrsbadvrh0p81lgpz-onionshare-cli-2.3.2/lib/python3.8/site-packages/onionshare_cli/web/share_mode.py", line 511 in build_zipfile_list
File "/gnu/store/qycixjbyhvh2mchlrsbadvrh0p81lgpz-onionshare-cli-2.3.2/lib/python3.8/site-packages/onionshare_cli/web/share_mode.py", line 418 in set_file_info_custom
File "/gnu/store/qycixjbyhvh2mchlrsbadvrh0p81lgpz-onionshare-cli-2.3.2/lib/python3.8/site-packages/onionshare_cli/web/send_base_mode.py", line 130 in set_file_info
File "/gnu/store/vz73w4kdk44swsws46kvzvypk2dg6nv3-onionshare-2.3.2/lib/python3.8/site-packages/onionshare/tab/mode/share_mode/threads.py", line 46 in run
Current thread 0x00007ffff785c300 (most recent call first):
<no Python frame>
./tests/run.sh: line 6: 76 Aborted pytest -v tests/test_gui_share.py
command "./tests/run.sh" failed with status 134
builder for `/gnu/store/nwm0wl6ilxgaqwl331fmp3ggxgh706a5-onionshare-2.3.2.drv' failed with exit code 1
build of /gnu/store/nwm0wl6ilxgaqwl331fmp3ggxgh706a5-onionshare-2.3.2.drv failed
View build log at '/var/log/guix/drvs/nw/m0wl6ilxgaqwl331fmp3ggxgh706a5-onionshare-2.3.2.drv.bz2'.
guix build: error: build of `/gnu/store/nwm0wl6ilxgaqwl331fmp3ggxgh706a5-onionshare-2.3.2.drv' failed
```
* good: `guix time-machine --commit=c6adc0947396daa6d85ab08837f9cbc86f4d8722 -- build onionshare`
* result: `/gnu/store/gsi65h1zj2wg8wm7c3jy2p1ac8yyynfs-onionshare-2.3.2`
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#51498: onionshare build is broken
2021-11-05 1:21 ` raid5atemyhomework via Bug reports for GNU Guix
@ 2021-11-05 1:31 ` raid5atemyhomework via Bug reports for GNU Guix
2022-07-12 3:58 ` Maxim Cournoyer
0 siblings, 1 reply; 6+ messages in thread
From: raid5atemyhomework via Bug reports for GNU Guix @ 2021-11-05 1:31 UTC (permalink / raw)
To: Efraim Flashner; +Cc: 51498@debbugs.gnu.org
> > Can you test it again? I was able to build it just now with commit
> > c0c974ad96767a1e207fe2823cd5479605485415. I was also able to build it
> > with your provided commit above.
>
> Having diverging results suggests a nondeterministic build, which is bad, right? I'm running on a Guix System machine running directly on the metal.
On a Guix on top of a foreign distro, I got:
* good: `guix time-machine --commit=ebc274063716a3a9471f51abb526d693c06b9f63 -- build onionshare`
* result: `/gnu/store/ynkjlqh9sjr72blfvvxrj86cgjpa270l-onionshare-2.3.2`
Looks like nondeterminism?
On the machine where the build is failing, this is the stanza where the tests start going wrong:
```
tests/test_gui_share.py::TestShare::test_401_public_skips_ratelimit PASSED [ 5%]
tests/test_gui_share.py::TestShare::test_401_triggers_ratelimit PASSED [ 10%]
tests/test_gui_share.py::TestShare::test_405_page_returned_for_invalid_methods PASSED [ 15%]
tests/test_gui_share.py::TestShare::test_autostart_and_autostop_timer_mismatch SKIPPED [ 21%]
tests/test_gui_share.py::TestShare::test_autostart_timer SKIPPED [ 26%]
tests/test_gui_share.py::TestShare::test_autostart_timer_cancel PASSED [ 31%]
tests/test_gui_share.py::TestShare::test_autostart_timer_too_short SKIPPED [ 36%]
tests/test_gui_share.py::TestShare::test_autostop_timer SKIPPED [ 42%]
tests/test_gui_share.py::TestShare::test_autostop_timer_too_short SKIPPED [ 47%]
tests/test_gui_share.py::TestShare::test_clear_all_history_button PASSED [ 52%]
tests/test_gui_share.py::TestShare::test_download PASSED [ 57%]
tests/test_gui_share.py::TestShare::test_individual_files PASSED [ 63%]
tests/test_gui_share.py::TestShare::test_individual_files_without_autostop_sharing PASSED [ 68%]
tests/test_gui_share.py::TestShare::test_large_download FAILED [ 73%]
tests/test_gui_share.py::TestShare::test_persistent_password FAILED [ 78%]
tests/test_gui_share.py::TestShare::test_public_mode FAILED [ 84%]
tests/test_gui_share.py::TestShare::test_remove_all_file_selection_button FAILED [ 89%]
tests/test_gui_share.py::TestShare::test_unreadable_file FAILED [ 94%]
tests/test_gui_share.py::TestShare::test_without_autostop_sharing FAILED [100%]
```
Build log github gist: https://gist.github.com/raid5atemyhomework/113e4860b359ab70637eedc032648d3b
Thanks
raid5atemyhomework
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#51498: onionshare build is broken
2021-11-05 1:31 ` raid5atemyhomework via Bug reports for GNU Guix
@ 2022-07-12 3:58 ` Maxim Cournoyer
0 siblings, 0 replies; 6+ messages in thread
From: Maxim Cournoyer @ 2022-07-12 3:58 UTC (permalink / raw)
To: raid5atemyhomework; +Cc: Efraim Flashner, 51498@debbugs.gnu.org
Hi,
raid5atemyhomework <raid5atemyhomework@protonmail.com> writes:
>> > Can you test it again? I was able to build it just now with commit
>> > c0c974ad96767a1e207fe2823cd5479605485415. I was also able to build it
>> > with your provided commit above.
>>
>> Having diverging results suggests a nondeterministic build, which is
>> bad, right? I'm running on a Guix System machine running directly on
>> the metal.
>
> On a Guix on top of a foreign distro, I got:
>
> * good: `guix time-machine --commit=ebc274063716a3a9471f51abb526d693c06b9f63 -- build onionshare`
> * result: `/gnu/store/ynkjlqh9sjr72blfvvxrj86cgjpa270l-onionshare-2.3.2`
>
> Looks like nondeterminism?
>
> On the machine where the build is failing, this is the stanza where the tests start going wrong:
>
> ```
> tests/test_gui_share.py::TestShare::test_401_public_skips_ratelimit PASSED [ 5%]
> tests/test_gui_share.py::TestShare::test_401_triggers_ratelimit PASSED [ 10%]
> tests/test_gui_share.py::TestShare::test_405_page_returned_for_invalid_methods PASSED [ 15%]
> tests/test_gui_share.py::TestShare::test_autostart_and_autostop_timer_mismatch SKIPPED [ 21%]
> tests/test_gui_share.py::TestShare::test_autostart_timer SKIPPED [ 26%]
> tests/test_gui_share.py::TestShare::test_autostart_timer_cancel PASSED [ 31%]
> tests/test_gui_share.py::TestShare::test_autostart_timer_too_short SKIPPED [ 36%]
> tests/test_gui_share.py::TestShare::test_autostop_timer SKIPPED [ 42%]
> tests/test_gui_share.py::TestShare::test_autostop_timer_too_short SKIPPED [ 47%]
> tests/test_gui_share.py::TestShare::test_clear_all_history_button PASSED [ 52%]
> tests/test_gui_share.py::TestShare::test_download PASSED [ 57%]
> tests/test_gui_share.py::TestShare::test_individual_files PASSED [ 63%]
> tests/test_gui_share.py::TestShare::test_individual_files_without_autostop_sharing PASSED [ 68%]
> tests/test_gui_share.py::TestShare::test_large_download FAILED [ 73%]
> tests/test_gui_share.py::TestShare::test_persistent_password FAILED [ 78%]
> tests/test_gui_share.py::TestShare::test_public_mode FAILED [ 84%]
> tests/test_gui_share.py::TestShare::test_remove_all_file_selection_button FAILED [ 89%]
> tests/test_gui_share.py::TestShare::test_unreadable_file FAILED [ 94%]
> tests/test_gui_share.py::TestShare::test_without_autostop_sharing FAILED [100%]
> ```
I was able to reproduce the nondeterministic failure; on my system it
gave:
--8<---------------cut here---------------start------------->8---
=================================== FAILURES ===================================
________________________ TestShare.test_large_download _________________________
self = <tests.test_gui_share.TestShare testMethod=test_large_download>
def test_large_download(self):
"""
Test a large download
"""
tab = self.new_share_tab()
self.run_all_common_setup_tests()
self.run_all_share_mode_setup_tests(tab)
tab.get_mode().server_status.file_selection.file_list.add_file(
self.tmpfile_large
)
> self.run_all_share_mode_started_tests(tab, startup_time=15000)
tests/test_gui_share.py:432:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/test_gui_share.py:183: in run_all_share_mode_started_tests
self.server_is_started(tab, startup_time)
tests/gui_base_test.py:249: in server_is_started
self.assertEqual(tab.get_mode().server_status.status, 2)
E AssertionError: 1 != 2
----------------------------- Captured stdout call -----------------------------
[Jul 11 2022 10:05:58 PM] Tab.share_mode_clicked
[Jul 11 2022 10:05:58 PM] Web.__init__: is_gui=True, mode=share
[Jul 11 2022 10:05:58 PM] Common.get_resource_path: filename=static
[Jul 11 2022 10:05:58 PM] Common.get_resource_path: filename=static, path=/gnu/store/dg59r5qmksn2llkbqxbzj4zw3xvcfppp-onionshare-cli-2.4/lib/python3.9/site-packages/onionshare_cli/resources/static
[Jul 11 2022 10:05:58 PM] Common.get_resource_path: filename=templates
[Jul 11 2022 10:05:58 PM] Common.get_resource_path: filename=templates, path=/gnu/store/dg59r5qmksn2llkbqxbzj4zw3xvcfppp-onionshare-cli-2.4/lib/python3.9/site-packages/onionshare_cli/resources/templates
[Jul 11 2022 10:05:58 PM] Web.generate_static_url_path: new static_url_path is /static_uosd2rkf6txcyiop4jrurdpxtu
[Jul 11 2022 10:05:58 PM] ShareModeWeb.init
[Jul 11 2022 10:05:58 PM] ModeSettings.set: updating undress-coyness-anime: share.filenames = []
[Jul 11 2022 10:05:58 PM] ServerStatus.update
[Jul 11 2022 10:05:58 PM] ServerStatus.update
[Jul 11 2022 10:05:58 PM] ShareMode.update_primary_action
[Jul 11 2022 10:05:58 PM] ModeSettings.set: updating undress-coyness-anime: share.filenames = ['/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/test.txt']
[Jul 11 2022 10:05:58 PM] ServerStatus.update
[Jul 11 2022 10:05:58 PM] ShareMode.update_primary_action
[Jul 11 2022 10:05:58 PM] ModeSettings.set: updating undress-coyness-anime: share.filenames = ['/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/640bf8a6.txt', '/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/test.txt']
[Jul 11 2022 10:05:58 PM] ServerStatus.update
[Jul 11 2022 10:05:58 PM] ShareMode.update_primary_action
[Jul 11 2022 10:05:58 PM] ModeSettings.set: updating undress-coyness-anime: share.filenames = ['/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/640bf8a6.txt', '/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/c31c4eeb.txt', '/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/test.txt']
[Jul 11 2022 10:05:58 PM] ServerStatus.update
[Jul 11 2022 10:05:58 PM] ShareMode.update_primary_action
[Jul 11 2022 10:05:58 PM] ToggleHistory.toggle_clicked
[Jul 11 2022 10:05:58 PM] ModeSettings.set: updating undress-coyness-anime: share.filenames = ['/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/640bf8a6.txt', '/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/c31c4eeb.txt', '/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/test.txt']
[Jul 11 2022 10:05:58 PM] ModeSettings.set: updating undress-coyness-anime: share.filenames = ['/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/640bf8a6.txt', '/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/c31c4eeb.txt', '/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/test.txt']
[Jul 11 2022 10:05:58 PM] ModeSettings.set: updating undress-coyness-anime: share.filenames = ['/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/c31c4eeb.txt', '/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/test.txt']
[Jul 11 2022 10:05:58 PM] ServerStatus.update
[Jul 11 2022 10:05:58 PM] ShareMode.update_primary_action
[Jul 11 2022 10:05:58 PM] ModeSettings.set: updating undress-coyness-anime: share.filenames = ['/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/c31c4eeb.txt', '/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/test.txt']
[Jul 11 2022 10:05:58 PM] ModeSettings.set: updating undress-coyness-anime: share.filenames = ['/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/c31c4eeb.txt', '/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/test.txt']
[Jul 11 2022 10:05:58 PM] ModeSettings.set: updating undress-coyness-anime: share.filenames = ['/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/c31c4eeb.txt', '/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/test.txt']
[Jul 11 2022 10:05:58 PM] ModeSettings.set: updating undress-coyness-anime: share.filenames = ['/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/test.txt']
[Jul 11 2022 10:05:58 PM] ServerStatus.update
[Jul 11 2022 10:05:58 PM] ShareMode.update_primary_action
[Jul 11 2022 10:05:58 PM] ModeSettings.set: updating undress-coyness-anime: share.filenames = ['/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/test.txt']
[Jul 11 2022 10:05:58 PM] ModeSettings.set: updating undress-coyness-anime: share.filenames = ['/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/640bf8a6.txt', '/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/test.txt']
[Jul 11 2022 10:05:58 PM] ServerStatus.update
[Jul 11 2022 10:05:58 PM] ShareMode.update_primary_action
[Jul 11 2022 10:05:58 PM] ModeSettings.set: updating undress-coyness-anime: share.filenames = ['/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/test.txt']
[Jul 11 2022 10:05:58 PM] ServerStatus.update
[Jul 11 2022 10:05:58 PM] ShareMode.update_primary_action
[Jul 11 2022 10:05:58 PM] ModeSettings.set: updating undress-coyness-anime: share.filenames = ['/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/640bf8a6.txt', '/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/test.txt']
[Jul 11 2022 10:05:58 PM] ServerStatus.update
[Jul 11 2022 10:05:58 PM] ShareMode.update_primary_action
[Jul 11 2022 10:05:58 PM] ModeSettings.set: updating undress-coyness-anime: share.filenames = ['/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/640bf8a6.txt', '/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/c31c4eeb.txt', '/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/test.txt']
[Jul 11 2022 10:05:58 PM] ServerStatus.update
[Jul 11 2022 10:05:58 PM] ShareMode.update_primary_action
[Jul 11 2022 10:05:58 PM] ModeSettings.set: updating undress-coyness-anime: share.filenames = ['/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/640bf8a6.txt', '/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/c31c4eeb.txt', '/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/large_file', '/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/test.txt']
[Jul 11 2022 10:05:58 PM] ServerStatus.update
[Jul 11 2022 10:05:58 PM] ShareMode.update_primary_action
[Jul 11 2022 10:05:58 PM] ServerStatus.update
[Jul 11 2022 10:05:58 PM] Mode.start_server
[Jul 11 2022 10:05:58 PM] Mode.start_server: Starting an onion thread
[Jul 11 2022 10:05:58 PM] OnionThread.__init__
[Jul 11 2022 10:05:58 PM] ModeSettings.set: updating undress-coyness-anime: share.filenames = ['/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/640bf8a6.txt', '/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/c31c4eeb.txt', '/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/large_file', '/tmp/guix-build-onionshare-2.4.drv-0/tmpx624akaf/test.txt'][Jul 11 2022 10:05:58 PM] OnionThread.run
[Jul 11 2022 10:05:58 PM] Web.generate_static_url_path: new static_url_path is /static_76kyy3l57efdgiew6xhqlusxca
[Jul 11 2022 10:05:58 PM] OnionShare.start_onion_service
[Jul 11 2022 10:05:59 PM] WebThread.__init__
[Jul 11 2022 10:05:59 PM] WebThread.run[Jul 11 2022 10:05:59 PM] Mode.start_server_step2
[Jul 11 2022 10:05:59 PM] Web.start: port=17618
[Jul 11 2022 10:05:59 PM] CompressThread.__init__
[Jul 11 2022 10:05:59 PM] CompressThread.run
[Jul 11 2022 10:05:59 PM] ShareModeWeb.init
[Jul 11 2022 10:05:59 PM] ShareModeWeb.set_file_info_custom
[Jul 11 2022 10:05:59 PM] ShareModeWeb.build_zipfile_list
----------------------------- Captured stderr call -----------------------------
This plugin does not support setParent!
------------------------------ Captured log call -------------------------------
INFO werkzeug:_internal.py:225 * Running on http://127.0.0.1:17618/ (Press CTRL+C to quit)
__________________________ TestShare.test_public_mode __________________________
self = <tests.test_gui_share.TestShare testMethod=test_public_mode>
def test_public_mode(self):
"""
Public mode shouldn't have a password
"""
> tab = self.new_share_tab()
tests/test_gui_share.py:367:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/gui_base_test.py:88: in new_share_tab
self.verify_new_tab(tab)
tests/gui_base_test.py:80: in verify_new_tab
self.assertTrue(tab.new_tab.isVisible())
E AssertionError: False is not true
----------------------------- Captured stdout call -----------------------------
[Jul 11 2022 10:06:14 PM] Mode.start_server_step3
[Jul 11 2022 10:06:14 PM] ServerStatus.update
[Jul 11 2022 10:06:14 PM] Settings.load
_______________ TestShare.test_remove_all_file_selection_button ________________
self = <tests.test_gui_share.TestShare testMethod=test_remove_all_file_selection_button>
def test_remove_all_file_selection_button(self):
"""
Test remove all file items at once
"""
> tab = self.new_share_tab()
tests/test_gui_share.py:356:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/gui_base_test.py:88: in new_share_tab
self.verify_new_tab(tab)
tests/gui_base_test.py:80: in verify_new_tab
self.assertTrue(tab.new_tab.isVisible())
E AssertionError: False is not true
________________________ TestShare.test_unreadable_file ________________________
self = <tests.test_gui_share.TestShare testMethod=test_unreadable_file>
def test_unreadable_file(self):
"""
Sharing an unreadable file should throw a warning
"""
> tab = self.new_share_tab()
tests/test_gui_share.py:489:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/gui_base_test.py:88: in new_share_tab
self.verify_new_tab(tab)
tests/gui_base_test.py:80: in verify_new_tab
self.assertTrue(tab.new_tab.isVisible())
E AssertionError: False is not true
___________________ TestShare.test_without_autostop_sharing ____________________
self = <tests.test_gui_share.TestShare testMethod=test_without_autostop_sharing>
def test_without_autostop_sharing(self):
"""
Disable autostop sharing after first download
"""
> tab = self.new_share_tab()
tests/test_gui_share.py:379:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/gui_base_test.py:88: in new_share_tab
self.verify_new_tab(tab)
tests/gui_base_test.py:80: in verify_new_tab
self.assertTrue(tab.new_tab.isVisible())
E AssertionError: False is not true
--------------------------- Captured stdout teardown ---------------------------
[Jul 11 2022 10:06:18 PM] MainWindow.closeEvent
[Jul 11 2022 10:06:18 PM] MainWindow.closeEvent, opening warning dialog
[Jul 11 2022 10:06:18 PM] MainWindow.cleanup
[Jul 11 2022 10:06:18 PM] TabWidget.cleanup
[Jul 11 2022 10:06:18 PM] Tab.cleanup: tab_id=8
[Jul 11 2022 10:06:18 PM] Web.stop: stopping server
[Jul 11 2022 10:06:19 PM] Web.cleanup
[Jul 11 2022 10:06:19 PM] Alert.__init__
[Jul 11 2022 10:06:19 PM] OnionCleanupThread.__init__
[Jul 11 2022 10:06:19 PM] OnionCleanupThread.run
[Jul 11 2022 10:06:19 PM] Onion.cleanup
--------------------------- Captured stderr teardown ---------------------------
This plugin does not support propagateSizeHints()
This plugin does not support propagateSizeHints()
---------------------------- Captured log teardown -----------------------------
INFO werkzeug:_internal.py:225 127.0.0.1 - - [11/Jul/2022 22:06:18] "GET /xwpum3u67ltpl525lvd3tgghce/shutdown HTTP/1.1" 200 -
=============================== warnings summary ===============================
tests/conftest.py:75
/tmp/guix-build-onionshare-2.4.drv-0/source/desktop/tests/conftest.py:75: PytestDeprecationWarning: @pytest.yield_fixture is deprecated.
Use @pytest.fixture instead; they are the same.
def temp_dir_1024_delete(temp_dir):
tests/conftest.py:99
/tmp/guix-build-onionshare-2.4.drv-0/source/desktop/tests/conftest.py:99: PytestDeprecationWarning: @pytest.yield_fixture is deprecated.
Use @pytest.fixture instead; they are the same.
def temp_file_1024_delete(temp_dir):
tests/conftest.py:113
/tmp/guix-build-onionshare-2.4.drv-0/source/desktop/tests/conftest.py:113: PytestDeprecationWarning: @pytest.yield_fixture is deprecated.
Use @pytest.fixture instead; they are the same.
@pytest.yield_fixture(scope="session")
tests/conftest.py:126
/tmp/guix-build-onionshare-2.4.drv-0/source/desktop/tests/conftest.py:126: PytestDeprecationWarning: @pytest.yield_fixture is deprecated.
Use @pytest.fixture instead; they are the same.
@pytest.yield_fixture(scope="session")
tests/test_gui_share.py::TestShare::test_405_page_returned_for_invalid_methods
tests/test_gui_share.py::TestShare::test_clear_all_history_button
tests/test_gui_share.py::TestShare::test_client_auth
tests/test_gui_share.py::TestShare::test_individual_files_without_autostop_sharing
tests/test_gui_share.py::TestShare::test_without_autostop_sharing
/gnu/store/dg59r5qmksn2llkbqxbzj4zw3xvcfppp-onionshare-cli-2.4/lib/python3.9/site-packages/onionshare_cli/web/web.py:317: UserWarning: The 'environ['werkzeug.server.shutdown']' function is deprecated and will be removed in Werkzeug 2.1.
func()
tests/test_gui_share.py::TestShare::test_download
tests/test_gui_share.py::TestShare::test_individual_files
/gnu/store/dg59r5qmksn2llkbqxbzj4zw3xvcfppp-onionshare-cli-2.4/lib/python3.9/site-packages/onionshare_cli/web/share_mode.py:387: UserWarning: The 'environ['werkzeug.server.shutdown']' function is deprecated and will be removed in Werkzeug 2.1.
shutdown_func()
-- Docs: https://docs.pytest.org/en/stable/warnings.html
=========================== short test summary info ============================
FAILED tests/test_gui_share.py::TestShare::test_large_download - AssertionErr...
FAILED tests/test_gui_share.py::TestShare::test_public_mode - AssertionError:...
FAILED tests/test_gui_share.py::TestShare::test_remove_all_file_selection_button
FAILED tests/test_gui_share.py::TestShare::test_unreadable_file - AssertionEr...
FAILED tests/test_gui_share.py::TestShare::test_without_autostop_sharing - As...
======== 5 failed, 7 passed, 5 skipped, 11 warnings in 73.66s (0:01:13) ========
error: in phase 'check': uncaught exception:
%exception #<&invoke-error program: "./tests/run.sh" arguments: () exit-status: 1 term-signal: #f stop-signal: #f>
phase `check' failed after 97.3 seconds
command "./tests/run.sh" failed with status 1
--8<---------------cut here---------------end--------------->8---
So the first thing I tried was updating onionshare to 2.5; unfortunately
the tests got even more problematic to run, so I asked guidance upstream
and disabled the test suite for now, after trying to make things work
for a good while (see commit aedd7dc8e085788fbaf066754eb3387edb719335).
At least it won't fail nondeterministically!
Thanks for the report.
Closing.
Maxim
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-07-12 4:00 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-10-30 2:53 bug#51498: onionshare build is broken raid5atemyhomework via Bug reports for GNU Guix
2021-10-30 3:05 ` raid5atemyhomework via Bug reports for GNU Guix
2021-11-01 10:37 ` Efraim Flashner
2021-11-05 1:21 ` raid5atemyhomework via Bug reports for GNU Guix
2021-11-05 1:31 ` raid5atemyhomework via Bug reports for GNU Guix
2022-07-12 3:58 ` Maxim Cournoyer
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).