Bug#947189: gthumb: segfaults when double clicking on the rotate to the right button

2019-12-22 Thread Symphorien Gibol
Package: gthumb
Version: 3:3.8.0-2
Severity: normal

Dear Maintainer,

Steps to reproduce:
* open gthumb
* double click on a photo
* open the "modify file" toolbar
* double click on the "rotate to the right" button

Expected outcome:
the photo is rotated by 180°

Actual outcome:
gthumb segfaults.

gdb is unable to print the whole backtrace with debug symbols (it hangs, using
100% of a CPU forever) so I put here both the backtrace without debug symbols
of coredumpctl debug and the truncated backtrace by gdb:

Signal: 11 (SEGV)
 Timestamp: Sun 2019-12-22 18:57:30 CET (10s ago)
  Command Line: gthumb
Executable: /usr/bin/gthumb
 Control Group: /user.slice/user-1000.slice/user@1000.service/gnome-terminal-
server.service
  Unit: user@1000.service
 User Unit: gnome-terminal-server.service
 Slice: user-1000.slice
 Owner UID: 1000 (plectrude)
   Boot ID: d283f182437547d9bb59f2fd1b4cf745
Machine ID: ca9798c5968d4333b3dd9b9d95d01001
  Hostname: Mouah-PC
   Storage:
/var/lib/systemd/coredump/core.gthumb.1000.d283f182437547d9bb59f2fd1b4cf745.9466.1577037450.lz4
   Message: Process 9466 (gthumb) of user 1000 dumped core.

Stack trace of thread 9466:
#0  0x7fc47d80a310 g_signal_emit_valist
(libgobject-2.0.so.0 + 0x2f310)
#1  0x7fc47d80b81f g_signal_emit (libgobject-2.0.so.0 +
0x3081f)
#2  0x7fc47d7eedc4 g_closure_invoke (libgobject-2.0.so.0 +
0x13dc4)
#3  0x7fc47d8024d4 signal_emit_unlocked_R
(libgobject-2.0.so.0 + 0x274d4)
#4  0x7fc47d80b18f g_signal_emit_valist
(libgobject-2.0.so.0 + 0x3018f)
#5  0x7fc47d80b81f g_signal_emit (libgobject-2.0.so.0 +
0x3081f)
#6  0x7fc47d7eedc4 g_closure_invoke (libgobject-2.0.so.0 +
0x13dc4)
#7  0x7fc47d8024d4 signal_emit_unlocked_R
(libgobject-2.0.so.0 + 0x274d4)
#8  0x7fc47d80b18f g_signal_emit_valist
(libgobject-2.0.so.0 + 0x3018f)
#9  0x7fc47d80b81f g_signal_emit (libgobject-2.0.so.0 +
0x3081f)
#10 0x7fc47d7eedc4 g_closure_invoke (libgobject-2.0.so.0 +
0x13dc4)
#11 0x7fc47d8024d4 signal_emit_unlocked_R
(libgobject-2.0.so.0 + 0x274d4)
#12 0x7fc47d80b18f g_signal_emit_valist
(libgobject-2.0.so.0 + 0x3018f)
#13 0x7fc47d80b81f g_signal_emit (libgobject-2.0.so.0 +
0x3081f)
#14 0x7fc47d7eedc4 g_closure_invoke (libgobject-2.0.so.0 +
0x13dc4)
#15 0x7fc47d8024d4 signal_emit_unlocked_R
(libgobject-2.0.so.0 + 0x274d4)
#16 0x7fc47d80b18f g_signal_emit_valist
(libgobject-2.0.so.0 + 0x3018f)
#17 0x7fc47d80b81f g_signal_emit (libgobject-2.0.so.0 +
0x3081f)
#18 0x7fc47d7eedc4 g_closure_invoke (libgobject-2.0.so.0 +
0x13dc4)
#19 0x7fc47d8024d4 signal_emit_unlocked_R
(libgobject-2.0.so.0 + 0x274d4)
#20 0x7fc47d80b18f g_signal_emit_valist
(libgobject-2.0.so.0 + 0x3018f)
#21 0x7fc47d80b81f g_signal_emit (libgobject-2.0.so.0 +
0x3081f)
#22 0x7fc47d7eedc4 g_closure_invoke (libgobject-2.0.so.0 +
0x13dc4)
#23 0x7fc47d8024d4 signal_emit_unlocked_R
(libgobject-2.0.so.0 + 0x274d4)
#24 0x7fc47d80b18f g_signal_emit_valist
(libgobject-2.0.so.0 + 0x3018f)
#25 0x7fc47d80b81f g_signal_emit (libgobject-2.0.so.0 +
0x3081f)
#26 0x7fc47d7eedc4 g_closure_invoke (libgobject-2.0.so.0 +
0x13dc4)
#27 0x7fc47d8024d4 signal_emit_unlocked_R
(libgobject-2.0.so.0 + 0x274d4)
#28 0x7fc47d80b18f g_signal_emit_valist
(libgobject-2.0.so.0 + 0x3018f)
#29 0x7fc47d80b81f g_signal_emit (libgobject-2.0.so.0 +
0x3081f)
#30 0x7fc47d7eedc4 g_closure_invoke (libgobject-2.0.so.0 +
0x13dc4)
#31 0x7fc47d8024d4 signal_emit_unlocked_R
(libgobject-2.0.so.0 + 0x274d4)
#32 0x7fc47d80b18f g_signal_emit_valist
(libgobject-2.0.so.0 + 0x3018f)
#33 0x7fc47d80b81f g_signal_emit (libgobject-2.0.so.0 +
0x3081f)
#34 0x7fc47d7eedc4 g_closure_invoke (libgobject-2.0.so.0 +
0x13dc4)
#35 0x7fc47d8024d4 signal_emit_unlocked_R
(libgobject-2.0.so.0 + 0x274d4)
#36 0x7fc47d80b18f g_signal_emit_valist
(libgobject-2.0.so.0 + 0x3018f)
#37 0x7fc47d80b81f g_signal_emit (libgobject-2.0.so.0 +
0x3081f)
#38 0x7fc47d7eedc4 g_closure_invoke (libgobject-2.0.so.0 +
0x13dc4)
#39 0x7fc47d8024d4 signal_emit_unlocked_R
(libgobject-2.0.so.0 + 0x274d4)
#40 0x7fc47d80b18f g_signal_emit_valist
(libgobject-2.0.so.0 + 0x3018f)
#41 0x7fc47d80b81f g_signal_emit (libgobject-2.0.so.0 

