ernie-research/MEnvBench huggingface dataset:
Repository: robolectric/robolectric (Java)

Issue:
not support for queryIntentActivities(Intent intent, ResolveInfoFlags flags) of Android 13
### Description
when calling packageManager.queryIntentActivities(intent, ResolveInfoFlags.of(PackageManager.MATCH_DEFAULT_ONLY)) on Android 13，it is fail
```
Caused by: java.lang.UnsupportedOperationException: sorry, not supporting public abstract android.content.pm.ParceledListSlice android.content.pm.IPackageManager.queryIntentActivities(android.content.Intent,java.lang.String,long,int) throws android.os.RemoteException yet!
	at org.robolectric.shadows.ShadowActivityThread$1.invoke(ShadowActivityThread.java:89)
	at jdk.proxy4/jdk.proxy4.$Proxy82.queryIntentActivities(Unknown Source)
	at android.app.ApplicationPackageManager.queryIntentActivitiesAsUser(ApplicationPackageManager.java:1432)
	at android.app.ApplicationPackageManager.queryIntentActivities(ApplicationPackageManager.java:1417)
```

### Steps to Reproduce
just call packageManager.queryIntentActivities(intent, ResolveInfoFlags.of(PackageManager.MATCH_DEFAULT_ONLY)) on Android 13
### Robolectric & Android Version
robolectric 4.10.2
### Link to a public git repo demonstrating the problem:
none


