<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for mjw</title>
    <link>http://www.advogato.org/person/mjw/</link>
    <description>Advogato blog for mjw</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Tue, 21 May 2013 07:33:47 GMT</pubDate>
    <item>
      <pubDate>Thu, 30 Aug 2012 09:08:53 GMT</pubDate>
      <title>Java bug CVE-2012-4681</title>
      <link>http://www.advogato.org/person/mjw/diary.html?start=224</link>
      <guid>http://gnu.wildebeest.org/blog/mjw/2012/08/30/java-bug-cve-2012-4681/</guid>
      <description>&lt;p&gt;There seems to be a &lt;a href="https://bugzilla.redhat.com/show_bug.cgi?id=852051" &gt;nasty bug&lt;/a&gt; out there in some implementations of Java 7, including IcedTea7 and OpenJDK7. The bug is very public and being actively abused to circumvent security restrictions. Please upgrade to &lt;a href="http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-August/020083.html" &gt;IcedTea 2.3.1&lt;/a&gt; or build your packages using &lt;a href="http://thread.gmane.org/gmane.comp.java.openjdk.beans.devel/34" &gt;the patch&lt;/a&gt; as discussed on the OpenJDK mailinglists.&lt;/p&gt;
&lt;p&gt;Note that if you are using the icedtea-web applet viewer then you are not directly vulnerable to the exploits as currently out there in the wild since those try to disable the SecurityManager completely and icedtea-web doesn&#x2019;t allow that (some proprietary applet viewers do allow that though). But there are other ways to abuse this bug to circumvent security restrictions in a more subtle way, so patching is still very recommended.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Sun, 3 Jun 2012 22:10:55 GMT</pubDate>
      <title>classpath/icedtea server updates</title>
      <link>http://www.advogato.org/person/mjw/diary.html?start=223</link>
      <guid>http://gnu.wildebeest.org/blog/mjw/2012/06/03/classpathicedtea-server-updates/</guid>
      <description>&lt;p&gt;Some classpath/icedtea servers changed networks/ip addresses on Sunday. Changes should propagate through DNS on Monday. This can cause connection errors to planet.classpath.org, builder.classpath.org (buildbot and jenkins) and icedtea.wildebeest.org (hg backups). Apologies for the late notice.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 31 May 2012 22:10:40 GMT</pubDate>
      <title>Justice &#x2013; APIs are not subject to copyright protection</title>
      <link>http://www.advogato.org/person/mjw/diary.html?start=222</link>
      <guid>http://gnu.wildebeest.org/blog/mjw/2012/05/31/justice-apis-are-not-subject-to-copyright-protection/</guid>
      <description>&lt;blockquote&gt;
  &lt;p&gt;anyone is free under the Copyright Act to write his or her own code to carry out exactly the same function or specification of any methods used in the Java API&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;More on &lt;a href="http://www.groklaw.net/article.php?story=20120531172522459" &gt;Groklaw&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 24 May 2012 22:08:16 GMT</pubDate>
      <title>Pull user-space probe instrumentation</title>
      <link>http://www.advogato.org/person/mjw/diary.html?start=221</link>
      <guid>http://gnu.wildebeest.org/blog/mjw/2012/05/24/pull-user-space-probe-instrumentation/</guid>
      <description>&lt;pre&gt;
