Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2nd JSON parser exception after refreshing token #293

Open
caputchinefrobles opened this issue Dec 5, 2019 · 3 comments
Open

2nd JSON parser exception after refreshing token #293

caputchinefrobles opened this issue Dec 5, 2019 · 3 comments

Comments

@caputchinefrobles
Copy link

caputchinefrobles commented Dec 5, 2019

I know #13 was fixed long ago, but its showing again in a different way I think (it crashes sync):

request failed due to auth token expired: 401 (body: ). refreshing token
HTTP POST "https://accounts.google.com/o/oauth2/token"
HTTP response 200
HTTP POST "https://www.googleapis.com/drive/v2/files"
exception: /opt/src/grive2/libgrive/src/json/JsonParser.cc(165): Throw in function void gr::JsonParser::Parse(const char*, std::size_t)
Dynamic exception type: boost::exception_detail::clone_implgr::JsonParser::Error
[gr::expt::BacktraceTag*] = #0 0x555f4add17a8 grive gr::Exception::Exception()
1 0x555f4adb324f grive gr::JsonParser::Error::Error()
2 0x555f4adb2eb7 grive gr::JsonParser::Parse(char const*, unsigned long)
3 0x555f4adc4503 grive gr::http::ValResponse::Write(char const*, unsigned long)
4 0x555f4adab0d2 grive gr::http::CurlAgent::Receive(void*, unsigned long, unsigned long, gr::http::CurlAgent*)
5 0x7f5232378bff /usr/lib/x86_64-linux-gnu/libcurl.so.4
6 0x7f523238aea8 /usr/lib/x86_64-linux-gnu/libcurl.so.4
7 0x7f52323943f4 /usr/lib/x86_64-linux-gnu/libcurl.so.4
8 0x7f5232395811 /usr/lib/x86_64-linux-gnu/libcurl.so.4 curl_multi_perform
9 0x7f523238c1ab /usr/lib/x86_64-linux-gnu/libcurl.so.4 curl_easy_perform
10 0x555f4adab474 grive gr::http::CurlAgent::ExecCurl(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, gr::DataStream*, gr::http::Header const&)
11 0x555f4adab8de grive gr::http::CurlAgent::Request(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, gr::SeekStream*, gr::DataStream*, gr::http::Header const&, unsigned long long)
12 0x555f4adc48fe grive gr::AuthAgent::Request(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, gr::SeekStream*, gr::DataStream*, gr::http::Header const&, unsigned long long)
13 0x555f4adaa65c grive gr::http::Agent::Post(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, gr::DataStream*, gr::http::Header const&)
14 0x555f4ada76e2 grive gr::v2::Syncer2::Upload(gr::Resource*, bool)
15 0x555f4ada67c4 grive gr::v2::Syncer2::Create(gr::Resource*)
16 0x555f4adde402 grive gr::Resource::SyncSelf(gr::Syncer*, gr::ResourceTree*, gr::Val const&)
17 0x555f4addd287 grive gr::Resource::Sync(gr::Syncer*, gr::ResourceTree*, gr::Val const&)
18 0x555f4ade35ed grive boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>::operator()(gr::Resource*, gr::Syncer*, gr::ResourceTree*, gr::Val const&) const
19 0x555f4ade2f2c grive void boost::_bi::list4<boost::arg<1>, boost::_bi::valuegr::Syncer*, boost::_bi::valuegr::ResourceTree*, boost::_bi::valuegr::Val >::operator()<boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::rrlist1gr::Resource*& >(boost::_bi::type, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>&, boost::_bi::rrlist1gr::Resource*&&, int)
20 0x555f4ade25e8 grive void boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::valuegr::Syncer*, boost::_bi::valuegr::ResourceTree*, boost::_bi::valuegr::Val > >::operator()gr::Resource*&(gr::Resource*&)
21 0x555f4ade10e7 grive boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::valuegr::Syncer*, boost::_bi::valuegr::ResourceTree*, boost::_bi::valuegr::Val > > std::for_each<__gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocatorgr::Resource* > >, boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::valuegr::Syncer*, boost::_bi::valuegr::ResourceTree*, boost::_bi::valuegr::Val > > >(__gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocatorgr::Resource* > >, __gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocatorgr::Resource* > >, boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::valuegr::Syncer*, boost::_bi::valuegr::ResourceTree*, boost::_bi::valuegr::Val > >)
22 0x555f4addd358 grive gr::Resource::Sync(gr::Syncer*, gr::ResourceTree*, gr::Val const&)
23 0x555f4ade35ed grive boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>::operator()(gr::Resource*, gr::Syncer*, gr::ResourceTree*, gr::Val const&) const
24 0x555f4ade2f2c grive void boost::_bi::list4<boost::arg<1>, boost::_bi::valuegr::Syncer*, boost::_bi::valuegr::ResourceTree*, boost::_bi::valuegr::Val >::operator()<boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::rrlist1gr::Resource*& >(boost::_bi::type, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>&, boost::_bi::rrlist1gr::Resource*&&, int)
25 0x555f4ade25e8 grive void boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::valuegr::Syncer*, boost::_bi::valuegr::ResourceTree*, boost::_bi::valuegr::Val > >::operator()gr::Resource*&(gr::Resource*&)
26 0x555f4ade10e7 grive boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::valuegr::Syncer*, boost::_bi::valuegr::ResourceTree*, boost::_bi::valuegr::Val > > std::for_each<__gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocatorgr::Resource* > >, boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::valuegr::Syncer*, boost::_bi::valuegr::ResourceTree*, boost::_bi::valuegr::Val > > >(__gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocatorgr::Resource* > >, __gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocatorgr::Resource* > >, boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::valuegr::Syncer*, boost::_bi::valuegr::ResourceTree*, boost::_bi::valuegr::Val > >)
27 0x555f4addd358 grive gr::Resource::Sync(gr::Syncer*, gr::ResourceTree*, gr::Val const&)
28 0x555f4ade35ed grive boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>::operator()(gr::Resource*, gr::Syncer*, gr::ResourceTree*, gr::Val const&) const
29 0x555f4ade2f2c grive void boost::_bi::list4<boost::arg<1>, boost::_bi::valuegr::Syncer*, boost::_bi::valuegr::ResourceTree*, boost::_bi::valuegr::Val >::operator()<boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::rrlist1gr::Resource*& >(boost::_bi::type, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>&, boost::_bi::rrlist1gr::Resource*&&, int)
30 0x555f4ade25e8 grive void boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::valuegr::Syncer*, boost::_bi::valuegr::ResourceTree*, boost::_bi::valuegr::Val > >::operator()gr::Resource*&(gr::Resource*&)
31 0x555f4ade10e7 grive boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::valuegr::Syncer*, boost::_bi::valuegr::ResourceTree*, boost::_bi::valuegr::Val > > std::for_each<__gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocatorgr::Resource* > >, boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::valuegr::Syncer*, boost::_bi::valuegr::ResourceTree*, boost::_bi::valuegr::Val > > >(__gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocatorgr::Resource* > >, __gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocatorgr::Resource* > >, boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::valuegr::Syncer*, boost::_bi::valuegr::ResourceTree*, boost::_bi::valuegr::Val > >)
32 0x555f4addd358 grive gr::Resource::Sync(gr::Syncer*, gr::ResourceTree*, gr::Val const&)
33 0x555f4ad98a2f grive gr::State::Sync(gr::Syncer*, gr::Val const&)
34 0x555f4ad9356e grive gr::Drive::Update()
35 0x555f4ad75adf grive Main(int, char**)
36 0x555f4ad762dd grive main
37 0x7f5231a3fbbb /lib/x86_64-linux-gnu/libc.so.6 __libc_start_main
38 0x555f4ad7425a grive _start

