Assertion `memcached_failed(rc)' failed in memcached_send_ascii

Bug #1337558 reported by Ian Babrou
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
libmemcached
New
Undecided
Unassigned

Bug Description

I can reproduce that on ubuntu 14.04 with php-5.5.9-1ubuntu4.2, php-memcached-2.1.0 and libmemached-1.0.8:

php: libmemcached/storage.cc:341: memcached_return_t memcached_send_ascii(memcached_st*, memcached_server_write_instance_st, const char*, size_t, const char*, size_t, time_t, uint32_t, uint64_t, bool, bool, memcached_storage_action_t): Assertion `memcached_failed(rc)' failed.

Also on gentoo with php-5.5.14, php-memcached-2.1.0 (and 2.2.0 too) and libmemached-1.0.18:

php: libmemcached/storage.cc:343: memcached_return_t memcached_send_ascii(Memcached*, memcached_instance_st*, const char*, size_t, const char*, size_t, time_t, uint32_t, uint64_t, bool, bool, memcached_storage_action_t): Assertion `memcached_failed(rc)' failed.

But I can't reproduce that on mac with php-5.5.14, php-memcached-2.1.0 and libmemcached-1.0.18. That's weird.

Good part is: I have a test-case:

mctest.php:

<?php

$M = new Memcached();
$M->addServers(array(array(
    'host' => '127.0.0.1',
    'port' => 12344,
)));

$f = fopen('mc.log.short', 'r');
$i = 0;
while ($line = fgets($f)) {
    $i++;

    echo $i.': '.$line;

    $line = json_decode($line);
    list($cmd, $args) = $line;

    if ($cmd == 'get') {
        unset($args[2]); // unset cas which is passed by reference
    }

    if ($cmd == 'cas') {
        $args = array_slice($args, 0, 4); // extra arg is some legacy
    }

    call_user_func_array(array($M, $cmd), $args);
}

And mc.log.short:

["add",["TestlockTestlib:type_Memcaches.id_default",true,600]]
["add",["Lock:upl_21",1358150402000000,86400]]
["get",["Lock:upl_21",null,null]]
["getResultCode",[]]
["cas",[2298,"Lock:upl_21",-1,1358150395]]
["add",["Lock:upl_21",1358150402000000,86400]]
["get",["Lock:upl_21",null,null]]
["getResultCode",[]]
["cas",[2300,"Lock:upl_21",-1,1358150395]]
["add",["Lock:upl_21",1358150402000000,86400]]
["get",["Lock:upl_21",null,null]]
["getResultCode",[]]
["cas",[2302,"Lock:upl_21",-1,1358150395]]
["get",["UserAppFriends_21",null,null]]
["add",["Lock:upl_22",1358150402000000,86400]]
["get",["Lock:upl_22",null,null]]
["getResultCode",[]]
["cas",[2304,"Lock:upl_22",-1,1358150395]]
["add",["Lock:upl_22",1358150402000000,86400]]
["get",["Lock:upl_22",null,null]]
["getResultCode",[]]
["cas",[2306,"Lock:upl_22",-1,1358150395]]
["add",["Lock:upl_23",1358150402000000,86400]]
["get",["Lock:upl_23",null,null]]
["getResultCode",[]]
["cas",[2308,"Lock:upl_23",-1,1358150395]]
["add",["Lock:upl_23",1358150402000000,86400]]
["get",["Lock:upl_23",null,null]]
["getResultCode",[]]
["cas",[2310,"Lock:upl_23",-1,1358150395]]
["add",["Lock:upl_24",1358150402000000,86400]]
["get",["Lock:upl_24",null,null]]
["getResultCode",[]]
["cas",[2312,"Lock:upl_24",-1,1358150395]]
["add",["Lock:upl_24",1358150402000000,86400]]
["get",["Lock:upl_24",null,null]]
["getResultCode",[]]
["cas",[2314,"Lock:upl_24",-1,1358150395]]
["add",["Lock:upl_25",1358150402000000,86400]]
["get",["Lock:upl_25",null,null]]
["getResultCode",[]]
["cas",[2316,"Lock:upl_25",-1,1358150395]]
["add",["Lock:upl_25",1358150402000000,86400]]
["get",["Lock:upl_25",null,null]]
["getResultCode",[]]
["cas",[2318,"Lock:upl_25",-1,1358150395]]
["add",["Lock:upl_25",1358150402000000,86400]]
["get",["Lock:upl_25",null,null]]
["getResultCode",[]]
["cas",[2320,"Lock:upl_25",-1,1358150395]]
["get",["UserAppFriends_25",null,null]]
["add",["Lock:upl_26",1358150402000000,86400]]
["get",["Lock:upl_26",null,null]]
["getResultCode",[]]
["cas",[2322,"Lock:upl_26",-1,1358150395]]
["add",["Lock:upl_26",1358150402000000,86400]]
["get",["Lock:upl_26",null,null]]
["getResultCode",[]]
["cas",[2324,"Lock:upl_26",-1,1358150395]]
["get",["UserAppFriends_26",null,null]]
["add",["Lock:upl_27",1358150402000000,86400]]
["get",["Lock:upl_27",null,null]]
["getResultCode",[]]
["cas",[2326,"Lock:upl_27",-1,1358150395]]
["add",["Lock:upl_27",1358150402000000,86400]]
["get",["Lock:upl_27",null,null]]
["getResultCode",[]]
["cas",[2328,"Lock:upl_27",-1,1358150395]]
["get",["UserAppFriends_27",null,null]]
["add",["Lock:FeatureGroupSaving",1358150405000000,86400]]
["get",["Lock:FeatureGroupSaving",null,null]]
["getResultCode",[]]
["cas",[2330,"Lock:FeatureGroupSaving",-1,1358150395]]
["get",["s_1a31843e698de9ee25ee56866aec3e6e",null,null]]
["delete",["s_1a31843e698de9ee25ee56866aec3e6e"]]
["get",["s_967daed789c8c524bc05b5d20338e3ea",null,null]]
["delete",["s_967daed789c8c524bc05b5d20338e3ea"]]
["get",["s_e891f4cbd4690cae9febd7b9b4367487",null,null]]
["delete",["s_e891f4cbd4690cae9febd7b9b4367487"]]
["get",["s_bc934e351a03d0dc1bac187724f31dc2",null,null]]
["cas",[0,"s_bc934e351a03d0dc1bac187724f31dc2",{"user_id":21,"token_csrf":859884505},3600,true]]
["getResultCode",[]]
["delete",["TestlockTestlib:type_CentralDatabase.id_default"]]
["delete",["TestlockTestlib:type_AllDbSpots.id_default"]]
["delete",["TestlockTestlib:type_Authorizer.id_default"]]
["delete",["TestlockTestlib:type_Memcaches.id_default"]]
["add",["TestlockTestlib:type_CentralDatabase.id_default",true,600]]
["get",["s_4354ac7f7a1c65fc701fb11cfc05235e",null,null]]
["get",["s_8cd4ca8a9b6a983b3fd7214876ab73cb",null,null]]
["get",["included_files_bobrov.pretender.local_3abcd49fa0a0a6708c64c4f28f4afa661c77ac56",null,null]]
["get",["included_files_bobrov.pretender.local_875dfb50a3599435113f0b5ab12d5d7463317675",null,null]]
["add",["s_8cd4ca8a9b6a983b3fd7214876ab73cb",{"user_agent":"check_http\/v1.4.16 (nagios-plugins 1.4.16)"},3600,true]]
["get",[["spot_3",null,null],null,null]]
["get",[["spot_3",null,null],null,null]]
["get",[["spot_3",null,null],null,null]]

It fails on line 87 currently.

Revision history for this message
Gabriele Cicala (gabcicala) wrote :

Hi Guys.
Some of you solved this issue?
I have the same problem on a Ubuntu 20.04.6 LTS.
Any hints?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.