commit &lt;a href="https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=654443e20dfc0617231f28a07c96a979ee1a0239" &gt;654443e20dfc0617231f28a07c96a979ee1a0239&lt;/a&gt;
Merge: 2c01e7b 9cba26e
Author: Linus Torvalds
Date:   Thu May 24 11:39:34 2012 -0700

    Merge branch 'perf-uprobes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

    Pull user-space probe instrumentation from Ingo Molnar:
     "The uprobes code originates from SystemTap and has been used for years
      in Fedora and RHEL kernels.  This version is much rewritten, reviews
      from PeterZ, Oleg and myself shaped the end result.

      This tree includes uprobes support in 'perf probe' - but SystemTap
      (and other tools) can take advantage of user probe points as well.

      Sample usage of uprobes via perf, for example to profile malloc()
      calls without modifying user-space binaries.

      First boot a new kernel with CONFIG_UPROBE_EVENT=y enabled.

      If you don't know which function you want to probe you can pick one
      from 'perf top' or can get a list all functions that can be probed
      within libc (binaries can be specified as well):

    	$ perf probe -F -x /lib/libc.so.6

      To probe libc's malloc():

    	$ perf probe -x /lib64/libc.so.6 malloc
    	Added new event:
    	probe_libc:malloc    (on 0x7eac0)

      You can now use it in all perf tools, such as:

    	perf record -e probe_libc:malloc -aR sleep 1

      Make use of it to create a call graph (as the flat profile is going to
      look very boring):

    	$ perf record -e probe_libc:malloc -gR make
    	[ perf record: Woken up 173 times to write data ]
    	[ perf record: Captured and wrote 44.190 MB perf.data (~1930712

    	$ perf report | less

    	  32.03%            git  libc-2.15.so   [.] malloc
    	                    |
    	                    --- malloc

    	  29.49%            cc1  libc-2.15.so   [.] malloc
    	                    |
    	                    --- malloc
    	                       |
    	                       |--0.95%-- 0x208eb1000000000
    	                       |
    	                       |--0.63%-- htab_traverse_noresize

    	  11.04%             as  libc-2.15.so   [.] malloc
    	                     |
    	                     --- malloc
    	                        |

    	   7.15%             ld  libc-2.15.so   [.] malloc
    	                     |
    	                     --- malloc
    	                        |

    	   5.07%             sh  libc-2.15.so   [.] malloc
    	                     |
    	                     --- malloc
    	                        |
    	   4.99%  python-config  libc-2.15.so   [.] malloc
    	          |
    	          --- malloc
    	             |
    	   4.54%           make  libc-2.15.so   [.] malloc
    	                   |
    	                   --- malloc
    	                      |
    	                      |--7.34%-- glob
    	                      |          |
    	                      |          |--93.18%-- 0x41588f
    	                      |          |
    	                      |           --6.82%-- glob
    	                      |                     0x41588f

    	   ...

      Or:

    	$ perf report -g flat | less

    	# Overhead        Command  Shared Object      Symbol
    	# ........  .............  .............  ..........
    	#
    	  32.03%            git  libc-2.15.so   [.] malloc
    	          27.19%
    	              malloc

    	  29.49%            cc1  libc-2.15.so   [.] malloc
    	          24.77%
    	              malloc

    	  11.04%             as  libc-2.15.so   [.] malloc
    	          11.02%
    	              malloc

    	   7.15%             ld  libc-2.15.so   [.] malloc
    	           6.57%
    	              malloc

    	 ...

      The core uprobes design is fairly straightforward: uprobes probe
      points register themselves at (inode:offset) addresses of
      libraries/binaries, after which all existing (or new) vmas that map
      that address will have a software breakpoint injected at that address.
      vmas are COW-ed to preserve original content.  The probe points are
      kept in an rbtree.

      If user-space executes the probed inode:offset instruction address
      then an event is generated which can be recovered from the regular
      perf event channels and mmap-ed ring-buffer.

      Multiple probes at the same address are supported, they create a
      dynamic callback list of event consumers.

      The basic model is further complicated by the XOL speedup: the
      original instruction that is probed is copied (in an architecture
      specific fashion) and executed out of line when the probe triggers.
      The XOL area is a single vma per process, with a fixed number of
      entries (which limits probe execution parallelism).

      The API: uprobes are installed/removed via
      /sys/kernel/debug/tracing/uprobe_events, the API is integrated to
      align with the kprobes interface as much as possible, but is separate
      to it.

      Injecting a probe point is privileged operation, which can be relaxed
      by setting perf_paranoid to -1.

      You can use multiple probes as well and mix them with kprobes and
      regular PMU events or tracepoints, when instrumenting a task."

    Fix up trivial conflicts in mm/memory.c due to previous cleanup of
    unmap_single_vma().

    * 'perf-uprobes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)
      perf probe: Detect probe target when m/x options are absent
      perf probe: Provide perf interface for uprobes
      tracing: Fix kconfig warning due to a typo
      tracing: Provide trace events interface for uprobes
      tracing: Extract out common code for kprobes/uprobes trace events
      tracing: Modify is_delete, is_return from int to bool
      uprobes/core: Decrement uprobe count before the pages are unmapped
      uprobes/core: Make background page replacement logic account for rss_stat counters
      uprobes/core: Optimize probe hits with the help of a counter
      uprobes/core: Allocate XOL slots for uprobes use
      uprobes/core: Handle breakpoint and singlestep exceptions
      uprobes/core: Rename bkpt to swbp
      uprobes/core: Make order of function parameters consistent across functions
      uprobes/core: Make macro names consistent
      uprobes: Update copyright notices
      uprobes/core: Move insn to arch specific structure
      uprobes/core: Remove uprobe_opcode_sz
      uprobes/core: Make instruction tables volatile
      uprobes: Move to kernel/events/
      uprobes/core: Clean up, refactor and improve the code
      ...
&lt;/pre&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 10 May 2012 08:07:54 GMT</pubDate>
      <title>FSF statement on jury&#x2019;s partial verdict in Oracle v Google</title>
      <link>http://www.advogato.org/person/mjw/diary.html?start=220</link>
      <guid>http://gnu.wildebeest.org/blog/mjw/2012/05/10/fsf-statement-on-jurys-partial-verdict-in-oracle-v-google/</guid>
      <description>&lt;blockquote&gt;
  &lt;p&gt;Were it grounded in reality, Oracle&#x2019;s claim that copyright law gives them proprietary control over any software that uses a particular functional API would be terrible for free software and programmers everywhere. It is an unethical and greedy interpretation created with the express purpose of subjugating as many computer users as possible, and is particularly bad in this context because it comes at a time when the sun has barely set on the free software community&#x2019;s celebration of Java as a language newly suitable for use in the free world. Fortunately, the claim is not yet reality, and we hope Judge Alsup will keep it that way.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
  &lt;a href="https://www.fsf.org/news/fsf-statement-on-jurys-partial-verdict-in-oracle-v-google" &gt;John Sullivan, executive director of the Free Software Foundation&lt;/a&gt;
&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Wed, 18 Apr 2012 14:09:16 GMT</pubDate>
      <title>GNU Classpath, What is Java?</title>
      <link>http://www.advogato.org/person/mjw/diary.html?start=219</link>
      <guid>http://gnu.wildebeest.org/blog/mjw/2012/04/18/gnu-classpath-what-is-java/</guid>
      <description>&lt;p&gt;Funny to see Tap the Waterdroplet (the GNU Classpath mascot) used in court to explain what Java is:&lt;a href="http://www.groklaw.net/images/GoogleOpeningStatementSlides.pdf" &gt;&lt;img src="http://gnu.wildebeest.org/blog/mjw/files/2012/04/google-java1.png" alt="GNU Classpath, What is Java?" width="886" height="686" class="aligncenter size-full wp-image-829"/&gt;&lt;/a&gt; Tap makes a couple more cameo appearances in the documents. It is a &lt;a href="http://www.groklaw.net/images/GoogleOpeningStatementSlides.pdf" &gt;fun read&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 16 Mar 2012 22:09:17 GMT</pubDate>
      <title>Automagically merging ChangeLog files with mercurial or git</title>
      <link>http://www.advogato.org/person/mjw/diary.html?start=218</link>
      <guid>http://gnu.wildebeest.org/blog/mjw/2012/03/16/automagically-merging-changelog-files-with-mercurial-or-git/</guid>
      <description>&lt;p&gt;When a project keeps a GNU style &lt;a href="https://www.gnu.org/prep/standards/standards.html#Change-Logs" &gt;ChangeLog&lt;/a&gt; file to keep track of who changed what where then those files can be automagically merged if you use mercurial or git.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://gnu.org/software/gnulib/" &gt;gnulib&lt;/a&gt; contains a module &lt;a href="http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob_plain;f=modules/git-merge-changelog" &gt;git-merge-changelog&lt;/a&gt;, which despite the name work perfectly with several version control systems.&lt;/p&gt;
&lt;p&gt;To install it:&lt;/p&gt;
&lt;pre&gt;
git clone git://git.savannah.gnu.org/gnulib.git
cd gnulib
./gnulib-tool --create-testdir --dir=/tmp/testdir123 git-merge-changelog
cd /tmp/testdir123
./configure
make
make install
&lt;/pre&gt;
&lt;p&gt;For Mercurial add the following lines to your &lt;tt&gt;~/.hgrc&lt;/tt&gt;:&lt;/p&gt;
&lt;pre&gt;
[merge-patterns]
ChangeLog = git-merge-changelog

[merge-tools]
git-merge-changelog.executable = /usr/local/bin/git-merge-changelog
git-merge-changelog.args = $base $local $other
&lt;/pre&gt;
&lt;p&gt;For git add the following lines to your &lt;tt&gt;~/.gitconfig&lt;/tt&gt;&lt;/p&gt;
&lt;pre&gt;
[merge "merge-changelog"]
	name = GNU-style ChangeLog merge driver
	driver = /usr/local/bin/git-merge-changelog %O %A %B
&lt;/pre&gt;
&lt;p&gt;And never worry again about having to manually merge ChangeLog files.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Tue, 6 Mar 2012 19:10:26 GMT</pubDate>
      <title>IcedTea and OpenJDK now part of OIN</title>
      <link>http://www.advogato.org/person/mjw/diary.html?start=217</link>
      <guid>http://gnu.wildebeest.org/blog/mjw/2012/03/06/icedtea-and-openjdk-now-part-of-oin/</guid>
      <description>&lt;p&gt;The &lt;a href="http://www.openinventionnetwork.com/" &gt;Open Invention Network&lt;/a&gt; patent agreement now also covers IcedTea and OpenJDK (see the new &lt;a href="http://www.openinventionnetwork.com/pat_linuxdefpop_table3.php" &gt;System Environment Components list&lt;/a&gt;). The covered version of GCC/GNU Classpath/libgcj have been updated to the latest release and various GNU Classpath[X] components have been added. As have the Eclipse SDK and ECJ. This is good news since that means the various companies which are part of OIN (Red Hat, IBM, Oracle, Google, etc.) have agreed to patent cross-license and release from claims of patent infringement each other and everybody who joins OIN and agrees to collaborate in the same way around GNU/Linux and the various implementations of the java programming language.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 19 Jan 2012 06:38:34 GMT</pubDate>
      <title>503: Service Unavailable</title>
      <link>http://www.advogato.org/person/mjw/diary.html?start=216</link>
      <guid>http://gnu.wildebeest.org/blog/mjw/2012/01/18/503-service-unavailable/</guid>
      <description>&lt;p&gt;&lt;a href="http://planet.classpath.org/" &gt;Planet Classpath&lt;/a&gt; is offline today, because the US congress is considering legislation that could kill us forever. The legislation is called the &lt;a href="https://www.popvox.com/bills/us/112/s968/report" &gt;PROTECT IP Act (PIPA)&lt;/a&gt;. This legislation threatens everyone&#x2019;s freedom of speech, privacy, and security online.&lt;/p&gt;
&lt;p&gt;This would unmake the Web, just as proposed in the &lt;a href="https://www.popvox.com/bills/us/112/hr3261" &gt;Stop Online Piracy Act (SOPA)&lt;/a&gt;. We don&#x2019;t want that world. Visit &lt;a href="http://americancensorship.org" &gt;AmericanCensorship.org&lt;/a&gt; for some options to contact your representatives if you are an American citizen. The &lt;a href="http://blacklists.eff.org" &gt;Electronic Frontier Foundation&lt;/a&gt; has more information on this and other issues central to your freedom online.&lt;/p&gt;
&lt;p&gt;We will return tomorrow,&lt;br/&gt;&lt;br/&gt;The Management&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Tue, 27 Dec 2011 22:37:19 GMT</pubDate>
      <title>Free Java @ FOSDEM 2012 (CFP deadline end this year!)</title>
      <link>http://www.advogato.org/person/mjw/diary.html?start=215</link>
      <guid>http://gnu.wildebeest.org/blog/mjw/2011/12/27/free-java-fosdem-2012-cfp-deadline-end-this-year/</guid>
      <description>&lt;p&gt;The end of 2011 is near.&lt;br/&gt;
The Free Java Momentum will be even bigger in 2012.&lt;br/&gt;
Have you made your new year&#x2019;s resolutions yet?&lt;br/&gt;
And is attending Free Java @ FOSDEM 2012 on Feb 4 and 5 one of them?&lt;br/&gt;&lt;a href="http://wiki.debian.org/Java/DevJam/2012/Fosdem" &gt;http://wiki.debian.org/Java/DevJam/2012/Fosdem&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Or are you even more ambitious and will you submit a talk proposal?&lt;br/&gt;
Then please make sure you submit an abstract before the end of the year&lt;br/&gt;
to &lt;tt&gt;fosdem@developer.classpath.org&lt;/tt&gt;. Full instructions can be found at:&lt;br/&gt;&lt;a href="http://wiki.debian.org/Java/DevJam/2012/Fosdem/CallForParticipation" &gt;http://wiki.debian.org/Java/DevJam/2012/Fosdem/CallForParticipation&lt;/a&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