[gr::JsonText*] = {
"kind": "drive#file",
"id": "1p....3c",
"etag": ""VU6ak...N...MDkyNA"",
"selfLink": "https://www.googleapis.com/drive/v2/files/1p...3c",
"alternateLink": "https://drive.google.com/drive/folders/1p...3c",
"embedLink": "https://drive.google.com/embeddedfolderview?id=1p...3c",
"iconLink": "https://drive-thirdparty.googleusercontent.com/16/type/application/vnd.google-apps.folder+48",
"title": "C85",
"mimeType": "application/vnd.google-apps.folder",
"labels": {
"starred": false,
"hidden": false,
"trashed": false,
"restricted": false,
"viewed": true
},
"copyRequiresWriterPermission": false,
"createdDate": "2019-12-04T19:02:40.924Z",
"modifiedDate": "2019-12-04T19:02:40.924Z",
"modifiedByMeDate": "2019-12-04T19:02:40.924Z",
"lastViewedByMeDate": "2019-12-04T19:02:40.924Z",
"markedViewedByMeDate": "1970-01-01T00:00:00.000Z",
"version": "1",
"parents": [
{
"kind": "drive#parentReference",
"id": "1U...Da",
"selfLink": "https://www.googleapis.com/drive/v2/files/1p...3c/parents/1U...Da",
"parentLink": "https://www.googleapis.com/drive/v2/files/1U...Da",
"isRoot": false
}
],
"userPermission": {
[gr::ParseErr*] = parse error: trailing garbage
{ "kind": "drive#file", "id":
(right here) ------^

Thank you very for this great tool.

@gregsanz182
Copy link

Same thing happens here 😟 I'm using Manjaro Linux KDE version

request failed due to auth token expired: 401 (body: ). refreshing token
exception: /home/sanchez/Projects/Personal/grive2/libgrive/src/json/JsonParser.cc(165): Throw in function void gr::JsonParser::Parse(const char*, std::size_t)
Dynamic exception type: boost::wrapexcept<gr::JsonParser::Error>
[gr::expt::BacktraceTag*] = #0 0x5625fd618449 grive gr::Exception::Exception()
#1 0x5625fd5f5e1b grive gr::JsonParser::Error::Error()
#2 0x5625fd5f59f8 grive gr::JsonParser::Parse(char const*, unsigned long)
#3 0x5625fd609261 grive gr::http::ValResponse::Write(char const*, unsigned long)
#4 0x5625fd5ec9b6 grive gr::http::CurlAgent::Receive(void*, unsigned long, unsigned long, gr::http::CurlAgent*)
#5 0x7ffb4b562110 /usr/lib/libcurl.so.4 
#6 0x7ffb4b5747e0 /usr/lib/libcurl.so.4 
#7 0x7ffb4b57e3c5 /usr/lib/libcurl.so.4 
#8 0x7ffb4b57f841 /usr/lib/libcurl.so.4 curl_multi_perform
#9 0x7ffb4b575b1c /usr/lib/libcurl.so.4 curl_easy_perform
#10 0x5625fd5ecd64 grive gr::http::CurlAgent::ExecCurl(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, gr::DataStream*, gr::http::Header const&)
#11 0x5625fd5ed221 grive gr::http::CurlAgent::Request(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, gr::SeekStream*, gr::DataStream*, gr::http::Header const&, unsigned long long)
#12 0x5625fd6096c5 grive gr::AuthAgent::Request(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, gr::SeekStream*, gr::DataStream*, gr::http::Header const&, unsigned long long)
#13 0x5625fd5e92ed grive gr::v2::Syncer2::Upload(gr::Resource*, bool)
#14 0x5625fd5e7c09 grive gr::v2::Syncer2::Create(gr::Resource*)
#15 0x5625fd62627d grive gr::Resource::SyncSelf(gr::Syncer*, gr::ResourceTree*, gr::Val const&)
#16 0x5625fd6250c6 grive gr::Resource::Sync(gr::Syncer*, gr::ResourceTree*, gr::Val const&)
#17 0x5625fd62bab7 grive boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>::operator()(gr::Resource*, gr::Syncer*, gr::ResourceTree*, gr::Val const&) const
#18 0x5625fd62b2dc grive void boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> >::operator()<boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::rrlist1<gr::Resource*&> >(boost::_bi::type<void>, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>&, boost::_bi::rrlist1<gr::Resource*&>&, int)
#19 0x5625fd62a7db grive void boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > >::operator()<gr::Resource*&>(gr::Resource*&)
#20 0x5625fd629070 grive boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > > std::for_each<__gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocator<gr::Resource*> > >, boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > > >(__gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocator<gr::Resource*> > >, __gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocator<gr::Resource*> > >, boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > >)
#21 0x5625fd62519d grive gr::Resource::Sync(gr::Syncer*, gr::ResourceTree*, gr::Val const&)
#22 0x5625fd62bab7 grive boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>::operator()(gr::Resource*, gr::Syncer*, gr::ResourceTree*, gr::Val const&) const
#23 0x5625fd62b2dc grive void boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> >::operator()<boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::rrlist1<gr::Resource*&> >(boost::_bi::type<void>, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>&, boost::_bi::rrlist1<gr::Resource*&>&, int)
#24 0x5625fd62a7db grive void boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > >::operator()<gr::Resource*&>(gr::Resource*&)
#25 0x5625fd629070 grive boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > > std::for_each<__gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocator<gr::Resource*> > >, boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > > >(__gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocator<gr::Resource*> > >, __gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocator<gr::Resource*> > >, boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > >)
#26 0x5625fd62519d grive gr::Resource::Sync(gr::Syncer*, gr::ResourceTree*, gr::Val const&)
#27 0x5625fd62bab7 grive boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>::operator()(gr::Resource*, gr::Syncer*, gr::ResourceTree*, gr::Val const&) const
#28 0x5625fd62b2dc grive void boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> >::operator()<boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::rrlist1<gr::Resource*&> >(boost::_bi::type<void>, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>&, boost::_bi::rrlist1<gr::Resource*&>&, int)
#29 0x5625fd62a7db grive void boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > >::operator()<gr::Resource*&>(gr::Resource*&)
#30 0x5625fd629070 grive boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > > std::for_each<__gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocator<gr::Resource*> > >, boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > > >(__gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocator<gr::Resource*> > >, __gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocator<gr::Resource*> > >, boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > >)
#31 0x5625fd62519d grive gr::Resource::Sync(gr::Syncer*, gr::ResourceTree*, gr::Val const&)
#32 0x5625fd62bab7 grive boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>::operator()(gr::Resource*, gr::Syncer*, gr::ResourceTree*, gr::Val const&) const
#33 0x5625fd62b2dc grive void boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> >::operator()<boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::rrlist1<gr::Resource*&> >(boost::_bi::type<void>, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>&, boost::_bi::rrlist1<gr::Resource*&>&, int)
#34 0x5625fd62a7db grive void boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > >::operator()<gr::Resource*&>(gr::Resource*&)
#35 0x5625fd629070 grive boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > > std::for_each<__gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocator<gr::Resource*> > >, boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > > >(__gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocator<gr::Resource*> > >, __gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocator<gr::Resource*> > >, boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > >)
#36 0x5625fd62519d grive gr::Resource::Sync(gr::Syncer*, gr::ResourceTree*, gr::Val const&)
#37 0x5625fd62bab7 grive boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>::operator()(gr::Resource*, gr::Syncer*, gr::ResourceTree*, gr::Val const&) const
#38 0x5625fd62b2dc grive void boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> >::operator()<boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::rrlist1<gr::Resource*&> >(boost::_bi::type<void>, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>&, boost::_bi::rrlist1<gr::Resource*&>&, int)
#39 0x5625fd62a7db grive void boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > >::operator()<gr::Resource*&>(gr::Resource*&)
#40 0x5625fd629070 grive boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > > std::for_each<__gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocator<gr::Resource*> > >, boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > > >(__gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocator<gr::Resource*> > >, __gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocator<gr::Resource*> > >, boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > >)
#41 0x5625fd62519d grive gr::Resource::Sync(gr::Syncer*, gr::ResourceTree*, gr::Val const&)
#42 0x5625fd62bab7 grive boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>::operator()(gr::Resource*, gr::Syncer*, gr::ResourceTree*, gr::Val const&) const
#43 0x5625fd62b2dc grive void boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> >::operator()<boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::rrlist1<gr::Resource*&> >(boost::_bi::type<void>, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>&, boost::_bi::rrlist1<gr::Resource*&>&, int)
#44 0x5625fd62a7db grive void boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > >::operator()<gr::Resource*&>(gr::Resource*&)
#45 0x5625fd629070 grive boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > > std::for_each<__gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocator<gr::Resource*> > >, boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > > >(__gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocator<gr::Resource*> > >, __gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocator<gr::Resource*> > >, boost::_bi::bind_t<void, boost::_mfi::mf3<void, gr::Resource, gr::Syncer*, gr::ResourceTree*, gr::Val const&>, boost::_bi::list4<boost::arg<1>, boost::_bi::value<gr::Syncer*>, boost::_bi::value<gr::ResourceTree*>, boost::_bi::value<gr::Val> > >)
#46 0x5625fd62519d grive gr::Resource::Sync(gr::Syncer*, gr::ResourceTree*, gr::Val const&)
#47 0x5625fd5d8f27 grive gr::State::Sync(gr::Syncer*, gr::Val const&)
#48 0x5625fd5d3793 grive gr::Drive::Update()
#49 0x5625fd5b10e1 grive Main(int, char**)
#50 0x5625fd5b1aa3 grive main
#51 0x7ffb4ad49023 /usr/lib/libc.so.6 __libc_start_main
#52 0x5625fd5af37e grive _start

[gr::JsonText*] = {
 "kind": "drive#file",
 "id": "1W5D-hsqCdg2mpn-a0y6YBuQa4BBWYWm9",
 "etag": "\"LrGgEMAIqqQuhm7ovRQX7yBBvMY/MTU4NDk5OTIwNzcwOA\"",
 "selfLink": "https://www.googleapis.com/drive/v2/files/1W5D-hsqCdg2mpn-a0y6YBuQa4BBWYWm9",
 "webContentLink": "https://drive.google.com/a/unet.edu.ve/uc?id=1W5D-hsqCdg2mpn-a0y6YBuQa4BBWYWm9&export=download",
 "alternateLink": "https://drive.google.com/a/unet.edu.ve/file/d/1W5D-hsqCdg2mpn-a0y6YBuQa4BBWYWm9/view?usp=drivesdk",
 "embedLink": "https://drive.google.com/a/unet.edu.ve/file/d/1W5D-hsqCdg2mpn-a0y6YBuQa4BBWYWm9/preview?usp=drivesdk",
 "iconLink": "https://drive-thirdparty.googleusercontent.com/16/type/audio/mpeg",
 "title": "03- Weak And Powerless (Live).mp3",
 "mimeType": "audio/mpeg",
 "labels": {
  "starred": false,
  "hidden": false,
  "trashed": false,
  "restricted": false,
  "viewed": true
 },
 "copyRequiresWriterPermission": false,
 "createdDate": "2020-03-23T21:33:27.708Z",
 "modifiedDate": "2020-03-23T21:33:27.708Z",
 "modifiedByMeDate": "2020-03-23T21:33:27.708Z",
 "lastViewedByMeDate": "2020-03-23T21:33:27.708Z",
 "markedViewedByMeDate": "1970-01-01T00:00:00.000Z",
 "version": "1",
 "parents": [
  {
   "kind": "drive#parentRefere
[gr::ParseErr*] = parse error: trailing garbage
                                       {  "kind": "drive#file",  "id":
                     (right here) ------^

@pirofti
Copy link

pirofti commented May 21, 2020

I had the same problem after running grive the second time. My current work around is to pass id and secret parameters by hand when running it from the command line.

@Simbi0z
Copy link

Simbi0z commented Jan 15, 2021

> request failed due to auth token expired: 401 (body: ). refreshing token
> exception: /home/oiu7/.cache/pikaur/build/grive-git/src/grive-git/libgrive/src/json/JsonParser.cc(165): Throw in function void gr::JsonParser
> ::Parse(const char*, std::size_t)
> Dynamic exception type: boost::wrapexcept<gr::JsonParser::Error>
> [gr::expt::BacktraceTag*] = #0 0x555581c3d07a grive gr::Exception::Exception()
> #1 0x555581c18b1f grive gr::JsonParser::Parse(char const*, unsigned long)
> #2 0x555581c2c6ef grive gr::http::ValResponse::Write(char const*, unsigned long)
> #3 0x7f8778c74255 /usr/lib/libcurl.so.4
> #4 0x7f8778c86915 /usr/lib/libcurl.so.4
> #5 0x7f8778c6a6b5 /usr/lib/libcurl.so.4
> #6 0x7f8778c6bb76 /usr/lib/libcurl.so.4 curl_multi_perform
> #7 0x7f8778c41a8c /usr/lib/libcurl.so.4 curl_easy_perform
> #8 0x555581c10162 grive gr::http::CurlAgent::ExecCurl(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&,
>  gr::DataStream*, gr::http::Header const&)
> #9 0x555581c2e50b grive gr::AuthAgent::Request(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::_
> _cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, gr::SeekStream*, gr::DataStream*, gr::http::Header const&,
> unsigned long long)
> #10 0x555581c0d9b4 grive gr::v2::Syncer2::Upload(gr::Resource*, bool)
> #11 0x555581c4d70f grive gr::Resource::SyncSelf(gr::Syncer*, gr::ResourceTree*, gr::Val const&)
> #12 0x555581c4db15 grive gr::Resource::Sync(gr::Syncer*, gr::ResourceTree*, gr::Val const&)
> #13 0x555581c4dc39 grive gr::Resource::Sync(gr::Syncer*, gr::ResourceTree*, gr::Val const&)
> #14 0x555581c4dc39 grive gr::Resource::Sync(gr::Syncer*, gr::ResourceTree*, gr::Val const&)
> #15 0x555581c4dc39 grive gr::Resource::Sync(gr::Syncer*, gr::ResourceTree*, gr::Val const&)
> #16 0x555581c4dc39 grive gr::Resource::Sync(gr::Syncer*, gr::ResourceTree*, gr::Val const&)
> #17 0x555581c4dc39 grive gr::Resource::Sync(gr::Syncer*, gr::ResourceTree*, gr::Val const&)
> #18 0x555581c4dc39 grive gr::Resource::Sync(gr::Syncer*, gr::ResourceTree*, gr::Val const&)
> #19 0x555581c4dc39 grive gr::Resource::Sync(gr::Syncer*, gr::ResourceTree*, gr::Val const&)
> #20 0x555581bf06a3 grive gr::Drive::Update()
> #21 0x555581be075e grive Main(int, char**)
> #22 0x555581bdd9e9 grive main
> #23 0x7f87763db152 /usr/lib/libc.so.6 __libc_start_main
> #24 0x555581bde53e grive _start

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants