[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#681827: marked as done (unblock: uwsgi/1.2.3+dfsg-2)



Your message dated Thu, 19 Jul 2012 11:26:03 +0200
with message-id <20120719092603.GR7369@radis.cristau.org>
and subject line Re: Bug#681827: unblock: uwsgi/1.2.3+dfsg-2
has caused the Debian Bug report #681827,
regarding unblock: uwsgi/1.2.3+dfsg-2
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
681827: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=681827
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: freeze-exception

Please unblock package uwsgi

In order to fix RC bug #680132 a binary package uwsgi-plugin-luajit had
to be removed. Luajit will not be a part of Wheezy and
uwsgi-plugin-luajit Build-Depends on libluajit-5.1-dev. I also removed
uwsgi-plugin-luajit from dependencies for uwsgi-app-integration-plugins
and all occurrences of luajit in debian/rules.

I have also added an upstream patch for fixing an important memory leak.

I am sending the diff with changes from 1.2.3+dfsg-1 and 1.2.3+dfsg-2
releases.

unblock uwsgi/1.2.3+dfsg-2

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

Kernel: Linux 3.4-trunk-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff --git a/debian/changelog b/debian/changelog
index ba7fe87..61361fe 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,14 @@
+uwsgi (1.2.3+dfsg-2) unstable; urgency=low
+
+  * Remove uwsgi-plugin-luajit binary package. (Closes: #680132)
+     - Remove libluajit-5.1-dev from Build-Depends.
+     - Remove uwsgi-plugin-luajit from dependencies for
+       uwsgi-app-integration-plugins.
+     - Remove all occurrences of luajit plugin in debian/rules.
+  * Include upstream patch to fix a memory leak in python uwsgi.workers().
+
+ -- Janos Guljas <janos@resenje.org>  Mon, 09 Jul 2012 03:32:09 +0200
+
 uwsgi (1.2.3+dfsg-1) unstable; urgency=low
 
   * New upstream release.
diff --git a/debian/control b/debian/control
index 153d813..029f5f7 100644
--- a/debian/control
+++ b/debian/control
@@ -15,7 +15,6 @@ Build-Depends:
  libjansson-dev,
  libldap2-dev,
  liblua5.1-0-dev,
- libluajit-5.1-dev [i386 amd64 kfreebsd-i386 armel],
  libperl-dev,
  libpq-dev,
  libsqlite3-dev,
@@ -169,7 +168,6 @@ Depends: ${misc:Depends},
  uwsgi-plugin-jvm-openjdk-6 (= ${binary:Version}),
  uwsgi-plugin-jwsgi-openjdk-6 (= ${binary:Version}),
  uwsgi-plugin-lua5.1 (= ${binary:Version}),
- uwsgi-plugin-luajit (= ${binary:Version}) [i386 amd64 kfreebsd-i386 armel],
  uwsgi-plugin-psgi (= ${binary:Version}),
  uwsgi-plugin-python (= ${binary:Version}),
  uwsgi-plugin-python3 (= ${binary:Version}),
@@ -185,7 +183,7 @@ Description: plugins for integration of uWSGI and application
  This dependency package provides plugins for integration of uWSGI and
  application:
    * CGI, Erlang, Java (OpenJDK 6), JWSGI (OpenJDK 6),
-     Lua WSAPI (Lua 5.1/LuaJIT), Perl PSGI, Python WSGI (Python/Python 3),
+     Lua WSAPI (Lua 5.1), Perl PSGI, Python WSGI (Python/Python 3),
      Rack (Ruby 1.8/Ruby 1.9.1)
 
 Package: uwsgi-plugin-admin
@@ -378,18 +376,6 @@ Description: Lua WSAPI plugin for uWSGI (Lua 5.1)
  This package provides Lua WSAPI plugin for uWSGI (linked with Lua 5.1
  runtime).
 
-Package: uwsgi-plugin-luajit
-Architecture: i386 amd64 kfreebsd-i386 armel
-Depends: ${shlibs:Depends}, ${misc:Depends}, uwsgi-core (= ${binary:Version})
-Description: Lua WSAPI plugin for uWSGI (LuaJIT)
- uWSGI presents a complete stack for networked/clustered web applications,
- implementing message/object passing, caching, RPC and process management.
- It is designed to be fully modular. This means that different plugins can be
- used in order to add compatibility with tons of different technology on top of
- the same core.
- .
- This package provides Lua WSAPI plugin for uWSGI (linked with LuaJIT runtime).
-
 Package: uwsgi-plugin-nagios
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}, uwsgi-core (= ${binary:Version})
diff --git a/debian/patches/fixed-a-leak-in-uwsgi.workers.patch b/debian/patches/fixed-a-leak-in-uwsgi.workers.patch
new file mode 100644
index 0000000..a6d2d2d
--- /dev/null
+++ b/debian/patches/fixed-a-leak-in-uwsgi.workers.patch
@@ -0,0 +1,72 @@
+From: "roberto@quantal64" <roberto@quantal64>
+Date: Sat, 2 Jun 2012 09:59:21 +0200
+Subject: fixed a leak in uwsgi.workers()
+
+---
+ plugins/python/uwsgi_pymodule.c |   35 ++++++++++++++++++++++++++++-------
+ 1 file changed, 28 insertions(+), 7 deletions(-)
+
+diff --git a/plugins/python/uwsgi_pymodule.c b/plugins/python/uwsgi_pymodule.c
+index 0fe1ce3..2a72aec 100644
+--- a/plugins/python/uwsgi_pymodule.c
++++ b/plugins/python/uwsgi_pymodule.c
+@@ -2492,6 +2492,11 @@ PyObject *py_uwsgi_workers(PyObject * self, PyObject * args) {
+ 			goto clear;
+ 		}
+ 
++		apps_tuple = PyDict_GetItemString(worker_dict, "apps");
++		if (apps_tuple) {
++			Py_DECREF(apps_tuple);
++		}	
++
+ 		PyDict_Clear(worker_dict);
+ 
+ 		zero = PyInt_FromLong(uwsgi.workers[i + 1].id);
+@@ -2601,21 +2606,37 @@ PyObject *py_uwsgi_workers(PyObject * self, PyObject * args) {
+ 			apps_dict = PyDict_New();
+ 			ua = &uwsgi.workers[i+1].apps[j];
+ 
+-			PyDict_SetItemString(apps_dict, "id", PyInt_FromLong(j));
++			zero = PyInt_FromLong(j);
++			PyDict_SetItemString(apps_dict, "id", zero);
++			Py_DECREF(zero);
+ 
+-			PyDict_SetItemString(apps_dict, "modifier1", PyInt_FromLong(ua->modifier1));
++			zero = PyInt_FromLong(ua->modifier1);
++			PyDict_SetItemString(apps_dict, "modifier1", zero);
++			Py_DECREF(zero);
+ 
+ 			zero = PyString_FromStringAndSize(ua->mountpoint, ua->mountpoint_len);
+ 			PyDict_SetItemString(apps_dict, "mountpoint", zero);
+ 			Py_DECREF(zero);
+ 
+-			PyDict_SetItemString(apps_dict, "startup_time", PyInt_FromLong((long) ua->startup_time));
++			zero = PyInt_FromLong((long) ua->startup_time);
++			PyDict_SetItemString(apps_dict, "startup_time", zero);
++			Py_DECREF(zero);
+ 
+-			PyDict_SetItemString(apps_dict, "interpreter", PyInt_FromLong((long)ua->interpreter));
+-			PyDict_SetItemString(apps_dict, "callable", PyInt_FromLong((long)ua->interpreter));
++			zero = PyInt_FromLong((long)ua->interpreter);
++			PyDict_SetItemString(apps_dict, "interpreter", zero);
++			Py_DECREF(zero);
+ 
+-			PyDict_SetItemString(apps_dict, "requests", PyLong_FromUnsignedLongLong(ua->requests));
+-			PyDict_SetItemString(apps_dict, "exceptions", PyLong_FromUnsignedLongLong(ua->exceptions));
++			zero = PyInt_FromLong((long)ua->callable);
++			PyDict_SetItemString(apps_dict, "callable", zero);
++			Py_DECREF(zero);
++
++			zero = PyLong_FromUnsignedLongLong(ua->requests);
++			PyDict_SetItemString(apps_dict, "requests", zero);
++			Py_DECREF(zero);
++
++			zero = PyLong_FromUnsignedLongLong(ua->exceptions);
++			PyDict_SetItemString(apps_dict, "exceptions", zero);
++			Py_DECREF(zero);
+ 
+ 			if (ua->chdir) {
+ 				zero = PyString_FromString(ua->chdir);
+-- 
+1.7.10.4
+
diff --git a/debian/patches/series b/debian/patches/series
index 98930e9..247fb83 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,4 @@
 000000_03_strip_versions_from_jQuery_scripts_links_in_uwsgicc_templates.patch
 000000_04_strip_uwsgi_shebang_from_examples.patch
 110515_01_add_overriding_of_JVM_PATH_into_buildscript_of_jwsgi_plugin.patch
+fixed-a-leak-in-uwsgi.workers.patch
diff --git a/debian/rules b/debian/rules
index fcc9abc..e55dbdd 100755
--- a/debian/rules
+++ b/debian/rules
@@ -69,7 +69,7 @@ PARTICULARLY_BUILT_UWSGI_PLUGIN_PKGS = \
 	$(UWSGI_PLUGIN_PYTHON_PKG_KINDS) \
 	greenlet-python \
 	jvm-openjdk-6 jwsgi-openjdk-6 \
-	lua5.1 luajit \
+	lua5.1 \
 	$(patsubst %,pyerl-%,$(UWSGI_PLUGIN_PYTHON_PKG_KINDS)) \
 	rack-ruby1.8 rack-ruby1.9.1 fiber
 
@@ -161,7 +161,7 @@ clean::
 		for INSTANTIATED_TEMPLATE in $(call files_instantiated_in_debian_dir, \
 			uwsgi-plugin-, \
 			$(ORDINARILY_BUILT_UWSGI_PLUGIN_PKGS) \
-				lua5.1 luajit rack-ruby1.8 rack-ruby1.9.1, \
+				lua5.1 rack-ruby1.8 rack-ruby1.9.1, \
 			.$${TEMPLATE_TYPE} \
 		); do \
 			if [ -f $(CURDIR)/debian/uwsgi-plugin.$${TEMPLATE_TYPE}.in ]; then \
@@ -370,8 +370,8 @@ debian/stamp-plugin-fiber:
 		         $(PLUGIN_NAME)
 	touch $@
 
-# Build lua51_plugin.so/lua_luajit_plugin.so
-debian/stamp-plugin-lua5.1 debian/stamp-plugin-luajit:
+# Build lua51_plugin.so
+debian/stamp-plugin-lua5.1:
 	$(eval PLUGIN_NAME = $(call pkg_name_to_plugin_name, \
 		$(subst stamp-plugin-,,$(notdir $@)) \
 	))
@@ -503,7 +503,7 @@ install/uwsgi-plugin-fiber::
 			< $(CURDIR)/debian/uwsgi-plugin.install.in \
 			> $(CURDIR)/debian/$(cdbs_curpkg).install
 
-install/uwsgi-plugin-lua5.1 install/uwsgi-plugin-luajit::
+install/uwsgi-plugin-lua5.1::
 	$(eval PLUGIN_NAME = $(call pkg_name_to_plugin_name, \
 		$(subst uwsgi-plugin-,,$(notdir $@)) \
 	))

--- End Message ---
--- Begin Message ---
On Mon, Jul 16, 2012 at 23:18:10 +0200, Janos Guljas wrote:

> unblock uwsgi/1.2.3+dfsg-2
> 
Unblocked, thanks.

Cheers,
Julien

Attachment: signature.asc
Description: Digital signature


--- End Message ---

Reply to: