问题列表 - 第317993页

如何解决 ruby​​ on Rails 中的“Double free for ptr 0x7f7c33808200”?

我在 macOS Sonoma、x86 intel i7 上有一个 Ruby on Rails API 应用程序。

我可以使用 启动服务器rails s。当我到达端点时,它会记录以下内容:

Started POST "/v1/login" for ::1 at 2023-12-13 19:38:46 +0700
ruby(5405,0x70000e8b9000) malloc: double free for ptr 0x7f7c33808200
ruby(5405,0x70000e8b9000) malloc: *** set a breakpoint in malloc_error_break to debug
zsh: abort      rails server
Run Code Online (Sandbox Code Playgroud)

我已经再次表演了bundle update,,bundle clean。bundle install我也重新启动了我的笔记本电脑,但它仍然发生。

我该如何解决这个错误?

ruby malloc ruby-on-rails

2
推荐指数
1
解决办法
711
查看次数

获取运行时调用的 Progress 过程 .p 文件位置

假设我的系统中有一个简单的过程文件:

C:\git\project\helloworld.p

在这个过程文件中,代码需要知道它在运行时在我的系统上的位置。所以在我的电脑中,在这种情况下它将是:

C:\git\project\helloworld.p

在我朋友的电脑上可能是:

D:\codingprojects\project\helloworld.p

有什么办法可以在运行时解析过程文件位置吗?

procedure file progress-4gl openedge

0
推荐指数
1
解决办法
72
查看次数

是否有另一种方法可以在不创建另一个对象的情况下实现 std::Optional 的功能?

class ScopedClass {
 public:
  ScopedClass() {
    cout << "constructor called\n";
  }

  ~ScopedClass() {
    cout << "destructor called\n";
  }

  ScopedClass(const ScopedClass &t)
  {
      cout << "copy constructor called\n";
  }

  ScopedClass(ScopedClass &&t)
  {
      cout << "move constructor called\n";
  }
}

std::optional<ScopedClass> check_and_return(bool condition) {
  if (condition == true)
    return std::make_optional(ScopedClass());
  return std::nullopt;
}

int main() {
  auto x = check_and_return(true);
}
Run Code Online (Sandbox Code Playgroud)

我想要一个ScopedClass对象,但当ScopedClass()我将其包含在std::optional. 这意味着析构函数在复制/移动时被调用,并且被调用两次。一旦进入check_and_return,一次main结束时。

我希望仅在结束时调用析构函数main。

有办法实现这一点吗?或者不使用某种替代方法std::optional?

c++ stdoptional

1
推荐指数
1
解决办法
86
查看次数

你能用 exec() 保护 python 变量吗?

这是一个有点奇怪的 Python 问题。

考虑以下 Python 代码:

def controlled_exec(code):
  x = 0
  def increment_x():
    nonlocal x
    x += 1

  globals = {"__builtins__": {}} # remove every global (including all python builtins)
  locals = {"increment_x": increment_x} # expose only the increment function

  exec(code, globals, locals)

  return x
Run Code Online (Sandbox Code Playgroud)

我希望这个函数能够提供一个受控代码 API,它可以简单地计算调用次数increment_x()。我尝试了一下,得到了正确的行为。

# returns 2
controlled_exec("""\
increment_x()
increment_x()
""")
Run Code Online (Sandbox Code Playgroud)

我认为这种做法并不安全,但出于好奇我想知道。我可以x通过执行代码来设置任意值(比如负数)吗controlled_exec(...)?我该怎么做呢?

python

3
推荐指数
1
解决办法
70
查看次数

无法在 Ubuntu 22.04.3 上使用 Rider 2023 和 dotnet-8.0 运行项目

我已经dotnet-sdk-7.0安装并且一切正常。昨天,我从 Microsoft 包存储库安装,dotnet-sdk-8.0首先从我的发行版中删除现有的 .NET 包:sudo apt remove 'dotnet*' 'aspnet*' 'netstandard*' 现在 Rider 无法运行我的项目。

我的系统:Ubuntu 22.04.3 LTS

dotnet --info:

.NET SDK:
 Version:           8.0.100
 Commit:            57efcf1350
 Workload version:  8.0.100-manifests.6c33ef20

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  22.04
 OS Platform: Linux
 RID:         linux-x64
 Base Path:   /usr/share/dotnet/sdk/8.0.100/

.NET workloads installed:
 Workload version: 8.0.100-manifests.6c33ef20
There are no installed workloads to display.

Host:
  Version:      8.0.0
  Architecture: x64
  Commit:       5535e31a71

