primordic/IssueDupesLite huggingface dataset:
Repository: google/gson

Issue #526: Support new Guava collections by default
Created: 2015-03-19T18:33:36Z
What steps will reproduce the problem?
1. Create Guava collection as a member element of a class. Example:

import java.util.Collection;
import java.util.Map;

import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

public class GsonExample {
    private final Multimap<String, String> map = HashMultimap.create();
    private final Map<String, Collection<String>> asMap;
    public GsonExample() {
        map.put("a", "a");
        map.put("a", "b");
        map.put("b", "b");
        asMap = map.asMap();
    }
    public static void main(String[] args) {
        GsonExample ex = new GsonExample();
        Gson g = new GsonBuilder().setPrettyPrinting().create();
        System.out.println(g.toJson(ex));
    }
}

What is the expected output? What do you see instead?
Expected:
{
  "map": {
    "b": [
      "b"
    ],
    "a": [
      "b",
      "a"
    ]
  },
  "asMap": {
    "b": [
      "b"
    ],
    "a": [
      "b",
      "a"
    ]
  }
}

Actual:
{
  "map": {},
  "asMap": {
    "b": [
      "b"
    ],
    "a": [
      "b",
      "a"
    ]
  }
}

What version of the product are you using? On what operating system?
I am using Gson 2.2.4 and Guava 14.0.1 on Windows 7 x64, Java 7u25.

Please provide any additional information below.
This is a feature enhancement, not a bug. Thanks!

Original issue reported on code.google.com by martin.j...@gmail.com on 24 Jun 2013 at 3:33

Duplicate issue #1847: asMap() has to be called to serialize a multimap object
Created: 2021-01-12T02:17:08Z
ArrayListMultimap<String, Integer> multimap = ArrayListMultimap.create();
multimap.put("1", 1);
multimap.put("1", 111);
multimap.put("2", 2);
System.out.println(gson.toJson(multimap));

This would print out a completely empty map, i.e. {}.
If we call System.out.println(gson.toJson(multimap.asMap())); then it works, however this means that for any objects that have a Multimap property, the property will be serialized as an empty string when calling toJson(), which is very confusing.
Edit: It is possible to resolve the issue by writing a custom type adaptor like the following. It'd be great if gson can just include a standard type adapter for Multimap.
https://gist.github.com/jingyuyao/3030571e9051142c3a7ec498435a0c3c

Closing comment (2022-07-24T21:27:16Z): Probably a duplicate of #526
Repository: google/gson

Issue #672: No built-in type adapter for Iterable
Created: 2015-07-29T04:08:22Z
This: #428
Iterable is a very fundamental type that sees extensive use.   It really should be supported out of the box.

Duplicate issue #1386: Iterable<> object return a empty json "{}"
Created: 2018-09-17T09:28:51Z
This is a bug?

Closing comment (2018-09-17T13:00:20Z): Dupe of #672
Repository: google/gson

Issue #2093: Android parsing exceptions, found three times
Created: 2022-03-24T06:21:53Z
Gson version
2.8.5
Java / Android version
java：1.8
android:
compileSdk = 29
buildVersion = "29.0.3"
minSdk = 21
targetSdk = 29
Description
invoke Gson toJsons Method, The returned result is error. Upload to the server, a total of three errors were found。
public String toJson(Object src) {
if (src == null) {
return toJson(JsonNull.INSTANCE);
}
return toJson(src, src.getClass());
}
Server Log:

looking forward to a reply

Duplicate issue #759: toJson on android some times send false argument as ?e\u0000\u0000
Created: 2015-12-23T16:01:04Z
I am using gson-2.2 on android aplication to convert object to json in order to send it to server
example:
class Event {
private boolean flag;
public Event(boolean flag) {
this.flag = flag
}
public boolean getFlag() {
return this.flag;
}
}
Event event = new Event(false);
String json = new Gson().toJson(event);
Randomly the json received as {"flag":?e\u0000\u0000}
any ideas!

Closing comment (2022-08-02T22:57:44Z): Might be memory corruption, similar to #2093. Though given that this was reported 7 years ago, this is probably no longer relevant.
Repository: google/gson

Issue #1840: Add convenience method for POJO to POJO conversion
Created: 2020-12-18T09:35:09Z
Jackson has this feature:
https://fasterxml.github.io/jackson-databind/javadoc/2.12/com/fasterxml/jackson/databind/ObjectMapper.html#convertValue-java.lang.Object-java.lang.Class-
Would be great to have this in Gson. Tired of creating custom Converter classes :-)

Duplicate issue #507: no option for runtime conversion using class type and data object
Created: 2015-03-19T18:33:28Z
i am having a requirement for converting an object to json and then 
reconverting json string to object.

For Converting bean to JSON- i am having following input-
- bean object
- Class type object of bean to be converted to JSON. 
(generic conversion of bean object of any type)


and on other side for conversion from JSON string to java bean object, i am 
having following input-
- JSON string for the bean.
- Class object of type in which JSON is to be converted. 
(generic conversion of bean object of any type)




Original issue reported on code.google.com by ashishne...@gmail.com on 23 Mar 2013 at 3:42

Closing comment (2023-03-12T23:06:26Z): Since this issue is from 2013 and does not provide a specific example I am going to close this. Possibly the desired functionality can already be achieved with one Gson.toJson call followed by a Gson.fromJson call. Maybe this is also the same as #1840.
Repository: google/json_serializable.dart

Issue #559: JsonKey's `unknownEnumValue` allows `null` fallback, which will crash at runtime
Created: 2019-11-06T12:23:50Z
We just hit an issue at runtime, where a JSON field defined with unknownEnumValue: null, would crash during parsing at runtime, due to this check in the generated code:
  if (value == null && unknownValue == null) {
    throw ArgumentError('`$source` is not one of the supported values: '
        '${enumValues.values.join(', ')}');
  }
I think if we know for sure that an unknown value of null is not allowed, we shouldn't allow that to be declared on the JsonKey.
On the other hand, to me it seems perfectly fine to have null values for unknowns (if the field is properly document and in the future marked as nullable).
So to fix that, I would propose to use a sentinel value to denote "no unknownEnumValue is specified" and only err when there really is no value – else return null or whatever else was defined as fallback.
Any thoughts on this? If desired I could implement this as a PR.
 flutter --version
