【问题标题】:Error: Storage::readChar(): invalid position using Sumo, veins example and omnet++错误:Storage::readChar():使用 Sumo、静脉示例和 omnet++ 的位置无效
【发布时间】:2021-03-10 14:31:05
【问题描述】:

我一直在 Linux Ubuntu 20.04 和 18.04 中使用 Veins (v5.1) 以及 SUMO (v1.8) 和 OMNeT++ (v5.6.2)。当我尝试运行静脉提供的示例时,我在 Ubuntu 20.04 和 18.04 中都遇到相同的错误。

根据 OMNeT 中的信息,错误代码是 133 或 137,上面几行中没有太多关于错误的信息。

Sumo 似乎运行正常,正在侦听端口 9999,并且 sumo-gui 实际上正在启动。但是,几秒钟后,它以以下错误日志终止 “错误:Storage::readChar():无效位置”。终端里也有错误码。

过去,由于我使用的版本之间的不兼容问题,我在 Ubuntu 14.04 中遇到了这个问题。这次我使用的是静脉网页推荐的版本。 有没有人遇到过这个问题?这可能是操作系统的不兼容问题吗?如果是这样,有谁知道 Ubuntu 18.04 或 20.04 的兼容版本是什么?我以前没有使用过 Linux,所以我不确定我是否还缺少其他东西。

我在screenshot 中包含了我遇到的错误,以防万一。

谢谢!

【问题讨论】:

  • 尝试在调试器中运行您的模拟。有关详细信息,请参阅 Veins 常见问题解答 veins.car2x.org/documentation/faq>,特别是条目“如何调试我的 OMNeT++ 仿真模型?如何创建堆栈跟踪?”。这应该可以准确地指出您的模拟的哪一部分失败,并希望您能够诊断出原因。如果一切都失败了,请检查您的模拟是否在 Instant Veins 上运行,这是一个预先配置好所有东西的虚拟机,可以开箱即用。
  • 我用的是调试模式,第一个错误如下: cRuntimeError notifyEnvir at exception.cc:260 0x7ffff6ad91ea 其余与TraCI服务器连接有关。
  • 感谢您的尝试!似乎您需要更熟悉为此调试 C++ 代码。恐怕我只能给你推荐试试 Instant Veins。
  • 我尝试了其他方法,出于某种原因,它至少适用于 Ubuntu 18。我不知道我是否遗漏了 Veins 更高版本的文档中的某些内容,但由于某种原因,如果静脉提取到 src 文件夹,然后导入到 Omnet++ 就可以了。
  • 我在导入前两次都提取了静脉。但是,第一次位置是 /home///veins-5.1 (导致错误)第二次是 /home///src/veins-5.1 (没有错误)

标签: omnet++ veins sumo


【解决方案1】:

我在使用 ubuntu 20.04、Omnet++ 5.6.2 和 SUMO 1.9.0 时遇到了同样的问题,我设法通过将 sumo 降级到旧版本来解决这个问题。

  1. 先移除当前相扑:

    $sudo apt-get remove sumo 
    
  2. 然后安装旧版本:

    $sudo apt-get install sumo=1.4.0+dfsg1-1
    

【讨论】:

    【解决方案2】:

    我不知道这是否真的是问题的答案或为什么会这样。我已经在我的笔记本电脑(Ubuntu 18.04)和两个不同的虚拟机(Ubuntu 18.04 和 Ubuntu 20.04)中尝试过,这似乎解决了问题。

    静脉应保存在名为src 的文件夹中,然后导入到 OMNeT++ 以避免错误。通往 Veins 的路径应该类似于以下内容。

     /home/<me>/<folder>/src/veins-5.1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多