[Bug 292657] www/p5-Net-Curl : Multi interface fails with "Operation was aborted by an application callback"

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 22 Jan 2026 16:19:33 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292657

            Bug ID: 292657
           Summary: www/p5-Net-Curl : Multi interface fails with
                    "Operation was aborted by an application callback"
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs@FreeBSD.org
          Reporter: olivier@freebsd.org
                CC: andrew.fengler@scaleengine.com
             Flags: maintainer-feedback?(andrew.fengler@scaleengine.com)
                CC: andrew.fengler@scaleengine.com
 Attachment #267394 text/plain
         mime type:

Created attachment 267394
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=267394&action=edit
script to reproduce

Hi,

The Net::Curl::Multi interface is failing when using both the proper
event-driven approach (fdset/timeout) and the polling workaround.
All multi-mode operations fail with the error "Operation was aborted by an
application callback", while the synchronous Net::Curl::Easy interface works
correctly.


Here is a regression script that demonstrates the issue by attempting to fetch
multiple URLs in parallel using three different approaches:

1. Synchronous mode (perl curl-multi.pl): Works correctly
2. Multi mode with polling (perl curl-multi.pl --multi --multifix): Fails with
callback error
3. Multi mode with fdset (perl curl-multi.pl --multi): Fails with callback
error

The error suggests an issue with callback handling
(CURLOPT_HEADERDATA/CURLOPT_WRITEDATA) when used with Net::Curl::Multi.
The same callbacks work fine in synchronous mode with Net::Curl::Easy (so not
related to libcurl).

Regards,
Olivier

-- 
You are receiving this mail because:
You are the assignee for the bug.