Flutter 1.10.15-pre.307 • channel unknown • unknown source
Framework • revision 2cedd559bb (8 days ago) • 2019-10-29 00:43:06 -0400
Engine • revision 419f5d594a
Tools • Dart 2.6.0 (build 2.6.0-dev.8.2 e1fce75301)

Duplicate issue #838: Gracefully handle unsupported enum values
Created: 2021-03-18T13:55:14Z
Currently when an unsupported enum value is found the decoder throws an ArgumentError. This can completely break an app in production when an enum value is added to the server.
Currently the only option is to add an xUnknown value to each enum, which seems completely unnecessary for a nullable value.
It would be great to either add a new property to JsonKey, e.g. allowUnsupportedEnumValue, or handle the same logic if both nullable == true and unknownEnumValue == null.
Flutter 1.22.6 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 9b2d32b605 (8 weeks ago) • 2021-01-22 14:36:39 -0800
Engine • revision 2f0af37152
Tools • Dart 2.10.5

Closing comment (2021-07-13T23:16:01Z): Duplicate of #559
Repository: google/json_serializable.dart

Issue #236: Cannot handle types defined in Flutter dart:ui
Created: 2018-06-13T01:19:16Z
UPDATE: Likely due to and blocked by dart-lang/build#733
Color fields with @JsonKey(fromJson: _colorFromJson, toJson: _colorToJson) annotations fail.
Setup

json_serializable 0.5.7
json_annotation 0.2.8
flutter 0.4.4

Repo

Use the following code

@JsonSerializable(nullable: true, includeIfNull: false)
class TestClass extends Object with _$TestClassSerializerMixin {
  @JsonKey(fromJson: _colorFromJson, toJson: _colorToJson)
  Color color;

  TestClass();
  factory TestClass.fromJson(Map<String, dynamic> jsonMap) => _$TestClassFromJson(jsonMap);
}

Color _colorFromJson(String colorString) {
  int intColor = int.tryParse(colorString, radix: 16);
  if (intColor == null)
    return null;
  else
    return new Color(intColor);
}

String _colorToJson(Color color) => color.value.toRadixString(16);

Run flutter packages pub run build_runner build

Result
Build fails. No usable xxx.g.dart file created. Errors on screen.
[SEVERE] json_serializable on lib/data/xxx.dart:
Error running JsonSerializableGenerator
At least one field has an invalid type: `color`.
package:xxxxxxxx/data/xxxx.dart:63:9
  Color color;
        ^^^^^

Comments
Seems related to functionality in #133 (comment) by @kevmoo .

Duplicate issue #1233: regression: JsonConverter & Lists
Created: 2022-10-27T01:11:45Z
flutter --version
Flutter 3.3.5 • channel stable • https://github.com/flutter/flutter.git
Framework • revision d9111f6402 (7 days ago) • 2022-10-19 12:27:13 -0700
Engine • revision 3ad69d7be3
Tools • Dart 2.18.2 • DevTools 2.15.0

I have a custom converter:
class OffsetConverter implements JsonConverter<Offset?, List<double>> {
  const OffsetConverter();

  @override
  Offset? fromJson(List<double> offsetList) => offsetFromJson(offsetList);

  @override
  List<double> toJson(Offset? offset) => offsetToJson(offset!);
}
The converter still works for Offset? if not within a List, however, this throws an error:
@JsonSerializable()
@OffsetConverter()
class PointDrawPart {
  final List<Offset?>? points;

  PointDrawPart({
    required this.points,
  });

  factory PointDrawPart.fromJson(Map<String, dynamic> json) =>
      _$PointDrawPartFromJson(json);

  @override
  Map<String, dynamic> toJson() => _$PointDrawPartToJson(this);
}
Here's the error:
    lib/platform/image_editor/json/option/draw.g.dart:65:31: Error: The argument type 'List<dynamic>?' can't be assigned to
    the parameter type 'List<Offset?>?'.
     - 'List' is from 'dart:core'.
     - 'Offset' is from 'dart:ui'.
          points: (json['points'] as List<dynamic>?)
                                  ^

Closing comment (2022-10-27T02:42:41Z): This is an OOOOLD issue.
Duplicate of #236
Repository: google/json_serializable.dart

Issue #19: Handle potentially aliased imports
Created: 2017-07-21T03:56:52Z
It's really not safe to reference Map or String in the case where someone does import "dart:core" as foo; – in practice this should be rare.
Same for other types. In general, we just write out the type name w/ out worrying about imports.

Duplicate issue #586: Library import prefixes are ignored.
Created: 2020-01-04T17:28:48Z
On JsonKey, when the function of toJson and fromJson uses library prefix (e.g. import 'x.dart' as x; JsonKey(fromJson: x.myFunc)), the generated code does not include the library prefix (it becomes myFunc instead of x.myFunc).
Similar thing happens when using an prefix-imported JsonConverter.

Closing comment (2020-01-04T18:04:07Z): Duplicate of #19
Very much known. just a lot of work to deal with. PRs welcome 😄
Repository: google/json_serializable.dart

Issue #347: Output Directory
Created: 2018-10-10T20:35:04Z
Is there a way to put the generated files somewhere other than with the "source" files?  I would like to put all the .g files into a folder to keep my models by themselves.
Thanks

Duplicate issue #886: How to let the  generated code  in another directory?
Created: 2021-05-08T10:49:03Z
When I have a lot of models , there will a lot of  generated code files  in the same directory.
I want to move the generated code files to a directory like this:
├─model
│  │  note.dart
│  │  note_table.dart
│  │  todo.dart
│  │  todo_item.dart
│  │  user.dart
│  │
│  └─json
│          note.g.dart
│          todo.g.dart
│          todo_item.g.dart
│          user.g.dart

Closing comment (2021-05-24T20:21:06Z): Duplicate of #347
Repository: google/json_serializable.dart

Issue #306: Request for adding support to generate the code in a separate folder to keep the main code directory clean
Created: 2018-09-05T15:24:37Z
Hi.
This is really a feature request. Can you modify this awesome library to accept some the folder name as part of the part 'somefile.g.dart' ? Example: part './generated/somefile.g.dart' ? This would really help to keep our main source files directory clean.