.NET SDKs installed:
  8.0.100 [/usr/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 8.0.0 …
Run Code Online (Sandbox Code Playgroud)

.net jetbrains-rider

4
推荐指数
1
解决办法
774
查看次数

C:在编译时构建和使用字符串文字的预处理器宏?

我有一个 C 函数,用于格式化具有以下签名的字符串:

int
string_format
(   char*       dst
,   const char* fmt
,   ...
);
Run Code Online (Sandbox Code Playgroud)

我通常这样称呼它:

char buf[20];
const char* name = "Jeff";
string_format ( buf , "Hello %s!\n" , name );
Run Code Online (Sandbox Code Playgroud)

我现在尝试使用 ANSI 颜色代码处理彩色文本。理想情况下,我想在我的字符串文字中使用它们,如下所示:

char buf[20];
const char* name = "Jeff";
string_format ( buf , COLOR_RED "Hello %s!\n" , name );
Run Code Online (Sandbox Code Playgroud)

我编写了一些宏来构建这些字符串文字,但我做错了一些事情。例如,我尝试过:

#define ANSI_CC(color) "\033["#color"m"
#define ANSI_CC_FG_RED "91"

#define COLOR_RED (ANSI_CC(ANSI_CC_FG_RED))
Run Code Online (Sandbox Code Playgroud)

但是当我尝试调用 时string_format (buf, COLOR_RED "Hello world.\n""),出现编译器错误:

error: expected ')' before string constant
    |     COLOR_RED "Hello world.\n" …
Run Code Online (Sandbox Code Playgroud)

c string-literals c-preprocessor

2
推荐指数
1
解决办法
70
查看次数

解决重写方法中的“此异步方法缺少“等待”运算符”警告

我的基类中有一个具有以下签名的方法。

public virtual async Task<TagBuilder> RenderAsync(int columnWidth)
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

这工作得很好,但是我有很多派生类重写了这个方法。其中一些覆盖不使用await.

这给了我一个警告。

警告 CS1998 此异步方法缺少“await”运算符,并将同步运行。考虑使用“await”运算符等待非阻塞 API 调用,或使用“await Task.Run(...)”在后台线程上执行 CPU 密集型工作。

解决此警告的最佳方法是什么?首先,我不希望我的代码中到处都是警告。但我需要async在基类中。我想以一种经过批准的方式解决这个问题,不会带来任何不必要的开销。

.net c# async-await .net-core

1
推荐指数
2
解决办法
143
查看次数

二进制类型加 1

我有一个 cdc 表,其中有一个二进制序列列,我需要将表连接到二进制(10)类型的列上。我必须更改它的值,以便它与下一条记录匹配,这样我就可以返回数据集中的两行,因为更新将应用于此数据。

我需要更改0x0BB636D9239D01000000为,0x0BB636D9239D01000001以便我可以连接回表并获取数据。问题是我不能只添加+1,所以我可以添加到第一个二进制文件,使其像第二个二进制文件,这样我就可以获得下一个连续记录。

sql t-sql sql-server

-1
推荐指数
1
解决办法
172
查看次数

自更新 120 以来的 Chrome 调试器:使用“debugger”关键字时断点不起作用

自从最近 Chrome 更新到版本 120 以来,我遇到了一个令人困惑的问题。当在我的代码中使用“debugger”关键字设置断点时,没有任何反应。最初,我怀疑我的 macOS 机器有问题,但在我的 PC 上更新 Chrome 后,出现了同样的问题。有其他人遇到过这个问题吗,还是我一个人遇到过这个问题?

我已经提交了一份“报告”,但这似乎是把一条消息扔进了虚空。如果有人对解决此问题有见解或面临类似情况,我将不胜感激。提前致谢!

debugging google-chrome

0
推荐指数
1
解决办法
554
查看次数

将嵌套列表转换为 R 中的数据框

我的目标是将代码生成的嵌套列表转换为数据帧。我有以下内容,它从循环中的多个网址中提取一些数据并将它们存储在列表中。

library(rvest)
library(XML)
library(purrr)
library(stringr)
library(dplyr)

# declare variables
month = c('07','09')
year = c('2022','2023')
day = c('040','050')

# initialize the empty list
final = list()

# perform the loop
for (i in year) {
  for (j in month) {
    for (k in day) {
    
    skip_to_next <- FALSE
    
    url <- paste0('https://www.baseball-reference.com/boxes/ARI/ARI', i, j, k, '.shtml')
    
    Sys.sleep(5)
    game_path <- tryCatch(url |>
                            read_html() |>
                            html_nodes(xpath = '//div[contains(@id, "batting")]') |> 
                            map(\(x) x |> 
                                  as.character() |> 
                                  str_remove_all("<!--|-->") |> 
                                  read_html() |> 
                                  html_table()) |> 
                            unlist(recursive = …
Run Code Online (Sandbox Code Playgroud)

r rbind purrr

2
推荐指数
1
解决办法
110
查看次数