Activity log for bug #1346497

Date Who What changed Old value New value Message
2014-07-21 19:40:07 Mark Plotnick bug added bug
2014-07-23 20:54:05 Mark Plotnick description On Ubuntu 14.04, calling the shell's "ulimit -c 20" command sets a ULIMIT_CORE in the kernel of 20480 bytes, as expected, verified by looking at /proc/$$/limits. (This is just an example; I'd likely not use a value that low.) The contents of /proc/sys/kernel/core_pattern is "|/usr/share/apport/apport %p %s %c %P". When a process gets a memory fault, a core file much larger than 20480 bytes is created. apport multiplies its third argument, 20480, by 1024, giving a limit of 20MB. Test program: #include <sys/time.h> #include <sys/resource.h> #include <stdlib.h> #include <stdio.h> main() { struct rlimit r; getrlimit(RLIMIT_CORE, &r); printf("%ld %ld\n", (long) r.rlim_cur, r.rlim_max); malloc(1000000); abort(); } Excerpts from /var/log/apport.log for the test program : ERROR: apport (pid 4574) Sun Jul 20 21:37:38 2014: called for pid 4573, signal 6, core limit 204800 ERROR: apport (pid 4574) Sun Jul 20 21:37:38 2014: executable: /home/mp/ab (command line "./ab") ERROR: apport (pid 4574) Sun Jul 20 21:37:38 2014: executable does not belong to a package, ignoring ERROR: apport (pid 4574) Sun Jul 20 21:37:38 2014: writing core dump to /home/mp/core (limit: 209715200) On Ubuntu 14.04, calling the shell's "ulimit -c 20" command sets a ULIMIT_CORE in the kernel of 20480 bytes, as expected, verified by looking at /proc/$$/limits. (This is just an example; I'd likely not use a value that low.) The contents of /proc/sys/kernel/core_pattern is |/usr/share/apport/apport %p %s %c %P When a process gets a memory fault, a core file much larger than 20480 bytes can be created; apport multiplies its third argument, 20480, by 1024, giving a limit of 20MB. Test program: #include <sys/time.h> #include <sys/resource.h> #include <stdlib.h> #include <stdio.h> main() {  struct rlimit r;  getrlimit(RLIMIT_CORE, &r);  printf("%ld %ld\n", (long) r.rlim_cur, (long)r.rlim_max);  malloc(1000000);  abort(); } This produces a core dump of around 1.2MB. Excerpts from /var/log/apport.log for the test program : ERROR: apport (pid 4574) Sun Jul 20 21:37:38 2014: called for pid 4573, signal 6, core limit 204800 ERROR: apport (pid 4574) Sun Jul 20 21:37:38 2014: executable: /home/mp/ab (command line "./ab") ERROR: apport (pid 4574) Sun Jul 20 21:37:38 2014: executable does not belong to a package, ignoring ERROR: apport (pid 4574) Sun Jul 20 21:37:38 2014: writing core dump to /home/mp/core (limit: 209715200)
2014-08-27 06:03:12 Martin Pitt affects apport apport (Ubuntu)
2014-08-27 06:05:41 Martin Pitt apport (Ubuntu): status New Fix Committed
2014-08-27 06:05:41 Martin Pitt apport (Ubuntu): assignee Martin Pitt (pitti)
2014-08-27 06:06:22 Launchpad Janitor branch linked lp:apport
2014-08-29 11:25:27 Launchpad Janitor apport (Ubuntu): status Fix Committed Fix Released