Duplicate issue #720: Allow specifying the output folder
Created: 2020-09-19T14:07:09Z
Versions:
Flutter 1.20.3 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 216dee60c0 (3 weeks ago) • 2020-09-01 12:24:47 -0700
Engine • revision d1bc06f032
Tools • Dart 2.9.2

Reasoning:
I feel that the generated files creates a mess, especially if you have a lot of classes like I do. I would like to move all the generated stuff to its own folder like __generated__ for example so that I don't have to look at them while I'm actively developing. This could be added as an option in the build.yaml for example and allow you to use an absolute route to a folder or have it be relative to where the class is located.

Closing comment (2020-09-19T15:12:14Z): Duplicate of #306
Repository: google/json_serializable.dart

Issue #490: support for nested items in @JsonKey(name:)
Created: 2019-05-22T12:31:10Z
It would be great if we could directly access nested items in the name String of @JsonKey. Consider this Json:
"root_item": {
    "items": [
        {
            "name": "first nested item"
        },
        {
            "name": "second nested item"
        }
    ]
}
I would like to do:
@JsonKey(name: "root_item/items")
List<NestedItem> nestedItems;
Sorry if this is already possible, but i could not find anything.

Duplicate issue #657: How to get nested values without writing boilerplate code?
Created: 2020-06-15T15:56:14Z
Is there a way to avoid writing boilerplate nested classes to get deeply nested values? Having json object like this:
{
  name: {
    first: "Taras",
    last: "Shevchenko"
  }
  ...
}

To just get first name of the user I'm forced to create another class:
class User {
  final UserName name;
  ...
}

class UserName {
  final String first;
  final String last;
}

It would be great if It could be written with json pointer syntax like following:
class User {
  @JsonKey(name: "name/first")
  final UserName name;
   ...
}

Closing comment (2020-06-15T20:55:29Z): Duplicate of #490
Repository: google/mtail

