Couchbase 网络错误 16,node.js 中套接字断言失败

2024-04-27

我有以下 node.js 脚本,几天前运行良好,但现在出现此错误:

syd@HP-Notebook:~/Desktop$ node db.js
connected to database
{ [Error: Network error] code: 16 }
node: ../src/ioplugin.cc:496: virtual int Couchnode::IoOps::updateEvent(lcb_socket_t, void*, short int, void*, void (*)(lcb_socket_t, short int, void*)): Assertion `socket != __null' failed.
Aborted (core dumped)

这是 db.js 的代码:

var crypto = require('crypto');
var db = require('couchbase');
var couchBase = null;
var committed = 0;
var intervalID = null;

function strGen(len) {

    var text = '';
    var charset = "abcdefghijklmnopqrstuvwxyz";

    for (var i = 0; i < len; i++) {
        text += charset.charAt(Math.floor(Math.random() * charset.length));
    }

    return text;
}

function numGen(len) {

    var text = '';
    var charset = "0123456789";

    for (var i = 0; i < len; i++) {
        text += charset.charAt(Math.floor(Math.random() * charset.length));
    }

    return text;
}

function newLat() {
    var lat = Math.floor((Math.random() * 2)+1);
    if (lat == 1) return 37;
    return 38;
}

function createDocument() {

    var name = 'Test user #' + committed;
    var licensePlates = strGen(3).toUpperCase() +'-'+ numGen(4);
    var lat = parseFloat(newLat() + '.' + numGen(8));
    var lng = parseFloat('23.' + numGen(8))

    var timestamp = (new Date()).getTime().toString();
    var docKey =  crypto.createHash('md5').update(licensePlates + '-' + name).digest('hex');

    var docData = {
        '_id' : docKey,
        'name' : name,
        'lp' : licensePlates,
        'lat' : lat,
        'lng' : lng,
        'timestamp': timestamp 
    }

    //console.log(docKey);

    //console.log(docData);

    couchBase.set(docKey, JSON.stringify(docData), function(err){
        if (err) { 
            console.log(err); 
        } else if (committed < 1000) {
            committed++;
            console.log('#'+committed + ' - ' + ' Committed: ' + docKey);
        } else {
            clearInterval(intervalID);
            console.log('I\'m done!');
        }
    });

}

db.connect({
    'user':'taxi',
    'password':'taxi',
    'hosts':['127.0.0.1:8091'],
    'bucket':'taxi'
}, function(err, cb) {
    if (err) {
        console.log('TEST');
        console.log(err);
    } else {
        couchBase = cb;
        console.log('connected to database');
        intervalID = setInterval(function(){createDocument(null, null, null)}, 5);
    }
});

我过去没有任何问题。这是在我在 ubuntu 12.04 中安装 php 5.4 然后返回到 php 5.3 后发生的,因为我无法使 couchbase 使用该版本的 php。仅供参考,php 和 couchbase 目前工作得很好,但不适用于 Node。正如您所看到的,与数据库的连接已建立,但 set 语句失败。任何信息,将不胜感激。

UPDATE

这是另一个脚本中的相同错误:

syd@HP-Notebook:~/Desktop$ node test.js
Connection established!
Function: get
Network error
Error: Network error
    at makeError (/home/syd/node_modules/couchbase/lib/bucket.js:578:18)
    at getParsedHandler (/home/syd/node_modules/couchbase/lib/bucket.js:625:17)
node: ../src/ioplugin.cc:496: virtual int Couchnode::IoOps::updateEvent(lcb_socket_t, void*, short int, void*, void (*)(lcb_socket_t, short int, void*)): Assertion `socket != __null' failed.
Aborted (core dumped)

有关此脚本和来源的更多信息,请访问:在 Bucket.js 中使用 get 和 set 时出现 Couchbase 网络错误 https://stackoverflow.com/questions/18379115/couchbase-network-error-when-using-get-set-in-bucket-js?noredirect=1#comment26991030_18379115

附: memcache 与 node.js 一起工作正常,我可以获取和设置。 couchnode/couchbase 失败!


Couchbase C 库最近已更新至 2.1.1,而 Node.js 库则未更新。 C 库的最新工作版本是 2.0.7。要下载它 - 只需替换链接中的版本号即可。网站升级至 2.0.7。

还创建了issue http://www.couchbase.com/issues/browse/JSCBC-36在 couchbase bugtracker 上。希望它能得到修复。

UPD:在新的 couchbase Nodejs 库版本中修复:1.0.0-beta。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Couchbase 网络错误 16,node.js 中套接字断言失败 的相关文章

