Package: release.debian.org
Severity: normal
Tags: bullseye
User: [email protected]
Usertags: pu

[ Reason ]
It was discovered that FreeRDP had been built with full debugging
enabled since 2.1.1+dfsg1-1. Full debugging support creates quite
a bottleneck in RDP performance, so this update disables full
debugging in Debian's FreeRDP.

[ Impact ]
None, except from a performance to be expected.

[ Tests ]
Manually. (Looks good here when tested against Windows Server 2016
and xRDP).

[ Risks ]
Likely, none.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable

[ Changes ]

+  [ Bernhard Miklautz ]
+  * debian/rules:
+    + Disable additional debug logging. (Closes: #1006683).

-> This disables the debugging stuff.

+  [ Mike Gabriel ]
+  * debian/patches:
+    + Add 1001_keep-symbol-DumpThreadHandles-if-debugging-is-disabled.patch.
+      Keep DumpThreadHandles as a symbol even if WITH_DEBUG_THREADS is OFF.

-> it was discovered that upstream omits a symbol if debugging is disabled. 
This patch
keeps the symbol around as a no-op function. Also submitted upstream:
https://github.com/FreeRDP/FreeRDP/pull/7708

[ Other info ]
This work has been co-ordinated with and sanctioned by FreeRDP upstream dev 
Bernhard Miklautz.
diff -Nru freerdp2-2.3.0+dfsg1/debian/changelog 
freerdp2-2.3.0+dfsg1/debian/changelog
--- freerdp2-2.3.0+dfsg1/debian/changelog       2021-05-16 23:42:19.000000000 
+0200
+++ freerdp2-2.3.0+dfsg1/debian/changelog       2022-03-08 08:45:48.000000000 
+0100
@@ -1,3 +1,16 @@
+freerdp2 (2.3.0+dfsg1-2+deb11u1) bullseye; urgency=medium
+
+  [ Bernhard Miklautz ]
+  * debian/rules:
+    + Disable additional debug logging. (Closes: #1006683).
+
+  [ Mike Gabriel ]
+  * debian/patches:
+    + Add 1001_keep-symbol-DumpThreadHandles-if-debugging-is-disabled.patch.
+      Keep DumpThreadHandles as a symbol even if WITH_DEBUG_THREADS is OFF.
+
+ -- Mike Gabriel <[email protected]>  Tue, 08 Mar 2022 08:45:48 +0100
+
 freerdp2 (2.3.0+dfsg1-2) unstable; urgency=medium
 
   * debian/watch:
diff -Nru 
freerdp2-2.3.0+dfsg1/debian/patches/1001_keep-symbol-DumpThreadHandles-if-debugging-is-disabled.patch
 
freerdp2-2.3.0+dfsg1/debian/patches/1001_keep-symbol-DumpThreadHandles-if-debugging-is-disabled.patch
--- 
freerdp2-2.3.0+dfsg1/debian/patches/1001_keep-symbol-DumpThreadHandles-if-debugging-is-disabled.patch
       1970-01-01 01:00:00.000000000 +0100
+++ 
freerdp2-2.3.0+dfsg1/debian/patches/1001_keep-symbol-DumpThreadHandles-if-debugging-is-disabled.patch
       2022-03-08 08:44:51.000000000 +0100
@@ -0,0 +1,38 @@
+Description: Keep DumpThreadHandles as a symbol even if WITH_DEBUG_THREADS is 
OFF.
+Author: Mike Gabriel <[email protected]>
+Forwarded: https://github.com/FreeRDP/FreeRDP/pull/7708
+
+--- a/winpr/libwinpr/thread/thread.c
++++ b/winpr/libwinpr/thread/thread.c
+@@ -760,9 +760,9 @@
+       return TRUE;
+ }
+ 
+-#if defined(WITH_DEBUG_THREADS)
+ VOID DumpThreadHandles(void)
+ {
++#if defined(WITH_DEBUG_THREADS)
+       char** msg;
+       size_t used, i;
+       void* stack = winpr_backtrace(20);
+@@ -823,6 +823,6 @@
+       }
+ 
+       WLog_DBG(TAG, "---------------- End Dumping thread handles 
-------------");
+-}
+ #endif
++}
+ #endif
+--- a/winpr/include/winpr/thread.h
++++ b/winpr/include/winpr/thread.h
+@@ -245,10 +245,7 @@
+       /* CommandLineToArgvA is not present in the original Windows API, WinPR 
always exports it */
+ 
+       WINPR_API LPSTR* CommandLineToArgvA(LPCSTR lpCmdLine, int* pNumArgs);
+-
+-#if defined(WITH_DEBUG_THREADS)
+       WINPR_API VOID DumpThreadHandles(void);
+-#endif
+ 
+ #ifdef __cplusplus
+ }
diff -Nru freerdp2-2.3.0+dfsg1/debian/patches/series 
freerdp2-2.3.0+dfsg1/debian/patches/series
--- freerdp2-2.3.0+dfsg1/debian/patches/series  2021-05-16 23:35:05.000000000 
+0200
+++ freerdp2-2.3.0+dfsg1/debian/patches/series  2022-03-08 08:44:34.000000000 
+0100
@@ -22,3 +22,4 @@
 0033-Reverted-winpr_BinToHexString-argument-change.patch
 0034-Fixed-6938-Remote-app-mode-clipboard-fix.patch
 0035-Fixed-6989-Use-X509_STORE_set_default_paths.patch
+1001_keep-symbol-DumpThreadHandles-if-debugging-is-disabled.patch
diff -Nru freerdp2-2.3.0+dfsg1/debian/rules freerdp2-2.3.0+dfsg1/debian/rules
--- freerdp2-2.3.0+dfsg1/debian/rules   2021-02-25 15:18:30.000000000 +0100
+++ freerdp2-2.3.0+dfsg1/debian/rules   2022-03-08 08:44:08.000000000 +0100
@@ -19,7 +19,7 @@
     -DCMAKE_SKIP_RPATH=FALSE \
     -DCMAKE_SKIP_INSTALL_RPATH=TRUE \
     -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-    -DWITH_DEBUG_ALL=ON \
+    -DWITH_DEBUG_ALL=OFF \
     -DBUILD_TESTING=OFF \
     -DWITH_CHANNELS=ON \
     -DBUILTIN_CHANNELS=ON \

Reply via email to