Discussion: I think it needs an extra support at `ShadowActivityThread#getPackageManager`. @qq549631030 Would you like to send a PR to support it?
here is the PR [8409](https://github.com/robolectric/robolectric/pull/8409)



Fix (patch):
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowApplicationPackageManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowApplicationPackageManager.java
index 290d7854c22..33641903a5d 100644
--- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowApplicationPackageManager.java
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowApplicationPackageManager.java
@@ -787,6 +787,13 @@ protected List<ResolveInfo> queryIntentActivitiesAsUser(Intent intent, int flags
     return queryIntentActivities(intent, flags);
   }
 
+  /** Behaves as {@link #queryIntentActivities(Intent, int)} and currently ignores userId. */
+  @Implementation(minSdk = TIRAMISU)
+  protected List<ResolveInfo> queryIntentActivitiesAsUser(
+      /*Intent*/ Object intent, /*ResolveInfoFlags*/ Object flags, /*int*/ Object userId) {
+    return queryIntentActivities((Intent) intent, (int) ((ResolveInfoFlags) flags).getValue());
+  }
+
   /** Returns true if intent has specified a specific component. */
   private static boolean isExplicitIntent(Intent intent) {
     return getComponentForIntent(intent) != null;
Repository: robolectric/robolectric (Java)

Issue:
NPE in RoboMenuItem.setTitle
Repro:

```java
RoboMenuItem menu = new RoboMenuItem(R.id.some_layout);
menu.setTitle("my title");
```

Results in:

```
java.lang.NullPointerException: Cannot invoke "android.content.Context.getString(int)" because "this.context" is null
	at org.robolectric.fakes.RoboMenuItem.setTitle(RoboMenuItem.java:91)
```

cc @MGaetan89 


Discussion: Thanks for reporting this @sparkbarian.
I have an idea what's causing this. I'll submit a PR to address this issue.
@sparkbarian it should now be fixed in the next snapshot



Fix (patch):
diff --git a/shadows/framework/src/main/java/org/robolectric/fakes/RoboMenuItem.java b/shadows/framework/src/main/java/org/robolectric/fakes/RoboMenuItem.java
index 59d004d1c62..aa457f7bb57 100644
--- a/shadows/framework/src/main/java/org/robolectric/fakes/RoboMenuItem.java
+++ b/shadows/framework/src/main/java/org/robolectric/fakes/RoboMenuItem.java
@@ -34,7 +34,7 @@ public class RoboMenuItem implements MenuItem {
   @Nullable private View actionView;
   @Nullable private OnActionExpandListener actionExpandListener;
   private int order;
-  private Context context;
+  @Nonnull private final Context context;
   private char numericChar;
   private char alphaChar;
   @Nullable private ActionProvider actionProvider;
@@ -43,11 +43,12 @@ public RoboMenuItem() {
     this(RuntimeEnvironment.getApplication());
   }
 
-  public RoboMenuItem(Context context) {
+  public RoboMenuItem(@Nonnull Context context) {
     this.context = context;
   }
 
   public RoboMenuItem(int itemId) {
+    this();
     this.itemId = itemId;
   }
Repository: sofastack/sofa-jraft (Java)

Issue:
在这种情况下是不是会出现死锁？
### Your question

在下面这种情况下是不是会出现死锁？

FSMCaller-Disruptor 线程 destroy Replicator，期间还有2个线程在等待 ThreadId 的锁释放

1. ScheduleThreadPool 线程 heatbeat  `onTimeout()`
2. Append-Entries-Thread-Send 线程 `onRpcReturned()` 

然后 destroy 完成，先唤醒了 ScheduleThreadPool，但是他不释放锁因为已经 destroyed

```java
} finally {
    // Maybe destroyed in callback
    if (!this.destroyed) {
        this.lock.unlock();
    }
}
```

所以锁被Schedule线程持有没释放，send 线程就一直卡住了

### Environment

- SOFAJRaft version: 1.3.13
- JVM version (e.g. `java -version`): 11
- OS version (e.g. `uname -a`): win10



Discussion: 思考了下，确实有这个可能，这里应该无条件 unlock，不管是否 destroy
我也忘了当时为啥加这个检查了，可以提个 PR 来修复下。
嗯嗯



Fix (patch):
diff --git a/jraft-core/src/main/java/com/alipay/sofa/jraft/util/ThreadId.java b/jraft-core/src/main/java/com/alipay/sofa/jraft/util/ThreadId.java
index 6ee10d5d1..209058d75 100644
--- a/jraft-core/src/main/java/com/alipay/sofa/jraft/util/ThreadId.java
+++ b/jraft-core/src/main/java/com/alipay/sofa/jraft/util/ThreadId.java
@@ -124,10 +124,9 @@ public void setError(final int errorCode) {
             if (this.onError != null) {
                 this.onError.onError(this, this.data, errorCode);
             }
-
         } finally {
-            // Maybe destroyed in callback
-            if (!this.destroyed) {
+            // It may have been released during onError to avoid throwing an exception.
+            if (this.lock.isHeldByCurrentThread()) {
                 this.lock.unlock();
             }
         }
Repository: sofastack/sofa-jraft (Java)

Issue:
NullPointerException in NodeImpl#handleRequestVoteRequest
### Describe the bug

Sometimes NPE happens in `NodeImpl#handleRequestVoteRequest` on the line 
```
                final boolean logIsOk = new LogId(request.getLastLogIndex(), request.getLastLogTerm())
                    .compareTo(lastLogId) >= 0;
```
 
It happens when we call ` o.getTerm()` in 

```
final int c = Long.compare(getTerm(), o.getTerm());
``` 

in  `com.alipay.sofa.jraft.entity.LogId#compareTo`, because `o` is null.  It happens because 

```
final LogId lastLogId = this.logManager.getLastLogId(true);
``` 
return null. 

The reason of that is because when we 
```
offerEvent(c, EventType.LAST_LOG_ID);
``` 
in `com.alipay.sofa.jraft.storage.impl.LogManagerImpl#getLastLogId`, we are in the situation when node is stopping, so this code is called
```
        if (this.stopped) {
            ThreadPoolsFactory.runClosureInThread(this.groupId, done, new Status(RaftError.ESTOP, "Log manager is stopped."));
            return;
        }
```
in `com.alipay.sofa.jraft.storage.impl.LogManagerImpl#offerEvent`. That leads to the situation that we count down latch in `com.alipay.sofa.jraft.storage.impl.LogManagerImpl.LastLogIdClosure#latch`, but do not set `com.alipay.sofa.jraft.storage.impl.LogManagerImpl.LastLogIdClosure#lastLogId`


Let's discuss a way how to fix it properly. The problem could happen everywhere when we call `com.alipay.sofa.jraft.storage.impl.LogManagerImpl#getLastLogId` or `com.alipay.sofa.jraft.storage.impl.LogManagerImpl#getLastLogIndex(boolean)`



Discussion: what do you think about such fix? https://github.com/sofastack/sofa-jraft/pull/1153 @killme2008 @fengjiachun 



Fix (patch):
diff --git a/jraft-core/src/main/java/com/alipay/sofa/jraft/storage/impl/LogManagerImpl.java b/jraft-core/src/main/java/com/alipay/sofa/jraft/storage/impl/LogManagerImpl.java
index 4f08e89f8..a6daaf996 100644
--- a/jraft-core/src/main/java/com/alipay/sofa/jraft/storage/impl/LogManagerImpl.java
+++ b/jraft-core/src/main/java/com/alipay/sofa/jraft/storage/impl/LogManagerImpl.java
@@ -846,6 +846,11 @@ public long getLastLogIndex(final boolean isFlush) {
             Thread.currentThread().interrupt();
             throw new IllegalStateException(e);
         }
+        if (c.lastLogId == null) {
+            assert stopped : "Last log id can be null only when node is stopping.";
+
+            throw new IllegalStateException("Node is shutting down");
+        }
         return c.lastLogId.getIndex();
     }
 
@@ -894,6 +899,11 @@ public LogId getLastLogId(final boolean isFlush) {
             Thread.currentThread().interrupt();
             throw new IllegalStateException(e);
         }
+        if (c.lastLogId == null) {
+            assert stopped : "Last log id can be null only when node is stopping.";
+
+            throw new IllegalStateException("Node is shutting down");
+        }
         return c.lastLogId;
     }
Repository: microsoft/vscode-js-debug (TypeScript)

Issue:
Breakpoints assigned to incorrect line when using register/import transpiler
**Describe the bug**
I apologize in advance if this is behaving as expected and I've just misconfigured my project. If that's the case I would appreciate any advice on fixing said configuration to achieve the behavior described below.

I have a nodejs typescript project that I run locally in docker. I am using swc register to transpile code as it's loaded instead of running from a build directory. I can connect to debug the project and set breakpoints in the remote files from my local sources, but these breakpoints are generally not inserted into the expected position on the remote code. I believe this is related to the fact that the 'loaded' script is actually transpiled with an inline sourcemap, and vscode seems to be ignoring that sourcemap when it assigns the breakpoint to the mapped source file. 

For instance, trying to set a breakpoint locally on line 20 of my untranspiled file results in VSCode requesting a breakpoint at line 20 of the transpiled source, which doesn't exist.

Am I doing something wrong here? Is there some way to explicitly tell vscode where to find sourcemaps for local files so that it knows which line to request the breakpoint at?

**To Reproduce**
I created a very simple repro here:
https://github.com/bdentino/vscsm-repro

1. Checkout repo
2. `npm install` locally
3. `docker compose up api`
4. In VSCode, attach debugger and set a breakpoint at line 22.
5. Observe that breakpoint cannot be bound

![Image](https://github.com/user-attachments/assets/945d0074-c2ce-4862-9bd9-bb014406a2f4)

**Log File**

[vscode-debugadapter-ae11dbf9.json.gz](https://github.com/user-attachments/files/17608427/vscode-debugadapter-ae11dbf9.json.gz)

**VS Code Version:** 
![Image](https://github.com/user-attachments/assets/67752d97-be0e-49d5-a60a-dab0eb640f17)






Fix (patch):
diff --git a/CHANGELOG.md b/CHANGELOG.md
index df95487f9..9945002a2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,10 @@ This changelog records changes to stable releases since 1.50.2. "TBA" changes he
 
 ## Nightly (only)
 
+- fix: breakpoints not registered in transpiled file in remoteRoot ([#2122](https://github.com/microsoft/vscode-js-debug/issues/2122))
+- fix: content verification of files in Node.js failing with UTF-8 BOM
+- fix: extraneous threads continued event during shutdown at bp
+
 ## v1.96 (November 2024)
 
 - fix: performance degredation of repeated variable calls ([#2120](https://github.com/microsoft/vscode-js-debug/issues/2120))
diff --git a/src/targets/node/nodeSourcePathResolver.ts b/src/targets/node/nodeSourcePathResolver.ts
index ab1f9bfd5..df762344f 100644
--- a/src/targets/node/nodeSourcePathResolver.ts
+++ b/src/targets/node/nodeSourcePathResolver.ts
@@ -155,7 +155,7 @@ export class NodeSourcePathResolver extends SourcePathResolverBase<IOptions> {
     }
 
     if (urlUtils.isFileUrl(url)) {
-      return urlUtils.fileUrlToAbsolutePath(url);
+      return this.rebaseRemoteToLocal(urlUtils.fileUrlToAbsolutePath(url));
     }
 
     if (!path.isAbsolute(url) && this.options.basePath) {
Repository: Automattic/harper (Rust)

Issue:
feat: Flag typing "dose" instead of "does" when possible.
Both words pass spellcheck so many people don't know they've mixed them up or don't see that they made a typo.

We might not be able to find all cases but there are some heuristics from surrounding words:
- dose not → does not
- he/she/it dose -> he/she/it does

Browser already flags those:

<img width="245" alt="Image" src="https://github.com/user-attachments/assets/ffeac7ea-c0f0-4999-8821-bdc72609dca1" />

I don't think we need any lints for when it's not a mistake but there are also some heuristics:
- a dose
- the dose
- dose of



Fix (patch):
diff --git a/harper-core/src/linting/phrase_set_corrections/mod.rs b/harper-core/src/linting/phrase_set_corrections/mod.rs
index 230a38451..2f07f2fb8 100644
--- a/harper-core/src/linting/phrase_set_corrections/mod.rs
+++ b/harper-core/src/linting/phrase_set_corrections/mod.rs
@@ -115,6 +115,26 @@ pub fn lint_group() -> LintGroup {
             // or maybe Redundancy?
             LintKind::Usage
         ),
+        "DoesOrDose" => (
+            &[
+                // Negatives
+                ("dose not", "does not"),
+                // Pronouns
+                ("he dose", "he does"),
+                ("it dose", "it does"),
+                ("she dose", "she does"),
+                ("someone dose", "someone does"),
+                // Interrogatives
+                ("how dose", "how does"),
+                ("when dose", "when does"),
+                ("where dose", "where does"),
+                ("who dose", "who does"),
+                ("why dose", "why does"),
+            ],
+            "This may be a typo for `does`.",
+            "Tries to correct typos of `dose` to `does`.",
+            LintKind::Typo
+        ),
         "ExpandArgument" => (
             &[
                 ("arg", "argument"),
Repository: Automattic/harper (Rust)

Issue:
feat: The multiple spaces rule should be ignored in HTML
**Describe the bug**
Harper flags multiple contiguous spaces as an error. This is usually the right thing to do, but in HTML such multiple spaces are condensed down to a single space and people use multiple spaces for formatting, aligning, indenting, etc.

I'm only talking about within tags that contain text. Harper ignores whitespace that's part of the HTML format.

**To Reproduce**
Steps to reproduce the behavior:
1. Open an HTML file in your harper-supporting editor.
2. Look for text with multiple spaces, or type in some extra spaces.
3. Note the squigglies.

**Expected behavior**
No squigglies for repeated spaces in text parts of HTML files.

**Screenshots**

<img width="792" alt="Image" src="https://github.com/user-attachments/assets/1064144c-681b-4fd4-8d89-ba2a530d3750" />

**Additional context**
This might involve a general way of disabling specific lints for specific file formats, which will probably turn out to be useful elsewhere.



Fix (patch):
diff --git a/harper-html/src/lib.rs b/harper-html/src/lib.rs
index f8c7bff88..f4fb6d89a 100644
--- a/harper-html/src/lib.rs
+++ b/harper-html/src/lib.rs
@@ -1,9 +1,10 @@
 use harper_core::parsers::{self, Parser, PlainEnglish};
-use harper_core::Token;
+use harper_core::{Token, TokenKind};
 use harper_tree_sitter::TreeSitterMasker;
 use tree_sitter::Node;
 
 pub struct HtmlParser {
+    /// Used to grab the text nodes.
     inner: parsers::Mask<TreeSitterMasker, PlainEnglish>,
 }
 
@@ -26,6 +27,14 @@ impl Default for HtmlParser {
 
 impl Parser for HtmlParser {
     fn parse(&self, source: &[char]) -> Vec<Token> {
-        self.inner.parse(source)
+        let mut tokens = self.inner.parse(source);
+
+        for token in &mut tokens {
+            if let TokenKind::Space(v) = &mut token.kind {
+                *v = (*v).clamp(0, 1);
+            }
+        }
+
+        tokens
     }
 }
Repository: Automattic/harper (Rust)

Issue:
Typst content blocks are not isolated
**Describe the bug**
Text inside content blocks is treated as if it were not isolated from that inside other content blocks.
An example is in a table, content blocks that are for different columns but are on the same row get joined together.

**To Reproduce**
Create two content blocks next to each other with `No` in each. The repeated word linter triggers.

**Expected behavior**
These should be treated as different paragraphs/blocks of text.

**Screenshots**
Note the columns on the right:
<img width="1752" height="882" alt="Image" src="https://github.com/user-attachments/assets/cceacef9-ea6f-41bc-b93d-dbb89d859f48" />


Discussion: Also, unrelated, the repeated word isn't triggering on Yes but it is on No. Not sure if this is documented yet.



Fix (patch):
diff --git a/harper-typst/src/typst_translator.rs b/harper-typst/src/typst_translator.rs
index 2c2db3c84..78bae05d2 100644
--- a/harper-typst/src/typst_translator.rs
+++ b/harper-typst/src/typst_translator.rs
@@ -152,6 +152,17 @@ impl<'a> TypstTranslator<'a> {
             };
         }
 
+        fn parbreak() -> Option<Vec<Token>> {
+            Some(vec![Token {
+                span: harper_core::Span::EMPTY,
+                kind: TokenKind::ParagraphBreak,
+            }])
+        }
+
+        fn isolate(inner: Option<Vec<Token>>) -> Option<Vec<Token>> {
+            merge![parbreak(), inner, parbreak()]
+        }
+
         // Recurse on each element of an iterator
         let iter_recurse = |exprs: &mut dyn Iterator<Item = Expr>| {
             let mut buf = Vec::new();
@@ -294,7 +305,9 @@ impl<'a> TypstTranslator<'a> {
                         .collect_vec(),
                 )
             }
-            Expr::Content(content_block) => iter_recurse(&mut content_block.body().exprs()),
+            Expr::Content(content_block) => {
+                isolate(iter_recurse(&mut content_block.body().exprs()))
+            }
             Expr::Parenthesized(parenthesized) => recurse!(parenthesized.expr()),
             Expr::Array(array) => Some(
                 array
Repository: libuv/libuv (C)

Issue:
uv_fs_copyfile is missing chgrp and other attributes
On Windows, the file attributes are fulled copied over (per https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-copyfilew), but on unix, it appears only the file mode attribute, and not others (`cp --preserve` specifies ownership, timestamps, context, links, xattr) are handled:
```
> fs.copyFileSync("vcbuild.bat", "cpbuild", )

$ ls -l vcbuild.bat cpbuild 
-rw-rw-r-- 1 vtjnash vtjnash 30492 Mar  2 13:27 cpbuild
-rw-rw-r-- 1 vtjnash sudo    30492 Nov 13 14:32 vcbuild.bat
```


Discussion: This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

I can work on this one
Just for clarification, do you think that a new option is required for the `uv_fs_copyfile`? If this lands w/out changing the API but the implementation could be considered as a breaking change?
No, I don't think we need a new option. This is a bug fix.
That said, it might be nice to have the bugfix as an option though (preserve=yes/no), after going through the work to implement the bugfix, to give users the option of which of the semantics (esp. utimes or current time) are desired
Would that option be platform specific like the bug though? It seems like it might be more hassle than it's worth. Your call though.
The main question is whether Unix or Windows behavior is currently "correct". The total fix would this be to implement the opposite behavior from whatever is currently default on that platform, on both platforms, with a flag. The half fix is to implement the consistent behavior only on one platform, with a flag, and leave the bug unresolved for the other platform, which is no worse than current behavior.
I think most users probably want a full copy (data + metadata), or as close as we can get. I would try to solve that before adding more flags, which would probably also complicate the Windows implementation.



Fix (patch):
diff --git a/src/unix/fs.c b/src/unix/fs.c
index a6b2aa25c0b..0c6c585c6d6 100644
--- a/src/unix/fs.c
+++ b/src/unix/fs.c
@@ -1233,6 +1233,7 @@ static ssize_t uv__fs_copyfile(uv_fs_t* req) {
   uv_file dstfd;
   struct stat src_statsbuf;
   struct stat dst_statsbuf;
+  struct timespec times[2];
   int dst_flags;
   int result;
   int err;
@@ -1310,6 +1311,29 @@ static ssize_t uv__fs_copyfile(uv_fs_t* req) {
     }
   }
 
+  /**
+   * Change the timestamps of the destination file to match the source file.
+   */
+#if defined(__APPLE__)
+  times[0] = src_statsbuf.st_atimespec;
+  times[1] = src_statsbuf.st_mtimespec;
+#else
+  times[0] = src_statsbuf.st_atim;
+  times[1] = src_statsbuf.st_mtim;
+#endif
+
+  if (futimens(dstfd, times) == -1) {
+    err = UV__ERR(errno);
+    goto out;
+  }
+
+  /*
+   * Change the ownership and permissions of the destination file to match the
+   * source file.
+   * `cp -p` does not care about errors here, so we don't either.
+   */
+  fchown(dstfd, src_statsbuf.st_uid, src_statsbuf.st_gid);
+
   if (fchmod(dstfd, src_statsbuf.st_mode) == -1) {
     err = UV__ERR(errno);
 #ifdef __linux__
Repository: eclipse-cyclonedds/cyclonedds (C)

Issue:
Memory leak when cdr failed
When serialization failed (for example a boolean object has a value of 2 other than 0/1), `dds_write` returns error code `-3`. If I ignore this error and go on calling `dds_write`, memory comsumption grows.

After debug with valgrind, it shows `serdata_default_from_sample_cdr_commo` has memory leak. When `dds_stream_write_sample` returns NULL, the ostream buffer or the serdata object is not freed.


Discussion: Thanks for catching that!

The fix is quite [obvious](https://github.com/eclipse-cyclonedds/cyclonedds/compare/master...eboasson:cyclonedds:fix-memleak-write-invalid-data?expand=1) but now my reproducing test fails on `dds_write` not giving return code -3 on only one platform and that all seems rather platform independent code, so I'll need to dig into it a bit further before doing a PR.



Fix (patch):
diff --git a/src/core/ddsc/src/dds__reader.h b/src/core/ddsc/src/dds__reader.h
index 4cf6769ed9..e797c39b19 100644
--- a/src/core/ddsc/src/dds__reader.h
+++ b/src/core/ddsc/src/dds__reader.h
@@ -51,4 +51,4 @@ DEFINE_ENTITY_LOCK_UNLOCK(dds_reader, DDS_KIND_READER, reader)
 }
 #endif
 
-#endif // DDS__READER_H
\ No newline at end of file
+#endif // DDS__READER_H
diff --git a/src/core/ddsc/src/dds_serdata_default.c b/src/core/ddsc/src/dds_serdata_default.c
index 7c3ccf9f53..911a0d9de8 100644
--- a/src/core/ddsc/src/dds_serdata_default.c
+++ b/src/core/ddsc/src/dds_serdata_default.c
@@ -599,18 +599,26 @@ static struct dds_serdata_default *serdata_default_from_sample_cdr_common (const
         /* We have a XCDR1 key, so this must be converted to XCDR2 to store
            it as key in this serdata. */
         if (!gen_serdata_key_from_sample (tp, &d->key, sample))
-          return NULL;
+          goto error;
       }
       break;
-    case SDK_DATA:
-      if (!dds_stream_write_sample (&os, sample, &tp->type))
-        return NULL;
+    case SDK_DATA: {
+      const bool ok = dds_stream_write_sample (&os, sample, &tp->type);
+      // `os` aliased what was in `d`, but was changed and may have moved.
+      // `d` therefore needs to be updated even when write_sample failed.
       ostream_add_to_serdata_default (&os, &d);
+      if (!ok)
+        goto error;
       if (!gen_serdata_key_from_sample (tp, &d->key, sample))
-        return NULL;
+        goto error;
       break;
+    }
   }
   return d;
+
+error:
+  ddsi_serdata_unref (&d->c);
+  return NULL;
 }
 
 static struct ddsi_serdata *serdata_default_from_sample_data_representation (const struct ddsi_sertype *tpcmn, enum ddsi_serdata_kind kind, dds_data_representation_id_t data_representation, const void *sample, bool key)