随机推荐

  • 如何从 AngularJS 中的自定义指令 * 具有自己的作用域 * 访问父作用域?

    我正在寻找访问指令中 父 范围的任何方式 范围 嵌入 要求 从上面传入变量 或范围本身 等的任何组合 我完全愿意竭尽全力 但我想避免一些完全hacky或无法维护的东西 例如 我知道我现在可以通过采取 scope从 preLink 参数并迭代
  • 如何通过guard angular2隐藏链接

    如何在视图 html 中隐藏管理链接 我必须守护 管理员和经理 路由器配置 path manager component ManagerComponent canActivate ManagerGuard path user compone
  • Jenkins 在解析 pom 时失败

    我的 Jenkins 服务器上的一项作业出现问题 在 pom 解析期间失败并显示以下消息 Parsing POMs Modules changed recalculating dependency graph workspace java
  • 水平计数加工织物中的白色簇

    我对织物材质进行了处理 得到如下图所示的图像 原图 处理后的图像 现在 我想找到连续的白色簇的数量 如果所有簇都是均匀且完全水平的 我将运行一个循环来计算强度的上升和下降 以找到簇的数量 但事实并非如此 如果我通过上述方法取几行的中值 平均
  • 如何合并 jQuery 数据表 excelHtml5 中列的匹配值

    当我从数据表导出 Excel 时 我无法合并 col 值 由于列的值B named Category 需要合并重复值 我是编程新手 感谢任何帮助 这是我的我的jsfiddle https jsfiddle net t1j6rzg8 2 这是
  • Drupal - 使用引导程序检查 Drupal 之外的登录用户不起作用

    我正在绞尽脑汁地想弄清楚这个问题 在 Drupal 目录之外时 我无法让 Bootstrap 正常工作 如果我在 Drupal 目录中运行此代码 它可以正常工作 但向上一级不起作用 我的 Drupal 路径是 public html dru
  • 博耶摩尔算法的实现?

    有 C 语言的 Boyer Moore 字符串搜索算法的工作示例吗 我浏览了一些网站 但它们似乎有很多问题 包括维基百科 Thanks 子字符串搜索算法的最佳网站 http igm univ mlv fr lecroq string htt
  • 为什么不能使用与数组声明分开的数组初始化语法?

    我可以用一个整数来做到这一点 int a a 5 但我不能用整数数组来做到这一点 int a a 1 2 3 4 5 Why not 澄清 我不是在寻找正确的语法 我可以查找 我知道这有效 int a 1 2 3 4 5 这相当于 int
  • 即使没有任何更改,Makefile 也始终不是最新的

    我有一个包含两个文件夹的目录 src and binmakefile 位于根目录 即使没有更改 此 makefile 也会持续编译 不是最新的 我在这个 makefile 中遗漏了什么吗 all make a b a src a cpp g
  • Xcode:“此时无法安装此应用程序。”

    使用我的第一个应用程序进行学习 一切顺利 但 Xcode 遇到了问题 当我尝试在 iPhone 模拟器上运行该应用程序时 总是弹出此消息 此时无法安装此应用程序 怎么了 尝试构建应用程序时没有错误 已尝试清理构建 重新安装 Pod 重新启动
  • Team City 构建失败不返回失败代码

    我有一个在 TeamCity 上运行 Invoke MsBuild 的 powershell 脚本 在构建过程中 我看到其中一个项目出现 警告 构建失败 然而 teamcity 最后表示构建成功 如何强制 TC 退出并显示错误代码或至少报告
  • 如何在 rspec 请求规范中设置请求标头?

    在控制器规范中 我可以像这样设置 http 接受标头 request accept application json 但在请求规范中 请求 对象为零 那么我在这里该怎么做呢 我想将 http 接受标头设置为 json 的原因是这样我可以这样
  • corona sdk中拖动物理对象

    我尝试在场景中拖动重力 0 0 的动态主体 我有一个主体类型为动态的正方形 以及一个主体类型为静态的图像 但是当将方形拖动到图像上时 它会产生一点力 但是可以超出图像并传递到另一边 如图所示 这是我拖动正方形的代码 local functi
  • 如何使用Intent限制录音时间?

    使用意图时如何限制录制 我尝试了这段代码 Intent intent new Intent MediaStore ACTION VIDEO CAPTURE intent putExtra android intent extra durat
  • Web 服务 Android 应用程序:无法序列化 1.0

    P S 我看过类似的问题 但无法理解该怎么做 他们谈论使用元帅类 我似乎无法理解 我正在创建一个安卓应用 to 使用 JAX WS 我正在使用ksoap 2图书馆同样如此 我在一系列文本字段中获取用户的输入 并将这些输入传递到 WebSer
  • 将自定义标头值传递给 IdentityServer4 Login

    当用户尝试登录时 我尝试将自定义标头值 无 cookie 传递给 IdentityServer4 这是所有设置的方式 自定义身份验证属性 AttributeUsage AttributeTargets Class AttributeTarg
  • 根据 Excel 模板修改 Outlook 电子邮件的 HTMLBody

    我正在尝试根据模板从 Excel VBA 修改 Outlook 电子邮件的 HTML 正文 我的代码是 Sub Email Button Dim OutApp As Outlook Application Dim OutMail As Ou
  • Android 模拟器无法在 MAC 上运行

    下载 Android Studio 后 我一直在尝试使用 Android 模拟器 我以前使用过旧的三星 S4 但需要与 Marshmallow 兼容的设备才能实现某些功能 我看到的问题是 模拟器不运行 Android 屏幕显示好像正在准备启
  • (python) matplotlib pyplot show() .. 是否阻塞?

    我遇到了这个麻烦show 一遍又一遍 我确信我做错了什么 但不确定做我想做的事情的 正确 方法 我认为 我想要的是某种方法来阻塞主线程 直到 GUI 线程中发生事件 这样的事情第一次起作用 from matplotlib import py
  • Couchbase 网络错误 16,node.js 中套接字断言失败

    我有以下 node js 脚本 几天前运行良好 但现在出现此错误 syd HP Notebook Desktop node db js connected to database Error Network error code 16 no