Bug#944427: duplicity: TypeError while restoring backup of file on external drive with giobackend

2019-11-09 Thread Symphorien Gibol
Package: duplicity
Version: 0.8.05-2
Severity: important
Tags: patch

Dear Maintainer,

Today I tried to restore directory from a backup with deja-dup. The restoration
always failed with the following traceback:

Traceback (innermost last):
  File "/usr/bin/duplicity", line 107, in 
with_tempdir(main)
  File "/usr/bin/duplicity", line 93, in with_tempdir
fn()
  File "/usr/lib/python3/dist-packages/duplicity/dup_main.py", line 1521, in
main
action = commandline.ProcessCommandLine(sys.argv[1:])
  File "/usr/lib/python3/dist-packages/duplicity/commandline.py", line 1216, in
ProcessCommandLine
backup, local_pathname = set_backend(args[0], args[1])
  File "/usr/lib/python3/dist-packages/duplicity/commandline.py", line 1087, in
set_backend
globals.backend = backend.get_backend(bend)
  File "/usr/lib/python3/dist-packages/duplicity/backend.py", line 225, in
get_backend
obj = get_backend_object(url_string)
  File "/usr/lib/python3/dist-packages/duplicity/backend.py", line 211, in
get_backend_object
return factory(pu)
  File "/usr/lib/python3/dist-packages/duplicity/backends/giobackend.py", line
81, in __init__
ensure_dbus()
  File "/usr/lib/python3/dist-packages/duplicity/backends/giobackend.py", line
37, in ensure_dbus
lines = output.split(u'\n')
 TypeError: a bytes-like object is required, not 'str'

The folder in question is on a secondary, ntfs drive. If I try to restore a
file on the main drive,
no error happens. This is probably because deja-dup does not use the gio
backend in this case.

The following patch fixes the problem for me:

--- /tmp/foo.py 2019-11-09 22:52:50.535057865 +0100
+++ /usr/lib/python3/dist-packages/duplicity/backends/giobackend.py
2019-11-09 22:53:22.780500816 +0100
@@ -33,7 +33,7 @@
 # when required.  So we make sure that such a bus exists and that our
 # environment points to it.
 if u'DBUS_SESSION_BUS_ADDRESS' not in os.environ:
-output = subprocess.Popen([u'dbus-launch'],
stdout=subprocess.PIPE).communicate()[0]
+output = subprocess.Popen([u'dbus-launch'],
stdout=subprocess.PIPE).communicate()[0].decode("utf8", errors="replace")
 lines = output.split(u'\n')
 for line in lines:
 parts = line.split(u'=', 1)




-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.2.0-3-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), 
LANGUAGE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages duplicity depends on:
ii  gnupg  2.2.17-3
ii  libc6  2.29-2
ii  librsync2  2.0.2-1
ii  python33.7.3-1
ii  python3-fasteners  0.12.0-5
ii  python3-future 0.16.0-1
ii  python3-lockfile   1:0.12.2-2

