FileFinder flow crashes due to Incorrect string value error
- Dominant language
- Python
- Stars
- 5.1k
- Forks
- 796
- PR merge metrics
- No merged PRs in 30d
Description
**Environment**
- How did you install GRR? N/A
- What GRR version are you running?: 3.2.4.2
- What operating system does the GRR server run on? N/A
- What operating system does the affected GRR client run on, if applicable? Windows 10 10.0.19041SP0
**Describe the issue**
When using FileFinder to search a specific set of files the flow crashes because of an encoding problem due to non supported characters in different filenames. I have used OS, TSK and NTFS, all with the same result.
**Error logs**
Here I attach the backtrace of the error:
```
Traceback (most recent call last): File "/usr/share/grr-server/lib/python3.6/site-packages/grr_response_server/flow_base.py", line 685, in RunStateMethod method(responses) File "/usr/share/grr-server/lib/python3.6/site-packages/grr_response_server/flows/general/filesystem.py", line 535, in _ProcessEntry response, matching_components, base_wildcard=True) File "/usr/share/grr-server/lib/python3.6/site-packages/grr_response_server/flows/general/filesystem.py", line 555, in _ProcessResponse self.GlobReportMatch(response) File "/usr/share/grr-server/lib/python3.6/site-packages/grr_response_server/flows/general/file_finder.py", line 126, in GlobReportMatch super(FileFinder, self).GlobReportMatch(response) File "/usr/share/grr-server/lib/python3.6/site-packages/grr_response_server/flows/general/filesystem.py", line 399, in GlobReportMatch WriteStatEntries([stat_response], client_id=self.client_id) File "/usr/share/grr-server/lib/python3.6/site-packages/grr_response_server/flows/general/filesystem.py", line 95, in WriteStatEntries _FilterOutPathInfoDuplicates(path_infos)) File "/usr/share/grr-server/lib/python3.6/site-packages/grr_response_server/databases/db.py", line 3402, in WritePathInfos return self.delegate.WritePathInfos(client_id, path_infos) File "/usr/share/grr-server/lib/python3.6/site-packages/grr_response_server/databases/mysql_paths.py", line 194, in WritePathInfos self._MultiWritePathInfos({client_id: path_infos}) File "/usr/share/grr-server/lib/python3.6/site-packages/grr_response_server/databases/db_utils.py", line 51, in Decorator result = f(*args, **kwargs) File "/usr/share/grr-server/lib/python3.6/site-packages/grr_response_server/databases/mysql_utils.py", line 241, in Decorated return self._RunInTransaction(Closure, readonly) File "/usr/share/grr-server/lib/python3.6/site-packages/grr_response_server/databases/mysql.py", line 559, in _RunInTransaction result = function(connection) File "/usr/share/grr-server/lib/python3.6/site-packages/grr_response_server/databases/mysql_utils.py", line 239, in Closure return func(self, *args, **new_kw) File "/usr/share/grr-server/lib/python3.6/site-packages/grr_response_server/databases/mysql_paths.py", line 269, in _MultiWritePathInfos cursor.executemany(query, path_info_values) File "/usr/share/grr-server/lib/python3.6/site-packages/grr_response_server/databases/mysql_pool.py", line 227, in executemany return self._forward(self.cursor.executemany, query, args) File "/usr/share/grr-server/lib/python3.6/site-packages/grr_response_server/databases/mysql_pool.py", line 166, in _forward return method(*args, **kwargs) File "/usr/lib/python3/dist-packages/MySQLdb/cursors.py", line 283, in executemany self.rowcount = sum(self.execute(query, arg) for arg in args) File "/usr/lib/python3/dist-packages/MySQLdb/cursors.py", line 283, in self.rowcount = sum(self.execute(query, arg) for arg in args) File "/usr/lib/python3/dist-packages/MySQLdb/cursors.py", line 253, in execute self._warning_check() File "/usr/lib/python3/dist-packages/MySQLdb/cursors.py", line 155, in _warning_check warn(self.Warning(*w[1:3]), stacklevel=3) _mysql_exceptions.Warning: (1366, "Incorrect string value: '\\xD9\\x88\\xD9\\x83\\xD8\\xB0...' for column 'path' at row 1")
```
Is there any solution to this issue?
Contributor guide
Assessment
This issue has not been assessed yet.