Issue #36: extract metrics from log file metadata (e.g. getfilename())
Created: 2016-07-16T03:11:35Z
https://groups.google.com/d/topic/mtail-users/7h1AVuY4YCE/discussion
The request is to annotate the exported metrics with some labels at a larger scope than just the log line.
The log filename could contain metadata about the log line, i.e. the hostname it arrived from, perhaps.  This also raises the question, should you be able to add labels at higher levels too: the whole program, and mtail itself?
(The short answer to the latter, I think, is no: if you want to export a whole program label, you can do that already with constant values; if you want to apply a label globally, you can do that with the collecting system, e.g. with Prometheus, use the labels syntax to annotate with static labels, or use relabel_config: https://prometheus.io/docs/operating/configuration/#<relabel_config>)
The mtail program currently does not get to see the metadata of the log, such as its filename.  The language assumes that a match is done solely against the log line.
This bug should figure out how to modify the language to pass the log filename to the program so that it can be matched upon, as well.  If we discover other log metadata that should be available to the program, let's add it here too.

Duplicate issue #118: getfilename() should allow for regexes and capturing
Created: 2017-10-25T17:54:33Z
The syntax for this is likely going to be related to #88 ; I'm trying to monitor conserver logs to identify if a heartbeat message has or has not been sent, and using that to verify that serial settings are correct.  Specifically, I'm doing this via triggering a sysrq message to ensure it goes to console.
Yes that's dirty and horrible, but hey, it works.
What I'd like to write is thus:
counter console_heartbeat_seen by host
getfilename() =~ /^\/var\/log\/conserver\/(?P<host>.+)$/ {
  /SysRq : HELP :/ {
    conssole_heartbeat_seen[$host]++
  }
}

However, there is no way to do matching against getfilename for grouping.  More annoyingly, because I'm monitoring a directory without knowing the files that exist up front, I'm using -logs /var/log/conserver/*; however I can't use regex against getfilename() to limit the program.  For example, the following is an example of where getfilename() now isn't fully usable (irregardless of my request for captures):
getfilename() == "/var/log/conserver/*"

Since getfilename is the log file name, and since I'm using globbing for -logs, there is no way to make this syntax work for whitelisting.  Blacklisting- like thus- is the workaround.
getfilename() != '/var/log/kern.log'

That's not a great solution; that assumes that no other log source mtail sees will have the pattern I'm checking for, and also results in that program being applied to all log sources sans kern.log.

Closing comment (2017-10-30T10:18:30Z): I think this is an exact duplicate of #36
Repository: google/mtail

Issue #116: using metric in comparison conditions
Created: 2017-10-21T07:14:17Z
Build: mtail version v3.0.0-rc4-7-gd72ed38 git revision d72ed38 go version go1.8.3
Howdy Folks,
I'm trying to store the response time after multiplying it by 1000 to a variable and trying to put it in buckets... something like this:
gauge response_time
counter hit
counter miss

/^/ +
/(?P<response_seconds>\d+\.\d+) / +
/$/ {
    response_time = $response_seconds * 1000
    response_time < 100000 {
        hit++
    } else {
        miss++
    }
}

I will see the correct value for the gauge 'response_time' but 'hit' and 'miss' will get no data.  What am I missing?
Cheers,
Kelvin
Edit: I'm aware I can just change it to:
    $response_seconds < 100 {
        hit++
    } else {
        miss++
    }

Duplicate issue #140: Support including hidden metric as label of another metric
Created: 2018-01-22T10:43:12Z
Hi,
another proposal, in some sense similar to #139. It would be also nice to have an ability to include (hidden) metric as a label of another metric.
An example:
hidden gauge state
counter state_exported by state

/^0$/ {
  state = 0
}

/^[1-9][0-9]*$/ {
  state += 1
}

state_exported[state]++

Thank you for considering.

Closing comment (2018-06-08T00:52:52Z): Just realised this is a duplicate of #116
Repository: google/mtail

Issue #116: using metric in comparison conditions
Created: 2017-10-21T07:14:17Z
Build: mtail version v3.0.0-rc4-7-gd72ed38 git revision d72ed38 go version go1.8.3
Howdy Folks,
I'm trying to store the response time after multiplying it by 1000 to a variable and trying to put it in buckets... something like this:
gauge response_time
counter hit
counter miss

/^/ +
/(?P<response_seconds>\d+\.\d+) / +
/$/ {
    response_time = $response_seconds * 1000
    response_time < 100000 {
        hit++
    } else {
        miss++
    }
}

I will see the correct value for the gauge 'response_time' but 'hit' and 'miss' will get no data.  What am I missing?
Cheers,
Kelvin
Edit: I'm aware I can just change it to:
    $response_seconds < 100 {
        hit++
    } else {
        miss++
    }

Duplicate issue #139: Support for matching hidden metric in addition to regex groups
Created: 2018-01-22T10:20:59Z
Hello,
it would be nice to have an ability to match not only regex groups but also (hidden) metrics. This would allow us to keep state in between different log lines.
Simple example:
hidden gauge state

/^0$/ {
  state = 0
}

/^[1-9][0-9]*$/ {
  state += 1
}

state < 3 {
    DO_SOMETHING
}

state >= 3 {
    DO_SOMETHING_ELSE
}

Thank you for considering.

Closing comment (2018-06-08T00:53:18Z): Also, a dupe of #116
Repository: google/oss-fuzz

Issue #12434: issues "open" in bugs.chromium.org but "fixed" in oss-fuzz.com
Created: 2024-08-31T15:58:39Z
I've got two issues in https://bugs.chromium.org
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=68994&q=libreoffice
and
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=69874&q=libreoffice
which link to
https://oss-fuzz.com/testcase-detail/5939540316454912
and
https://oss-fuzz.com/testcase-detail/5598214137380864
where oss-fuzz has about a week ago detected fixes for the issues and in oss-fuzz the issues are now tagged as Fixed, but that state doesn't seem to have been picked up at https://bugs.chromium.org

Duplicate issue #12441:  Fuzzing build failure issue not closed when builds have been succeeding
Created: 2024-09-02T19:40:02Z
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=71329&q=proj%3Asuricata&can=2 is still open when https://oss-fuzz-build-logs.storage.googleapis.com/index.html#suricata shows success like https://oss-fuzz-build-logs.storage.googleapis.com/log-4dcab20d-8613-4e82-9cf7-83b61f1eac34.txt

Closing comment (2024-09-03T19:14:15Z): Duplicate of #12434?
Repository: google/oss-fuzz

Issue #681: [qubes-os] "Merging new testcases failed:"
Created: 2017-06-18T06:01:53Z
I am unable to access the performance report and coverage statistics for the libqubes-rpc-filecopy fuzz target. Based on the logs, I think it might be because the fuzz targets are not being executed.
Command: /mnt/scratch0/clusterfuzz/slave-bot/builds/clusterfuzz-builds_qubes-os_dba2089d23e7b835b08c68a02d4a2dca7a3c102b/revisions/libqubes-rpc-filecopy -max_len=10240 -timeout=25 -rss_limit_mb=2048 -artifact_prefix=/ -max_total_time=2950 -print_final_stats=1 /new /qubes-os_libqubes-rpc-filecopy
Bot: oss-fuzz-linux-zone1-pre-qubes-os-6vdq
Time ran: 0.117007

INFO: Seed: 525719240
INFO: Loaded 1 modules (126 guards): [0x883530, 0x883728),
Loading corpus dir: /new
Loading corpus dir: /qubes-os_libqubes-rpc-filecopy
INFO: A corpus is not provided, starting from an empty corpus
#0	READ units: 1
EOF
Merging new testcases failed:

I have tested running the fuzz targets locally using the infra/helper.py script, and that does works fine.
user@work ~/p/oss-fuzz> python infra/helper.py run_fuzzer qubes-os libqubes-rpc-filecopy                                                              qubes-linux-utils
Running: docker run --rm -i --cap-add SYS_PTRACE -e FUZZING_ENGINE=libfuzzer -v /home/user/projects/oss-fuzz/build/out/qubes-os:/out -t gcr.io/oss-fuzz-base/base-runner run_fuzzer libqubes-rpc-filecopy
/out/libqubes-rpc-filecopy -rss_limit_mb=2048 -timeout=25 -max_len=10240
INFO: Seed: 662960318
INFO: Loaded 1 modules (126 guards): [0x8865f0, 0x8867e8), 
INFO: A corpus is not provided, starting from an empty corpus
#0	READ units: 1
#1	INITED cov: 29 ft: 27 corp: 1/1b exec/s: 0 rss: 30Mb
#10	NEW    cov: 29 ft: 28 corp: 2/126b exec/s: 0 rss: 30Mb L: 125 MS: 4 CMP-CMP-CopyPart-InsertRepeatedBytes- DE: "\x00\x00\x00\x00\x00\x00\x00 "-"handle_ill"-
#51	NEW    cov: 30 ft: 33 corp: 3/10366b exec/s: 51 rss: 31Mb L: 10240 MS: 5 CopyPart-CMP-CMP-ShuffleBytes-CrossOver- DE: "\x00\x00\x00\x00\x00\x00\x00\x07"-"rss_l"-
...

Duplicate issue #684: Logs of qubes-os fuzz targets are empty
Created: 2017-06-20T17:39:40Z
for example:
Command: /mnt/scratch0/clusterfuzz/slave-bot/builds/clusterfuzz-builds_qubes-os_dba2089d23e7b835b08c68a02d4a2dca7a3c102b/revisions/libqubes-rpc-filecopy -max_len=10240 -timeout=25 -rss_limit_mb=2048 -artifact_prefix=/ -max_total_time=2950 -print_final_stats=1 /new /qubes-os_libqubes-rpc-filecopy
Bot: oss-fuzz-linux-zone1-pre-qubes-os-dksj
Time ran: 0.039732

INFO: Seed: 4010576996
INFO: Loaded 1 modules (126 guards): [0x883530, 0x883728),
Loading corpus dir: /new
Loading corpus dir: /qubes-os_libqubes-rpc-filecopy
INFO: A corpus is not provided, starting from an empty corpus
#0	READ units: 1
EOF
Merging new testcases failed:

Though it works locally. I'll post an update soon, once I understand what's wrong.
//cc @paraschetal

Closing comment (2017-06-20T17:40:29Z): This is the same as #681. Probably because of minijail, but I haven't had a chance to take a look yet.
Repository: google/oss-fuzz

Issue #402: Potential new projects to integrate with OSS-Fuzz
Created: 2017-02-17T23:26:23Z
Let's use this  issue to maintain a list of projects that we want to see on oss-fuzz.
Volunteers welcome!

  binutils, e.g. cplus_demangle (seen fuzzable bugs in the past)
  more fuzz targets from LLVM, we currently have only llvm_libcxxabi
  libstdc++ regex (e.g. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79539)
  libexif
  PCRE (we have PCRE2, but not PCRE)
  python (https://bugs.python.org/issue29505)
  gstreamer (https://lwn.net/Articles/708196/ and also #93)
  mysql
  http://www.gfwx.org/
  http://www.libtiff.org/
  https://sourceforge.net/projects/giflib/
  https://github.com/jrmuizel/qcms/
  imagemagick @dlemstra (#430)
  graphviz @emdenrg (#182) (upstream not interested)
  gstreamer @bilboed (#93)
  vim/neovim @dpelle (#96)
  s2n @raycoll, @alexw91, @colmmacc (#238)
  libelf, libdwarf (#64)
(add to this list instead of creating a new comment)
  more/better fuzzing for ICU https://github.com/google/oss-fuzz/tree/master/projects/icu
  apache httpd
  https://xerces.apache.org/xerces-c/
  https://github.com/google/piex
  libidn2
  libzip
 dovecot
 Node.js
 tcpdump
 bluez
 cairo
 coreboot
 dbus
 dhcpcd
 dtc (device tree compiler)
 laptop-mode-tools
 libcamera
 libevdev
 libiio
 libpciaccess
 modemmanager
 xf86-input-synaptics
 vlc
 php-src
 bind9
 projects from Cloud Native Computing Foundation(https://www.cncf.io/projects/)

Duplicate issue #238: add s2n to OSS-Fuzz
Created: 2017-01-03T20:43:48Z
s2n already uses libFuzzer: https://github.com/awslabs/s2n/tree/master/tests/fuzz
so it should be pretty easy to add s2n to OSS-Fuzz.
@raycoll, @alexw91, @colmmacc,
please check https://github.com/google/oss-fuzz if you are interested.
We already fuzz other crypto libs (openssl, boringssl, botan, gnutls, nss) and we have cross-pollination
of inputs between different targets -- so OSS-Fuzz has a chance to add value on top of your own fuzzing process.

Closing comment (2017-04-03T19:50:23Z): tracked in #402.
@alexw91 - did you get a chance to take a look.
Repository: google/oss-fuzz

Issue #8241: Java coverage builds are failing
Created: 2022-08-13T12:45:31Z
See https://oss-fuzz-build-logs.storage.googleapis.com/log-71bca0f6-29c8-448a-98b2-335054df3cb0.txt
@jonathanmetzman Could this be related to ddd25e3? It looks like the report has been generated and uploaded at that point, which makes me think this is not a regression in Jazzer.

Duplicate issue #8344: Joda-Time coverage build failing
Created: 2022-08-24T09:02:22Z
Hi, Joda-Time has started failing but I have no idea why. All I did was update a few Maven dependencies. The build log is unhelpful, and I don't  really have a clue as to what is going on:
Starting Step #9
Step #9: Already have image (with digest): gcr.io/cloud-builders/gsutil
Step #9: CommandException: No URLs matched. Do the files you're operating on exist?
Finished Step #9

FWIW, it looks like the Java build completed just fine.

Closing comment (2022-09-04T14:00:00Z): Yes, all java builds are still failing their coverage builds.
Joda-Time's coverage build is failing (non-coverage builds are succeeding).
Will keep this closed as the java coverage build failing is tracked in #8241
Repository: google/oss-fuzz

Issue #6710: gcloud installation in cifuzz-base is 846MB
Created: 2021-10-31T14:22:29Z
We should reduce this.

Duplicate issue #6769: Upstream Clusterfuzzlite Image does not support Docker in Docker
Created: 2021-11-04T18:24:04Z
Currently to use Clusterfuzzlite with Prow we use a different image that contains some bootstrap code that allows Docker in Docker to run. Ideally this would be upstreamed to help Prow's version of Clusterfuzz lite stay up to date with the upstream version.
Download Prow CFL image here:
https://pantheon.corp.google.com/gcr/images/k8s-testimages/GLOBAL/ci_fuzz
Dockerfile for it is here:
https://github.com/kubernetes/test-infra/blob/master/experiment/ci-fuzz/Dockerfile

Closing comment (2021-11-07T23:46:16Z): This is similar to #6710 @oliverchang WDYT of this? I think we will probably need to have different images for different platforms if we want to avoid making the image pull time too long. Already it takes about 50 seconds.

+1 to a separate image for supporting Prow.
https://github.com/kubernetes/test-infra/blob/master/experiment/ci-fuzz/Dockerfile is broken but what needs to be added? Just a docker install step?
Repository: google/oss-fuzz

Issue #339: Profiling fuzzers
Created: 2017-01-31T20:30:41Z
During lunch we brought up the idea of surfacing profiling information about fuzzers in addition to coverage.  This might be an interesting data point to see if a fuzzer is spending time in the right places.
@kcc @mikea What do you think of this idea? Would it be easy to set up profiling?

Duplicate issue #336: performance: collect 'perf' profiles and publish them on the dashboard
Created: 2017-01-31T02:43:12Z
Subj. It may show us some low-hanging fruit , such as e.g. #335

Closing comment (2017-02-01T05:45:00Z): dup of #339 (which has more info)
Repository: google/oss-fuzz

Issue #5220: How to debug ILL in static initialization code
Created: 2021-02-19T13:18:25Z
Hello,
I am getting a few open issues about ILL in my static initalization code:
ERROR: AddressSanitizer: ILL on unknown address 0x00000055e6bc (pc 0x00000055e6bc bp 0x7fff0bc1fd00 sp 0x7fff0bc1fae0 T0)
The code is called from a "Meyers" singleton in LLVMFuzzerInitialize :
int LLVMFuzzerInitialize(int* argc, char*** argv)
{
	static Initializer init;
    return 0;
}

and here is the code (crashes in CPU_SET) :
#ifdef __linux__
	    // Create a cpu_set_t object representing a set of CPUs. Clear it and mark
	    // only CPU i as set.
    	// Note: we assume that the second half of the logical cores
    	// are hyper-threaded siblings to the first half
	    cpu_set_t cpuset;
	    CPU_ZERO(&cpuset);
	    CPU_SET(thread_count, &cpuset);
	    int rc = pthread_setaffinity_np(worker.native_handle(),
	                                    sizeof(cpu_set_t), &cpuset);
	    if (rc != 0) {
	      std::cerr << "Error calling pthread_setaffinity_np: " << rc << "\n";
	    }
#endif

Is this a bug in the fuzzer ? Because I can only see this code causing ILL if two threads were accessing it at the same time.
But this should be impossible.
Thoughts ?

Duplicate issue #5001: Recurring ASAN ILL bug with no way of reproducing
Created: 2021-01-18T23:22:32Z
Every 14 days I get this bug appearing in my issue list:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29696&sort=-opened&can=1&q=proj%3Agrok
This is coming from code that is only called a single time by the fuzzer, at startup.
I have checked the code itself and there is no way it could be mis-behaving.
Any suggestions would be very much appreciated!

Closing comment (2021-03-19T16:04:50Z): Think this is a duplicate of #5220
Repository: google/oss-fuzz

Issue #3864: OSS-Fuzz doesn't seem to fuzz continuously
Created: 2020-05-22T04:20:56Z
Judging by https://oss-fuzz.com/fuzzer-stats?group_by=by-day&date_start=2020-05-09&date_end=2020-05-21&fuzzer=libFuzzer_systemd_fuzz-unit-file, we're back to fuzzing for three hours a day every other day.
I'd reopen #3014 if I could.

Duplicate issue #3876: Inaccessible perf_report on oss-fuzz.com for unicorn project
Created: 2020-05-26T12:04:10Z
For instance with
https://oss-fuzz.com/performance-report/libFuzzer_unicorn_fuzz_emu_arm64_arm/libfuzzer_asan_unicorn/latest
I only get
Error: No stats. (my@mail.com)
Is it due to the project somehow ?

Closing comment (2020-05-26T18:18:46Z): I 2020-05-26T18:15:45.888176503Z Shutting down host. 
W 2020-05-26T18:15:45.883525680Z Channel failed to become ready within reconnect timeout. 
W 2020-05-26T18:15:15.882623011Z Channel failed to become ready within reconnect timeout. 
I 2020-05-26T18:14:43.412667706Z Completed running platform initialization scripts. 
I 2020-05-26T18:14:43.412118523Z Running platform initialization scripts. 
I 2020-05-26T18:14:43.411741088Z Remote souce code <= local source code. No update. 
I 2020-05-26T18:14:43.411346056Z Remote source code version: 20200520171744-utc-15968ae-clusterfuzz. 
I 2020-05-26T18:14:43.410755989Z Local source code version: 20200520171744-utc-15968ae-clusterfuzz. 
I 2020-05-26T18:14:43.404767687Z Checking source code for updates. 

Somehow some host bots get stuck in loop and constantly fail, @oliverchang @mbarbella-chromium . this is pretty serious and has happened in past, looks similar to #3864.
Repository: google/protobuf-gradle-plugin

Issue #246: Add an opt-out option for the extractIncludeProto/extractIncludeTestProto tasks
Created: 2018-07-05T19:46:07Z
Our projects have a mix of proto and java content. The dependency list is quite long because of the java content, but the proto content doesn't actually have any external dependencies.
Right now, the protobuf plugin is a bit sluggish because it wants to scan all dependencies for proto files when we know that there is none to be found.
It would be nice to have a way to turn off that functionnality in the plugin configuration.
Currently we have put in place a workaround to de-activate those tasks but a solution in the plugin would be better.

Duplicate issue #304: Gradle 5.1 Task Avoidance API
Created: 2019-03-05T21:36:40Z
This plugin eagerly creates these tasks everywhere it is applied:

extractIncludeProto
extractProto
extractTestProto
generateProto
generateTestProto

For large multi-project repositories, this can add up to a lot of extra tasks that are configured but never get executed.
Using the new gradle 5.1 API to avoid configuring tasks unless they are used may bring precious whole seconds back for projects that heavily use protobuf. These seconds are realized for every run of gradle that does not need to run *Proto tasks.
https://docs.gradle.org/current/userguide/task_configuration_avoidance.html

Closing comment (2020-10-30T08:07:38Z): Seems related to #246
Repository: google/protobuf-gradle-plugin

Issue #248: Multiple protobufs with same filename are not compiled
Created: 2018-07-19T18:19:11Z
It seems that if there are multiple .proto files with the same filename, only the last added one will get compiled.
Suppose I have two protobuf files, both named foo.proto:
protobuf
└── util
    ├── v1
    │   └── foo.proto
    └── v2
        └── foo.proto

If my build.gradle is configured like so:
dependencies {
    protobuf fileTree("protobuf/util/v1")
    protobuf fileTree("protobuf/util/v2")
}

Then when running gradle build only protobuf/util/v2/foo.proto is compiled and sources are generated under build/generated/source/proto/. However if I reverse the order of the dependencies:
dependencies {
    protobuf fileTree("protobuf/util/v2")
    protobuf fileTree("protobuf/util/v1")
}

Then only protobuf/util/v1/foo.proto is compiled. I have created an example repo at https://github.com/stetra/protobuf-gradle-plugin-example
Is this the expected behavior? How can I ensure both foo.proto protobufs are compiled without having to rename them?

Duplicate issue #522: Gradle 7.2 support
Created: 2021-09-16T05:59:51Z
Getting the below warning
Execution optimizations have been disabled for task ':common:processResources' to ensure correctness due to the following reasons:
 Reason: Task ':common:processResources' uses this output of task ':common:extractProto' without declaring an explicit or implicit dependency.
and also the error
Execution failed for task ':common:processResources'.
> Entry user_info.proto is a duplicate but no duplicate handling strategy has been set.

while using com.google.protobuf gradle pulugin version 0.8.17 for build task.

Closing comment (2022-07-03T16:55:47Z): Could be error the same as #248?
Repository: google/protobuf-gradle-plugin

Issue #33: GenerateProtoTask should support incremental build and more thorough clean
Created: 2015-08-09T23:04:18Z
The current implementation of GenerateProtoTask will not support scenario where a proto file is renamed or even deleted. In that scenario, the old generated file will be left behind and may cause unwanted build success or failure (by duplication). The task should take an IncrementalTaskInputs parameters to remove stalled output. It will also be able to build only the proto file that as changed - very useful in big proto source set.

Duplicate issue #331: The plugin does not detect proto file was changed when running build for a second time
Created: 2019-08-28T17:57:43Z
Use the gradle plugin to generate code, then change the proto file, then build again.
As reproduced in https://sponge.corp.google.com/target?id=ff244382-5595-48fd-b556-4b2694aaf5d4&target=grpc%2Fjava%2Fmaster%2Fpresubmit%2Fandroid&searchFor=

Closing comment (2022-11-05T16:43:46Z): Duplicate of #33
Repository: google/protobuf-gradle-plugin

Issue #18: google/protobuf-gradle-plugin is forked from personal repo and unsearchable
Created: 2015-06-22T22:15:08Z
@aantono
It's currently impossible to search the protobuf-gradle-plugin directory as it's a parent of @aantono's public directory - this is a limitation of GitHub (see screenshot below). By following the help system, you can make a request to GitHub to remove this as a parent. I've done this before successfully by making the request, so it does work. This will be helpful for two reasons:

A Google project should not be a fork from a personal project. It's bizarre to see that.
In the request, please ask GitHub to enable searching for this repository. Hopefully that should be automatic or easy for them to do.

An alternative to try is @aantono to delete his public repository... but that may result in another repository that was a fork of @aantono to become the new "parent". It depends on when the accounts were created.

Duplicate issue #37: break connection to parent repository (aantono)
Created: 2015-08-21T00:34:32Z
@aantono, @zhangkun83 - can you send a request to GitHub asking to reparent repositories from aantono/gradle-plugin-protobuf to google/protobuf-gradle-plugin. Everything should be forked from the google repo. This also overcomes a limitation of GitHub which disallows people from searching forks. As google/protobuf-gradle-plugin is currently a fork of aantono/gradle-plugin-protobuf, this means you can't search. I've gone through the reparent process before but GitHub will naturally only accept a request from you both.

Closing comment (2015-10-29T18:56:53Z): This is a duplicate of #18, which has already been solved
Repository: google/protobuf-gradle-plugin

Issue #444: Gradle Kotlin DSL changed method signature of NamedDomainObjectContainerExtensionsKt.invoke
Created: 2020-11-03T16:21:55Z
In KtDslCompatibilityUtils.java the plugin calls NamedDomainObjectContainerExtensionsKt.invoke(container, block) with block being a Function1<? super NamedDomainObjectContainerScope<T>, Unit>. In the latest Gradle build (6.8-milestone-2), that signature has been changed to Action<NamedDomainObjectContainerScope<T>>: gradle/gradle@593001e, so builds using the Kotlin DSL fail using new builds.

Duplicate issue #515: Prepare for Gradle v8
Created: 2021-08-04T17:03:55Z
I get the following error.
Using method NamedDomainObjectContainer<T>.invoke(kotlin.Function1) has been deprecated. This is scheduled to be removed in Gradle 8.0. Recompile your plugin against Gradle >= 6.8 Consult the upgrading guide for further information: https://docs.gradle.org/7.1.1/userguide/upgrading_version_6.html#using_NamedDomainObjectContainer_invoke_kotlin_Function1

The specific code fragment is
protobuf {
   generatedFilesBaseDir = "$projectDir/src/main/java"
   protoc { artifact = "com.google.protobuf:protoc:2.6.1" }
   plugins {
      id("grpc") { artifact = "io.grpc:protoc-gen-grpc-java:1.0.0-pre2" }
   }
}

The plugins closure is the problematic line.

Closing comment (2021-09-15T07:12:47Z): This is actually a duplicate of #444. We can't really do a migrate without Gradle's latest org.gradle:gradle-kotlin-dsl artifact. See details in #444 (comment).
Repository: googlemaps/android-maps-utils

Issue #794: Exception building library
Created: 2020-10-19T15:42:06Z
Hello there,
I'm trying to build a "library" or "library-v3" through Gradle Task "build", but script fails with the following message:
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':library-v3'.
> groovy.lang.GroovyRuntimeException: Cannot set the value of read-only property 'executionData' for task ':library-v3:jacocoTestDebugUnitTestReport' of type org.gradle.testing.jacoco.tasks.JacocoReport.

Is there a way to overcome the problem?
I'm using Android Studio 4.0.2.
Thank you.
Max

Duplicate issue #798: read_only error
Created: 2020-11-01T09:21:14Z
A problem occurred configuring project ':library'.

groovy.lang.GroovyRuntimeException: Cannot set the value of read-only property 'executionData' for task ':library:jacocoTestDebugUnitTestReport' of type org.gradle.testing.jacoco.tasks.JacocoReport.

I have added the API_KEY, and created secure.properties file and added that line. But still it's giving this error.

Closing comment (2020-11-02T17:12:45Z): @gurpreet78371 Thanks for opening the issue! It looks like this is a duplicate of #794, so I'm going to close this issue. Could you please take a look at #794 and we can continue the discussion here?
Repository: googlemaps/android-maps-utils

Issue #90: Update model and marker in cluster
Created: 2014-06-03T17:29:07Z
When you put your model objects/items into the cluster manager, it will create the markers and group them to clusters if necessary. This is awesome!!
But what if the items change and upon this change you want to have different marker?
Idea 1 (Ideal)
Update the api with an
 updateItem(Item)

method. Its the same instance of the added item but has updated attributes.
Idea 2
What I first tried was just replacing the item list
getMap().clear();
mClusterManager.clearItems()
mClusterManager.addItems(items);
mClusterManager.cluster();

This worked only for visible clusters when map was zoomed out. However when map was zoomed in, visible map markers were removed by the above code. You have to zoom out until cluster appears and zoom in again to see the markers.
Idea 3
Currently I am doing this, completely reinitiate the clusterManager when I need to update models and markers. I am not dealing with so much markers (max 200).
@broady Is this ok regarding performance/memory? Nevertheless the cluster api could need some rewrite 👍

Duplicate issue #63: Issue refreshing markers 
Created: 2014-02-27T18:25:56Z
I am trying to change the icon for a selected marker. Neither calling ClusterManager.cluster, nor MapView.invalidate will cause the ClusterRenderer to render new pins.
protected void onBeforeClusterItemRendered(FacilityClusterItem item, MarkerOptions markerOptions) {
        Facility facility = item.getFacility();

        int pinId = 0;

        if (TextUtils.equals(facility.getId(), mSelectedFacilityId)) {
            mIconGenerator.setBackground(mContext.getResources().getDrawable(R.drawable.map_pin_white));
            pinId = facility.getFacilityType().getSelectedMapPinId();
        } else {
            mIconGenerator.setBackground(mContext.getResources().getDrawable(R.drawable.map_pin_purple));
            pinId = facility.getFacilityType().getMapPinId();
        }

        icon = BitmapDescriptorFactory.fromResource(pinId);
        markerOptions.icon(icon);
    }

Closing comment (2020-01-29T22:50:19Z): Duplicate of #90, closing this issue in favor of that one instead. See the discussion there for possible workarounds in the meantime.
Repository: googlemaps/android-maps-utils

Issue #167: onClusterClick not called. 
Created: 2015-05-15T10:25:53Z
Is anyone else having this issue? It's not hitting the breakpoint nor showing the log.
    mClusterManager.setOnClusterClickListener(new ClusterManager.OnClusterClickListener<Content>() {
        @Override
        public boolean onClusterClick(Cluster<Content> cluster) {
            AppLog.d("CLUSTER_CLICKED", "cluster is clicked);");
            return false;
        }
    });

I'm not sure if it helps, but I'm using a custom cluster adapter:
mapsMarkerManager.getClusterManager().getClusterMarkerCollection().setOnInfoWindowAdapter(new ClusterInfoWindowAdapter(getActivity(), mapsMarkerManager));
I'm using:
compile 'com.google.maps.android:android-maps-utils:0.3.1'

Duplicate issue #184: Cluster click listener and cluster item click listener not working
Created: 2015-07-09T05:26:56Z
Hello everyone i m using this library and i m facing the strange issue basically i have implemented
maps using a supportMapFragment inside a fragment called called ExploreMaps when i click on the
cluster and cluster item for the first time it works but when go back to the other fragment and comes
back to this fragment the click functionality stops working.
Below is the code snippet from my code any help would be appreciated
private void setUpMaps(final BroadcastListWrapper wrapper) {
this.getMapAsync(mCallback = new OnMapReadyCallback() {
@OverRide
public void onMapReady(GoogleMap googleMap) {
Timber.d("set up maps called");
mClusterManager = new ClusterManager<>(getActivity(), googleMap);
googleMap.setOnCameraChangeListener(mClusterManager);
addItemsToCluster(wrapper);
googleMap.setInfoWindowAdapter(null);
mRenderer = new MapRenderer(getActivity(), googleMap, mClusterManager);
googleMap.setOnCameraChangeListener(mClusterManager);
googleMap.setOnMarkerClickListener(mClusterManager);
googleMap.setOnInfoWindowClickListener(mClusterManager);
mClusterManager.setRenderer(mRenderer);
mClusterManager.setOnClusterClickListener(ExploreMaps.this);
mClusterManager.setOnClusterItemClickListener(ExploreMaps.this);
}
});
}
@Override
public boolean onClusterItemClick(BroadcastData broadcastData) {
    Timber.d("clusterITemclicked  called");
     return false;
}

@Override
public boolean onClusterClick(Cluster<BroadcastData> broadcastDataCluster) {
    Timber.d("cluster click called");
     showPopUp(broadcastDataCluster);
    return false;
}

Closing comment (2016-07-07T05:46:40Z): Looks like a duplicate of #167
Repository: googlemaps/android-maps-utils

Issue #82: Is there a way to just renderer the visible clusters and items?
Created: 2014-05-02T01:24:56Z
Hi,
I don't know if it is the default behavior, but both methods, onBeforeClusterItemRendered and onBeforeClusterRendered, are called every time that I zoom out the map, even when there are not clusters or items visible. Is there a way to just renderer the visible clusters and items?
I have a map with 1000 items, and every item has his own image, so I need to render only the visible elements.
Thanks!

From duplicate issue #82, from @kaads123:
Summary:
ClusterManager draws all the markers/clusters, not only visible ones. It should draw only those that are in visibleRegion. This causes a map with 2000 markers skip frames and ANR (even on new devices) when zooming in/out.
Steps to reproduce:
Add 2000 or more markers and try zooming in and zooming out fast. This can be reproduced in the sample app
Expected behavior:
Draw only those markers/clusters which are in visibleRegion.latLngBounds of the GoogleMap
Observed behavior:
Draws every marker added to ClusterManager
Device and Android version:
Moto G3 with Android 6.0.1
Nexus 6P with Android 7.1.2
Screenshots:

Zoomed out from 20f to 1f quickly

Duplicate issue #404: ClusterManager draws markers in invisible regions
Created: 2017-06-28T15:18:19Z
Summary:
ClusterManager draws all the markers/clusters, not only visible ones. It should draw only those that are in visibleRegion. This causes a map with 2000 markers skip frames and ANR (even on new devices) when zooming in/out.
Steps to reproduce:
Add 2000 or more markers and try zooming in and zooming out fast. This can be reproduced in the sample app
Expected behavior:
Draw only those markers/clusters which are in visibleRegion.latLngBounds of the GoogleMap
Observed behavior:
Draws every marker added to ClusterManager
Device and Android version:
Moto G3 with Android 6.0.1
Nexus 6P with Android 7.1.2
Screenshots:

Zoomed out from 20f to 1f quickly

Closing comment (2017-06-30T13:35:49Z): Closing as a duplicate of #82.
@kaads123 Thanks for the steps to reproduce and screenshot - I'll copy these over to #82 so we don't lose them.