FS#29761 - [zeromq] --with-pgm causes crashes

Attached to Project: Community Packages
Opened by Nicolas Martyanoff (galdor) - Saturday, 05 May 2012, 11:11 GMT
Last edited by Kyle Keen (keenerd) - Wednesday, 12 September 2012, 04:07 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Kyle Keen (keenerd)
Architecture x86_64
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Since the update to zeromq-2.2.0-2, which adds the --with-pgm option, mongrel2 crashes at startup with the following warning:

Warn: Linux kernel reports no Time Stamp Counter (TSC).

And the following error message in dmesg:

[ 6136.502330] mongrel2[15957] trap divide error ip:7f1bc623c910 sp:1826ec0 error:0 in libzmq.so.1.0.1[7f1bc6208000+7b000]

I built zeromq-2.2.0-2 without --with-pgm, and mongrel2 worked without any problem.

This problem already occurred: http://librelist.com/browser//mongrel2/2011/4/25/mongrel2-trap-divide-error-linux-kernel-reports-no-time-stamp-counter-tsc/#33fceb84d325363ae7e1ebd9ca8203f6

I suggest removing --with-pgm until this problem is solved upstream.
This task depends upon

Closed by  Kyle Keen (keenerd)
Wednesday, 12 September 2012, 04:07 GMT
Reason for closing:  Upstream
Comment by Kyle Keen (keenerd) - Monday, 07 May 2012, 21:43 GMT
Are you sure you should be blaming ZeroMQ and not Mongrel? It would be odd to remove a feature from an official package just because of a bug in an AUR package.

Trontonic: hit the vote button if you think this bug is important.
Comment by Nicolas Martyanoff (galdor) - Wednesday, 09 May 2012, 20:16 GMT
As far as I can see, Mongrel2 doesn't use pgm. This, and the fact that the error occurs in libzmq.so.1.0.1, makes me think that there is something wrong in zeromq when pgm is enabled. Since pgm is disabled by default in zeromq, I can't see any good reason to keep it enabled until it gets sorted out with upstream. If you know another application using zeromq, it would be interesting to see if the problem occurs only in mongrel2, or if it's more general.
Comment by Kyle Keen (keenerd) - Wednesday, 09 May 2012, 22:32 GMT
Using an empty config (just launching m2sh) did not cause Mongrel2 to immediately crash. Can you provide a config that does crash?
Comment by Zhe Wang (0x1997) - Sunday, 17 June 2012, 09:14 GMT
I'm using mongrel2 develop branch from git and zeromq-2.2.0-2 on a virtualbox.
Here's the output from gdb

[mattias@kamchatka >]$ sudo gdb mongrel2
GNU gdb (GDB) 7.4.1
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/mongrel2...(no debugging symbols found)...done.
(gdb) set follow-fork-mode child
(gdb) run config.sqlite a3add491-7e7f-4dce-99c6-1f2f0da02f55
Starting program: /usr/bin/mongrel2 config.sqlite a3add491-7e7f-4dce-99c6-1f2f0da02f55
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
Sun, 17 Jun 2012 09:07:28 GMT [INFO] (src/mime.c:49) MAX limits.mime_ext_len=128
Sun, 17 Jun 2012 09:07:28 GMT [INFO] (src/host.c:74) MAX limits.url_path=256, limits.host_name=256
Sun, 17 Jun 2012 09:07:28 GMT [INFO] (src/handler.c:342) MAX limits.handler_stack=102400
Sun, 17 Jun 2012 09:07:28 GMT [INFO] (src/config/config.c:85) Loaded handler 1:ipc://run/mongrel2_send:4da65262-6334-44d5-8d88-7a7ab3e3a4e7:ipc://run/mongrel2_recv:
Sun, 17 Jun 2012 09:07:28 GMT [INFO] (src/config/config.c:227) Loaded route 1:/:handler for host 1:localhost
Sun, 17 Jun 2012 09:07:28 GMT [INFO] (src/dir.c:195) MAX limits.dir_send_buffer=16384, limits.dir_max_path=256
Sun, 17 Jun 2012 09:07:28 GMT [INFO] (src/config/config.c:136) Loaded directory 1:static/:index.html
Sun, 17 Jun 2012 09:07:28 GMT [INFO] (src/config/config.c:227) Loaded route 2:/static/:dir for host 1:localhost
Sun, 17 Jun 2012 09:07:28 GMT [INFO] (src/config/config.c:136) Loaded directory 1:static/:index.html
Sun, 17 Jun 2012 09:07:28 GMT [INFO] (src/config/config.c:227) Loaded route 3:/robots.txt:dir for host 1:localhost
Sun, 17 Jun 2012 09:07:28 GMT [INFO] (src/config/config.c:136) Loaded directory 1:static/:index.html
Sun, 17 Jun 2012 09:07:28 GMT [INFO] (src/config/config.c:227) Loaded route 4:/favicon.ico:dir for host 1:localhost
Sun, 17 Jun 2012 09:07:28 GMT [INFO] (src/config/config.c:312) Loaded 1 hosts for server 1:a3add491-7e7f-4dce-99c6-1f2f0da02f55
Sun, 17 Jun 2012 09:07:28 GMT [INFO] (src/server.c:445) LOADING Handler ipc://run/mongrel2_send
Sun, 17 Jun 2012 09:07:28 GMT [INFO] (src/unixy.c:139) Process 526 is not running anymore, so removing PID file .//run/mongrel2.pid.
Sun, 17 Jun 2012 09:07:28 GMT [INFO] (src/mongrel2.c:223) All loaded up, time to turn into a server.
Sun, 17 Jun 2012 09:07:28 GMT [INFO] (src/mongrel2.c:224) -- Starting Mongrel2/1.7.5. Copyright (C) Zed A. Shaw. Licensed BSD.

Sun, 17 Jun 2012 09:07:28 GMT [INFO] (src/mongrel2.c:225) -- Look in /log/m2.error.log for startup messages and errors.
[New process 539]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
Warn: Linux kernel reports no Time Stamp Counter (TSC).

Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread 0xb7b9da00 (LWP 539)]
0xb7f84018 in ?? () from /usr/lib/libzmq.so.1
(gdb)
Comment by Kyle Keen (keenerd) - Wednesday, 12 September 2012, 04:06 GMT
Really, this is not an Arch bug. You are running a self compiled dev version that is not even in the AUR. Hint, development versions break all the time. Take this bug up with the Mongrel2 devs.

Loading...