Skip to content

Commit c24c510

Browse files
authoredMay 28, 2020
Merge pull request #1 from Mojang/seme/rsanchez_changes
[Bugfix 346397] Use session id as the filename.
2 parents 2fa4699 + 0c69a85 commit c24c510

File tree

2 files changed

+33
-8
lines changed

2 files changed

+33
-8
lines changed
 

‎src/client/linux/handler/minidump_descriptor.cc

+15-8
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ MinidumpDescriptor::MinidumpDescriptor(const MinidumpDescriptor& descriptor)
4343
: mode_(descriptor.mode_),
4444
fd_(descriptor.fd_),
4545
directory_(descriptor.directory_),
46+
sessionid_(descriptor.sessionid_),
4647
c_path_(NULL),
4748
size_limit_(descriptor.size_limit_),
4849
address_within_principal_mapping_(
@@ -64,6 +65,7 @@ MinidumpDescriptor& MinidumpDescriptor::operator=(
6465
mode_ = descriptor.mode_;
6566
fd_ = descriptor.fd_;
6667
directory_ = descriptor.directory_;
68+
sessionid_ = descriptor.sessionid_;
6769
path_.clear();
6870
if (c_path_) {
6971
// This descriptor already had a path set, so generate a new one.
@@ -80,17 +82,22 @@ MinidumpDescriptor& MinidumpDescriptor::operator=(
8082
return *this;
8183
}
8284

85+
// NOTE: for android we really shouldnt be using the guid at all
8386
void MinidumpDescriptor::UpdatePath() {
8487
assert(mode_ == kWriteMinidumpToFile && !directory_.empty());
85-
86-
GUID guid;
87-
char guid_str[kGUIDStringLength + 1];
88-
if (!CreateGUID(&guid) || !GUIDToString(&guid, guid_str, sizeof(guid_str))) {
89-
assert(false);
90-
}
91-
88+
9289
path_.clear();
93-
path_ = directory_ + "/" + guid_str + ".dmp";
90+
if (sessionid_.empty()) {
91+
GUID guid;
92+
char guid_str[kGUIDStringLength + 1];
93+
if (!CreateGUID(&guid) || !GUIDToString(&guid, guid_str, sizeof(guid_str))) {
94+
assert(false);
95+
}
96+
path_ = directory_ + "/" + guid_str + ".dmp";
97+
}
98+
else {
99+
path_ = directory_ + "/" + sessionid_ + ".dmp";
100+
}
94101
c_path_ = path_.c_str();
95102
}
96103

‎src/client/linux/handler/minidump_descriptor.h

+18
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,19 @@ class MinidumpDescriptor {
6969
assert(!directory.empty());
7070
}
7171

72+
explicit MinidumpDescriptor(const string& directory, const string& sessionid)
73+
: mode_(kWriteMinidumpToFile),
74+
fd_(-1),
75+
directory_(directory),
76+
sessionid_(sessionid),
77+
c_path_(NULL),
78+
size_limit_(-1),
79+
address_within_principal_mapping_(0),
80+
skip_dump_if_principal_mapping_not_referenced_(false),
81+
sanitize_stacks_(false) {
82+
assert(!directory.empty());
83+
}
84+
7285
explicit MinidumpDescriptor(int fd)
7386
: mode_(kWriteMinidumpToFd),
7487
fd_(fd),
@@ -101,6 +114,8 @@ class MinidumpDescriptor {
101114

102115
const char* path() const { return c_path_; }
103116

117+
string sessionid() const { return sessionid_; }
118+
104119
bool IsMicrodumpOnConsole() const {
105120
return mode_ == kWriteMicrodumpToConsole;
106121
}
@@ -156,6 +171,9 @@ class MinidumpDescriptor {
156171
// The directory where the minidump should be generated.
157172
string directory_;
158173

174+
// The session id of the telemetry session
175+
string sessionid_;
176+
159177
// The full path to the generated minidump.
160178
string path_;
161179

0 commit comments

Comments
 (0)
Please sign in to comment.