Ticket #2 (closed: fixed)
#server_stats throws an exception on FreeBSD
| Reported by: | deveiant | Owned by: | deveiant |
|---|---|---|---|
| Priority: | major | Milestone: | Performance Improvements |
| Component: | Source | Version: | 0.0.2 |
| Keywords: | failing test freebsd server_stats | Cc: |
Description (last modified by deveiant) (diff)
When running the test suite on FreeBSD 5.4-RELEASE under Ruby 1.8.2 (2004-12-25) [i386-freebsd5.4], the following test fails:
$ ./test.rb
0 patterns given on the command line
Required 6 files.
Loaded suite MemCache
Started
...........F.................F.
Finished in 1.301997 seconds.
1) Failure:
test_50_server_stats(MemCache::StatsTestCase)
[./tests/stats.tests.rb:77:in `test_50_server_stats'
/usr/home/ged/source/ruby/MemCache/tests/mctestcase.rb:294:in `run']:
Exception raised:
Class: <TypeError>
Message: <"cannot convert nil into Float">
---Backtrace---
/usr/home/ged/source/ruby/MemCache/lib/memcache.rb:151:in `Float'
/usr/home/ged/source/ruby/MemCache/lib/memcache.rb:151
/usr/home/ged/source/ruby/MemCache/lib/memcache.rb:149:in `call'
/usr/home/ged/source/ruby/MemCache/lib/memcache.rb:696:in `parse_stats'
/usr/home/ged/source/ruby/MemCache/lib/memcache.rb:688:in `collect'
/usr/home/ged/source/ruby/MemCache/lib/memcache.rb:688:in `parse_stats'
/usr/home/ged/source/ruby/MemCache/lib/memcache.rb:556:in `server_stats'
/usr/home/ged/source/ruby/MemCache/lib/memcache.rb:555:in `send'
/usr/home/ged/source/ruby/MemCache/lib/memcache.rb:1029:in `each'
/usr/home/ged/source/ruby/MemCache/lib/memcache.rb:1029:in `send'
/usr/home/ged/source/ruby/MemCache/lib/memcache.rb:555:in `server_stats'
/usr/home/ged/source/ruby/MemCache/lib/memcache.rb:554:in `add_stat'
/usr/home/ged/source/ruby/MemCache/lib/memcache.rb:554:in `server_stats'
./tests/stats.tests.rb:78:in `test_50_server_stats'
./tests/stats.tests.rb:77:in `assert_nothing_raised'
./tests/stats.tests.rb:77:in `test_50_server_stats'
/usr/home/ged/source/ruby/MemCache/tests/mctestcase.rb:294:in `run'
---------------
[...]
31 tests, 398 assertions, 2 failures, 0 errors
Change History
comment:5 Changed 6 years ago by Here
- Type defect deleted
top 10 air purifiers
women wigs
sealed lead acid battery
battery solar charger
viagra hgh
phentermine online ordering
ionic breeze air purifiers
anabolic steroid hgh
cubic and zirconia
air purifiers for homes
aa nimh battery
pink cubic zirconia
buy growth hgh hormone human
phentermine worldwide
air purifiers reviews
human growth hormone research
cheapest phentermine
scooter battery
long hair wig
african american human hair wigs
Note: See
TracTickets for help on using
tickets.

This happens because the rusage_user and rusage_system values are different than what is documented in the memcached protocol docs:
[...] '32u:32u' means two 32-but unsigned integers separated by a colon. Name Type Meaning ---------------------------------- [...] rusage_user 32u:32u Accumulated user time for this process (seconds:microseconds) rusage_system 32u:32u Accumulated system time for this process (seconds:microseconds)The relevant debugging output for the failing test (via ./test.rb -d):
Parsing stats reply: "STAT pid 70338 STAT uptime 917 STAT time 1122782964 STAT version 1.1.12 STAT rusage_user 0.107011 STAT rusage_system 0.140451 STAT curr_items 6 STAT total_items 71 STAT bytes 274 STAT curr_connections 8 STAT total_connections 15 STAT connection_structures 21 STAT cmd_get 55 STAT cmd_set 73 STAT get_hits 0 STAT get_misses 55 STAT bytes_read 3825 STAT bytes_written 1099 STAT limit_maxbytes 67108864 END " Converting pid stat: "70338" Using default converter ... converted to: 70338 (Fixnum) Converting uptime stat: "917" Using default converter ... converted to: 917 (Fixnum) Converting time stat: "1122782964" Using default converter ... converted to: 1122782964 (Bignum) Converting version stat: "1.1.12" Using version converter: #<Proc:0x0825cb54@.../lib/memcache.rb:148> ... converted to: "1.1.12" (String) Converting rusage_user stat: "0.107011" Using rusage_user converter: #<Proc:0x0825c7a8@/.../lib/memcache.rb:149> Exception `TypeError' at /.../lib/memcache.rb:151 - cannot convert nil into Float