Versions of packages duplicity recommends:
ii  python3-oauthlib  2.1.0-1
ii  python3-paramiko  2.6.0-1
ii  python3-pexpect   4.6.0-1
ii  python3-urllib3   1.24.1-1
ii  rsync 3.1.3-6+b1

Versions of packages duplicity suggests:
pn  lftp 
pn  ncftp
pn  par2 
pn  python3-boto 
ii  python3-pip  18.1-5
pn  python3-swiftclient  
pn  tahoe-lafs   

-- no debconf information
--- /tmp/foo.py 2019-11-09 22:52:50.535057865 +0100
+++ /usr/lib/python3/dist-packages/duplicity/backends/giobackend.py 
2019-11-09 22:53:22.780500816 +0100
@@ -33,7 +33,7 @@
 # when required.  So we make sure that such a bus exists and that our
 # environment points to it.
 if u'DBUS_SESSION_BUS_ADDRESS' not in os.environ:
-output = subprocess.Popen([u'dbus-launch'], 
stdout=subprocess.PIPE).communicate()[0]
+output = subprocess.Popen([u'dbus-launch'], 
stdout=subprocess.PIPE).communicate()[0].decode("utf8", errors="replace")
 lines = output.split(u'\n')
 for line in lines:
 parts = line.split(u'=', 1)
--- /tmp/foo.py 2019-11-09 22:52:50.535057865 +0100
+++ /usr/lib/python3/dist-packages/duplicity/backends/giobackend.py 
2019-11-09 22:53:22.780500816 +0100
@@ -33,7 +33,7 @@
 # when required.  So we make sure that such a bus exists and that our
 # environment points to it.
 if u'DBUS_SESSION_BUS_ADDRESS' not in os.environ:
-output = subprocess.Popen([u'dbus-launch'], 
stdout=subprocess.PIPE).communicate()[0]
+output = subprocess.Popen([u'dbus-launch'], 
stdout=subprocess.PIPE).communicate()[0].decode("utf8", errors="replace")
 lines = output.split(u'\n')
 for line in lines:
 parts = line.split(u'=', 1)


Bug#907260: roundcube: database table `session` is never cleaned and grows without limit

2018-08-25 Thread Symphorien Gibol
Package: roundcube
Version: 1.3.6+dfsg.1-1
Severity: normal

Dear Maintainer,

The table `session` of my roundcube database contained several months
worth of sessions, even though the lifetime of a session is 1200 seconds
(the default I think). This made this sole table more than 100MB.

Actual behavior: the last oldest row in the table is more than 8  months
old.
Expected behavior: the last oldest row in the table is not more than a
few days old (that is a few times $session_lifetime).

The reason of the problem seems to be the following: according to
https://github.com/roundcube/roundcubemail/issues/1864 roundcube relies
on vanilla php session gc. Debian disables it by setting
session.gc_probability to 0 and replaces it by a custom
phpsessionclean.{service,timer}. This script unfortunately only works on
sessions stored as files, and therefore does not clean roundcube
sessions.

I have implemented the following solution: roundcube ships a script to
gc manually: /usr/share/roundcube/bin/gc.sh
Unfortunately this script is slightly broken: when run I get
ERROR: Configuration error. Unsupported database driver: 
According to strace, this script looks for roundcube's configuration
in /usr/share/roundcube/config/ instead of /etc/roundcube
Workaround:
ln -s /etc/roundcube/ /usr/share/roundcube/config
Similarly, I needed ln -s /tmp/ /usr/share/roundcube/temp
Then, bin/gc.sh works and I can make a systemd timer like
phpsessionclean:
# /etc/systemd/system/roundcube-gc.service
[Unit]
Description=Clean roundcube session table

[Service]
User=www-data
Type=oneshot
ExecStart=/usr/share/roundcube/bin/gc.sh
ProtectHome=true
ProtectSystem=true
PrivateTmp=true
# /etc/systemd/system/roundcube-gc.timer
[Unit]
Description=Clean roundcube session table every 30 mins

[Timer]
OnCalendar=*-*-* *:09,39:00
Persistent=true

[Install]
WantedBy=timers.target

I have been unable to trigger session gc by the vanilla php mechanism,
either in the nginx config or in /etc/php/7.2/fpm/php.ini, even with 
session.gc_probability=1
session.gc_divisor=1

To sum up, it would be nice to fix bin/gc.sh and ship a timer to run it
periodically, possibly by default.

Thanks

-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.17.0-1-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages roundcube depends on:
ii  dpkg1.19.0.5+b1
ii  roundcube-core  1.3.6+dfsg.1-1

roundcube recommends no packages.

