** Description changed:

  procdump 2.2-1 fails to build from source on Ubuntu. I can reproduce it
  locally.
  
  ```
+ cc -c -g -o obj/Monitor.o src/Monitor.c -g -O2 -fno-omit-frame-pointer 
-mno-omit-leaf-frame-pointer -ffile-prefix-map=/<<PKGBUILDDIR>>=. -flto=auto 
-ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat 
-Werror=format-security -fcf-protection 
-fdebug-prefix-map=/<<PKGBUILDDIR>>=/usr/src/procdump-2.2-1 -g -O2 
-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -flto=auto -ffat-lto-objects 
-fstack-protector-strong -fstack-clash-protection -Wformat 
-Werror=format-security -fcf-protection 
-fdebug-prefix-map=/<<PKGBUILDDIR>>=/usr/src/procdump-2.2-1 -fcommon -Wl,-z,now 
-Wdate-time -D_FORTIFY_SOURCE=3 -Wl,-Bsymbolic-functions -flto=auto 
-ffat-lto-objects -Wl,-z,relro -I ./include -pthread -std=gnu99 
-fstack-protector-all -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -O2 -fanalyzer 
-Werror
  src/Monitor.c: In function 'WaitForProfilerCompletion':
  src/Monitor.c:1602:5: error: leak of file descriptor 'socket(1, 1, 0)' 
[CWE-775] [-Werror=analyzer-fd-leak]
-  1602 |     pthread_mutex_lock(&config->dotnetMutex);
-       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   'WaitForProfilerCompletion': events 1-3
-     |
-     | 1545 |     if((s = socket(AF_UNIX, SOCK_STREAM, 0))==-1)
-     |      |       ~     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-     |      |       |     |
-     |      |       |     (1) stream socket created here
-     |      |       |     (2) when 'socket' succeeds
-     |      |       (3) following 'false' branch...
-     |
-   'WaitForProfilerCompletion': events 4-16
-     |
-     | 1553 |     local.sun_family = AF_UNIX;
-     |      |                      ^
-     |      |                      |
-     |      |                      (4) ...to here
-     |......
-     | 1557 |     if(bind(s, (struct sockaddr *)&local, len)==-1)
-     |      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-     |      |       ||
-     |      |       |(5) stream socket bound here
-     |      |       |(6) when 'bind' succeeds
-     |      |       (7) following 'false' branch...
-     |......
-     | 1569 |     chmod(tmpFolder, 0777);
-     |      |     ~~~~~~~~~~~~~~~~~~~~~~
-     |      |     |
-     |      |     (8) ...to here
-     |......
-     | 1577 |     if ((pthread_create(&processMonitor, NULL, ProcessMonitor, 
(void *) config)) != 0)
-     |      |        ~              
-     |      |        |
-     |      |        (9) following 'false' branch...
-     |......
-     | 1590 |     if(listen(s, MAX_PROFILER_CONNECTIONS)==-1)
-     |      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-     |      |       ||
-     |      |       |(10) ...to here
-     |      |       |(11) stream socket marked as passive here via 'listen'
-     |      |       |(12) when 'listen' succeeds
-     |      |       (13) following 'false' branch...
-     |......
-     | 1602 |     pthread_mutex_lock(&config->dotnetMutex);
-     |      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-     |      |     |
-     |      |     (14) ...to here
-     |......
-     | 1612 |         if((s2 = accept(s, (struct sockaddr *)&remote, &t))==-1)
-     |      |           ~      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-     |      |           |      |
-     |      |           |      (15) when 'accept' fails
-     |      |           (16) following 'true' branch...
-     |
-   'WaitForProfilerCompletion': event 17
-     |
-     |./include/Logging.h:51:5:
-     |   51 |     DiagTrace(format " %s", ##__VA_ARGS__, LOCATION);
-     |      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-     |      |     |
-     |      |     (17) ...to here
+  1602 |     pthread_mutex_lock(&config->dotnetMutex);
+       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   'WaitForProfilerCompletion': events 1-3
+     |
+     | 1545 |     if((s = socket(AF_UNIX, SOCK_STREAM, 0))==-1)
+     |      |       ~     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+     |      |       |     |
+     |      |       |     (1) stream socket created here
+     |      |       |     (2) when 'socket' succeeds
+     |      |       (3) following 'false' branch...
+     |
+   'WaitForProfilerCompletion': events 4-16
+     |
+     | 1553 |     local.sun_family = AF_UNIX;
+     |      |                      ^
+     |      |                      |
+     |      |                      (4) ...to here
+     |......
+     | 1557 |     if(bind(s, (struct sockaddr *)&local, len)==-1)
+     |      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+     |      |       ||
+     |      |       |(5) stream socket bound here
+     |      |       |(6) when 'bind' succeeds
+     |      |       (7) following 'false' branch...
+     |......
+     | 1569 |     chmod(tmpFolder, 0777);
+     |      |     ~~~~~~~~~~~~~~~~~~~~~~
+     |      |     |
+     |      |     (8) ...to here
+     |......
+     | 1577 |     if ((pthread_create(&processMonitor, NULL, ProcessMonitor, 
(void *) config)) != 0)
+     |      |        ~
+     |      |        |
+     |      |        (9) following 'false' branch...
+     |......
+     | 1590 |     if(listen(s, MAX_PROFILER_CONNECTIONS)==-1)
+     |      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+     |      |       ||
+     |      |       |(10) ...to here
+     |      |       |(11) stream socket marked as passive here via 'listen'
+     |      |       |(12) when 'listen' succeeds
+     |      |       (13) following 'false' branch...
+     |......
+     | 1602 |     pthread_mutex_lock(&config->dotnetMutex);
+     |      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+     |      |     |
+     |      |     (14) ...to here
+     |......
+     | 1612 |         if((s2 = accept(s, (struct sockaddr *)&remote, &t))==-1)
+     |      |           ~      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+     |      |           |      |
+     |      |           |      (15) when 'accept' fails
+     |      |           (16) following 'true' branch...
+     |
+   'WaitForProfilerCompletion': event 17
+     |
+     |./include/Logging.h:51:5:
+     |   51 |     DiagTrace(format " %s", ##__VA_ARGS__, LOCATION);
+     |      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+     |      |     |
+     |      |     (17) ...to here
  src/Monitor.c:1615:13: note: in expansion of macro 'Trace'
-     | 1615 |             Trace("WaitForProfilerCompletion: Failed in accept 
call on socket\n");
-     |      |             ^~~~~
-     |
-   'WaitForProfilerCompletion': event 18
-     |
-     | 1602 |     pthread_mutex_lock(&config->dotnetMutex);
-     |      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-     |      |     |
-     |      |     (18) 'socket(1, 1, 0)' leaks here
-     |
+     | 1615 |             Trace("WaitForProfilerCompletion: Failed in accept 
call on socket\n");
+     |      |             ^~~~~
+     |
+   'WaitForProfilerCompletion': event 18
+     |
+     | 1602 |     pthread_mutex_lock(&config->dotnetMutex);
+     |      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+     |      |     |
+     |      |     (18) 'socket(1, 1, 0)' leaks here
+     |
  cc1: all warnings being treated as errors
  ```
+ 
+ Full log: https://launchpadlibrarian.net/732490833/buildlog_ubuntu-
+ oracular-amd64.procdump_2.2-1_BUILDING.txt.gz

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2067602

Title:
  procdump 2.2-1 FTBFS

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/procdump/+bug/2067602/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to