[CCBC-120] Unhandled opcode=92 Created: 09/Nov/12 Updated: 06/Feb/13 Resolved: 08/Dec/12 |
|
| Status: | Closed |
| Project: | Couchbase C client library libcouchbase |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 2.0.1 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Mark Nunberg | Assignee: | Mark Nunberg |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
During an observe + rebalance-in.
Cluster build 1941, lcb 2.0.0-beta2-something (git sha d34403763eec7f91e98fa13e260d47ef64a05945).. php is my own build atm (until i push) |
||
| Issue Links: |
|
||||||||
| Description |
|
#0 0x00007ffff6143acf in php_couchbase_error_callback (handle=0x11c0c70, error=LCB_EINTERNAL,
errinfo=0x7fffffffa2a0 "Unknown implicit send message op=92") at /sources/lcb2.0-repo/php/couchbase.c:724 #1 0x00007ffff5f1aa85 in lcb_error_handler (instance=0x11c0c70, error=LCB_EINTERNAL, errinfo=0x7fffffffa2a0 "Unknown implicit send message op=92") at src/error.c:67 #2 0x00007ffff5f28278 in lcb_server_purge_implicit_responses (c=0x15e67d0, seqno=39360, end=1352507659266497000) at src/server.c:710 #3 0x00007ffff5f1af11 in parse_single (c=0x15e67d0, stop=1352507659266497000) at src/event.c:135 #4 0x00007ffff5f1b3ca in do_read_data (c=0x15e67d0) at src/event.c:232 #5 0x00007ffff5f1b5a4 in lcb_server_event_handler (sock=14, which=2, arg=0x15e67d0) at src/event.c:298 #6 0x00007ffff5a5dccc in event_base_loop () from /usr/lib/x86_64-linux-gnu/libevent-2.0.so.5 #7 0x00007ffff5c95547 in lcb_io_run_event_loop (iops=0x11c0740) at plugins/io/libevent/plugin-libevent.c:320 #8 0x00007ffff5f2aa1c in lcb_wait (instance=0x11c0c70) at src/wait.c:116 #9 0x00007ffff61523f9 in observe_iterate (res=0x11a3c50, ocoll=0x7fffffffa720) at /sources/lcb2.0-repo/php/observe.c:529 #10 0x00007ffff61525b7 in observe_poll (res=0x11a3c50, ocoll=0x7fffffffa720, tprefs=0x7fffffffa700) at /sources/lcb2.0-repo/php/observe.c:597 #11 0x00007ffff6153096 in php_couchbase_observe_impl (ht=2, return_value=0x14e2af8, return_value_ptr=0x0, this_ptr=0x11a2f60, return_value_used=1, tsrm_ls=0xf53090, multi=1, oo=1, poll=1) at /sources/lcb2.0-repo/php/observe.c:862 #12 0x00007ffff614e089 in zim_couchbase_keyDurabilityMulti (ht=2, return_value=0x14e2af8, return_value_ptr=0x0, this_ptr=0x11a2f60, return_value_used=1, tsrm_ls=0xf53090) at /sources/lcb2.0-repo/php/couchbase.c:3468 #13 0x000000000088d5cd in zend_do_fcall_common_helper_SPEC (execute_data=0x7ffff5e96098, tsrm_ls=0xf53090) at /sources/php-5.3.17/Zend/zend_vm_execute.h:320 #14 0x000000000088dfe8 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (execute_data=0x7ffff5e96098, tsrm_ls=0xf53090) at /sources/php-5.3.17/Zend/zend_vm_execute.h:425 #15 0x000000000088c588 in execute (op_array=0x11a3ce8, tsrm_ls=0xf53090) at /sources/php-5.3.17/Zend/zend_vm_execute.h:107 #16 0x0000000000851d7a in zend_execute_scripts (type=8, tsrm_ls=0xf53090, retval=0x0, file_count=3) at /sources/php-5.3.17/Zend/zend.c:1236 #17 0x00000000007b5106 in php_execute_script (primary_file=0x7fffffffde10, tsrm_ls=0xf53090) at /sources/php-5.3.17/main/main.c:2308 #18 0x0000000000951d89 in main (argc=3, argv=0x7fffffffe078) at /sources/php-5.3.17/sapi/cli/php_cli.c:1189 I don't really have a way to reproduce this right now, I just happened to have been in that situation. |
| Comments |
| Comment by Sergey Avseyev [ 12/Nov/12 ] |
| 92 is observe command, could you show your PHP script? |
| Comment by Sergey Avseyev [ 13/Nov/12 ] |
| http://review.couchbase.org/22478 |
| Comment by Sergey Avseyev [ 13/Nov/12 ] |
| Now it will respond with LCB_SERVER_BUG if found stale OBSERVE packet. It will use command callback instead of generic error callback, therefore you will have context and key name |
| Comment by Mark Nunberg [ 21/Nov/12 ] |
| I'll see if I recognize this one again.. this was rather difficult to reproduce and only happened accidentally -- I'm guessing that when and if the sdkd has observe implemented we'd be able to more reliably reproduce it |
| Comment by Sergey Avseyev [ 21/Nov/12 ] |
| And at least now, you won't get abort() in real life application, but still can abort in tests |