roundcube suggests no packages.

Versions of packages roundcube-core depends on:
ii  dbconfig-common 2.0.9
ii  debconf [debconf-2.0]   1.5.69
ii  dpkg1.19.0.5+b1
ii  libmagic1   1:5.34-2
ii  php 1:7.2+62
ii  php-auth-sasl   1.0.6-3
ii  php-common  1:62
ii  php-intl1:7.2+62
ii  php-mail-mime   1.10.2-0.1
ii  php-net-sieve   1.4.1-1
ii  php-net-smtp1.8.0-1
ii  php-net-socket  1.0.14-2
ii  php-pear1:1.10.5+submodules+notgz-1
ii  php7.2 [php]7.2.9-1
ii  php7.2-cli [php-cli]7.2.9-1
ii  php7.2-intl [php-intl]  7.2.9-1
ii  php7.2-json [php-json]  7.2.9-1
ii  roundcube-pgsql 1.3.6+dfsg.1-1
ii  ucf 3.0038

Versions of packages roundcube-core recommends:
ii  nginx-full [httpd-cgi]  1.13.12-1
ii  php-fpm 1:7.2+62
ii  php-gd  1:7.2+62
ii  php-pspell  1:7.2+62
ii  php7.2-fpm [php-fpm]7.2.9-1
ii  php7.2-gd [php-gd]  7.2.9-1
ii  php7.2-pspell [php-pspell]  7.2.9-1

Versions of packages roundcube-core suggests:
pn  php-crypt-gpg  
pn  php-net-ldap2  
pn  php-net-ldap3  
ii  roundcube-plugins  1.3.6+dfsg.1-1

-- debconf information:
  roundcube/dbconfig-reinstall: false
  roundcube/remote/port:
  roundcube/remote/newhost: localhost
  roundcube/pgsql/method: TCP/IP
  roundcube/dbconfig-upgrade: true
  roundcube/pgsql/authmethod-user: password
  roundcube/mysql/admin-user:
  roundcube/upgrade-error: abort
  roundcube/missing-db-package-error: abort
  roundcube/reconfigure-webserver: apache2, lighttpd
  roundcube/hosts:
  roundcube/db/basepath:
  roundcube/upgrade-backup: true
  roundcube/dbconfig-remove: true
  roundcube/remove-error: abort
  roundcube/install-error: abort
  roundcube/internal/skip-preseed: false
  roundcube/pgsql/authmethod-admin: ident
  roundcube/language: en_US
  roundcube/pgsql/changeconf: false
* roundcube/database-type: pgsql
  roundcube/internal/reconfiguring: false
  roundcube/db/dbname: roundcube
  roundcube/mysql/method: Unix socket
  roundcube/db/app-user: roundcube@localhost
  roundcube/pgsql/no-empty-passwords:
  roundcube/pgsql/manualconf:
  

Bug#889507: icingaweb2: Fails with php7.2

2018-02-03 Thread Symphorien Gibol
Package: icingaweb2
Version: 2.4.1-1
Severity: important

Dear Maintainer,

php is now 7.2 in testing and upgrading from 7.0 to 7.2 broke icingaweb2
exactly as decribed here:
https://github.com/Icinga/icingaweb2/issues/3185
I applied the patch discussed above:
https://github.com/Icinga/icingaweb2/pull/3315
and it solved the problem.

-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.14.0-2-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages icingaweb2 depends on:
ii  icingaweb2-common 2.4.1-1
ii  php-dompdf0.6.2+dfsg-3
ii  php-htmlpurifier  4.7.0-2
ii  php-xml   1:7.2+60
ii  php7.2-xml [php-xml]  7.2.1-1

Versions of packages icingaweb2 recommends:
ii  icingacli 2.4.1-1
ii  icingaweb2-module-doc 2.4.1-1
ii  icingaweb2-module-monitoring  2.4.1-1
ii  nginx-full [httpd]1.13.8-1
ii  php   1:7.2+60
ii  php-imagick   3.4.3~rc2-2+b1
ii  php-intl  1:7.2+60
ii  php-ldap  1:7.2+60
ii  php7.0 [php]  7.0.27-1
ii  php7.0-cli [php-cli]  7.0.27-1
ii  php7.0-intl [php-intl]7.0.27-1
ii  php7.0-json [php-json]7.0.27-1
ii  php7.0-ldap [php-ldap]7.0.27-1
ii  php7.2 [php]  7.2.1-1
ii  php7.2-cli [php-cli]  7.2.1-1
ii  php7.2-intl [php-intl]7.2.1-1
ii  php7.2-json [php-json]7.2.1-1
ii  php7.2-ldap [php-ldap]7.2.1-1

icingaweb2 suggests no packages.

-- no debconf information