std::bad_alloc error while running demo

464 views
Skip to first unread message

Vincent Sieben

unread,
Aug 3, 2017, 11:44:41 AM8/3/17
to google-cartographer
Hi,

I received the following error after downloading, compiling, and running the first 2D demo on my system.  Do you have any suggestions?  The system has 8GB of memory and an Intel® Core™ i5-4670 CPU @ 3.40GHz × 4.

Command:
$ roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag

Output:
... logging to /home/sdrwcs/.ros/log/2063244a-7861-11e7-ba85-3417ebc0a292/roslaunch-SLB-4MYKY12-4852.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://SLB-4MYKY12:37999/

SUMMARY
========

PARAMETERS
 * /robot_description: <...>
 * /rosdistro: kinetic
 * /rosversion: 1.12.7
 * /use_sim_time: True

NODES
  /
    cartographer_node (cartographer_ros/cartographer_node)
    cartographer_occupancy_grid_node (cartographer_ros/cartographer_occupancy_grid_node)
    playbag (rosbag/play)
    robot_state_publisher (robot_state_publisher/robot_state_publisher)
    rviz (rviz/rviz)

auto-starting new master
process[master]: started with pid [4863]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 2063244a-7861-11e7-ba85-3417ebc0a292
process[rosout-1]: started with pid [4876]
started core service [/rosout]
process[robot_state_publisher-2]: started with pid [4880]
process[cartographer_node-3]: started with pid [4884]
process[cartographer_occupancy_grid_node-4]: started with pid [4898]
process[rviz-5]: started with pid [4904]
process[playbag-6]: started with pid [4911]
[ INFO] [1501774421.305915823]: I0803 11:33:41.000000  4884 configuration_file_resolver.cc:40] Found '/home/sdrwcs/catkin_ws/install_isolated/share/cartographer_ros/configuration_files/backpack_2d.lua' for 'backpack_2d.lua'.
[ INFO] [1501774421.306145931]: I0803 11:33:41.000000  4884 configuration_file_resolver.cc:40] Found '/home/sdrwcs/catkin_ws/install_isolated/share/cartographer/configuration_files/map_builder.lua' for 'map_builder.lua'.
[ INFO] [1501774421.306173307]: I0803 11:33:41.000000  4884 configuration_file_resolver.cc:40] Found '/home/sdrwcs/catkin_ws/install_isolated/share/cartographer/configuration_files/map_builder.lua' for 'map_builder.lua'.
[ INFO] [1501774421.306216655]: I0803 11:33:41.000000  4884 configuration_file_resolver.cc:40] Found '/home/sdrwcs/catkin_ws/install_isolated/share/cartographer/configuration_files/sparse_pose_graph.lua' for 'sparse_pose_graph.lua'.
[ INFO] [1501774421.306240221]: I0803 11:33:41.000000  4884 configuration_file_resolver.cc:40] Found '/home/sdrwcs/catkin_ws/install_isolated/share/cartographer/configuration_files/sparse_pose_graph.lua' for 'sparse_pose_graph.lua'.
[ INFO] [1501774421.306355446]: I0803 11:33:41.000000  4884 configuration_file_resolver.cc:40] Found '/home/sdrwcs/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder.lua' for 'trajectory_builder.lua'.
[ INFO] [1501774421.306379798]: I0803 11:33:41.000000  4884 configuration_file_resolver.cc:40] Found '/home/sdrwcs/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder.lua' for 'trajectory_builder.lua'.
[ INFO] [1501774421.306418021]: I0803 11:33:41.000000  4884 configuration_file_resolver.cc:40] Found '/home/sdrwcs/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_2d.lua' for 'trajectory_builder_2d.lua'.
[ INFO] [1501774421.306441180]: I0803 11:33:41.000000  4884 configuration_file_resolver.cc:40] Found '/home/sdrwcs/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_2d.lua' for 'trajectory_builder_2d.lua'.
[ INFO] [1501774421.306513585]: I0803 11:33:41.000000  4884 configuration_file_resolver.cc:40] Found '/home/sdrwcs/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_3d.lua' for 'trajectory_builder_3d.lua'.
[ INFO] [1501774421.306539436]: I0803 11:33:41.000000  4884 configuration_file_resolver.cc:40] Found '/home/sdrwcs/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_3d.lua' for 'trajectory_builder_3d.lua'.
[ INFO] [1501774421.311928476]: I0803 11:33:41.000000  4884 submaps.cc:188] Added submap 1
[ INFO] [1501774421.312020826]: I0803 11:33:41.000000  4884 map_builder_bridge.cc:58] Added trajectory with ID '0'.
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
[cartographer_node-3] process has died [pid 4884, exit code -6, cmd /home/sdrwcs/catkin_ws/install_isolated/lib/cartographer_ros/cartographer_node -configuration_directory /home/sdrwcs/catkin_ws/install_isolated/share/cartographer_ros/configuration_files -configuration_basename backpack_2d.lua echoes:=horizontal_laser_2d __name:=cartographer_node __log:=/home/sdrwcs/.ros/log/2063244a-7861-11e7-ba85-3417ebc0a292/cartographer_node-3.log].
log file: /home/sdrwcs/.ros/log/2063244a-7861-11e7-ba85-3417ebc0a292/cartographer_node-3*.log
^C[playbag-6] killing on exit
[rviz-5] killing on exit
[cartographer_occupancy_grid_node-4] killing on exit
[robot_state_publisher-2] killing on exit
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

Wolfgang Hess

unread,
Aug 7, 2017, 8:08:57 AM8/7/17
to Vincent Sieben, google-cartographer
Can you file an issue on GitHub? Also, did you try to reproduce this in a Docker container? If you cannot, it is likely to be an issue in your build environment.

Cheers,
Wolfgang

 
log file: /home/sdrwcs/.ros/log/2063244a-7861-11e7-ba85-3417ebc0a292/cartographer_node-3*.log
^C[playbag-6] killing on exit
[rviz-5] killing on exit
[cartographer_occupancy_grid_node-4] killing on exit
[robot_state_publisher-2] killing on exit
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

--
You received this message because you are subscribed to the Google Groups "google-cartographer" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-cartographer+unsub...@googlegroups.com.
To post to this group, send email to google-cartographer@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-cartographer/95221159-6bcc-4690-8f97-6434adfda8e1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--

Wolfgang Hess

Software Engineer

wh...@google.com


Google Germany GmbH

Erika-Mann-Str. 33

80636 Munich


Geschäftsführer: Matthew Scott Sucherman, Paul Terence Manicle

Registergericht und -nummer: Hamburg, HRB 86891

Sitz der Gesellschaft: Hamburg

Vincent Sieben

unread,
Aug 10, 2017, 10:53:26 AM8/10/17
to google-cartographer
Hi Wolfgang, thanks for getting back to me.  When building the docker container, I get the following error:

Step 20/24 : RUN cartographer_ros/scripts/install.sh --pkg cartographer_ros &&     cartographer_ros/scripts/install.sh --pkg cartographer_ros         --catkin-make-args run_tests &&     cartographer_ros/scripts/catkin_test_results.sh build_isolated/cartographer_ros

[18/36] Building CXX object gmock/CMakeFiles/gmock.dir/usr/src/gtest/src/gtest-all.cc.o
FAILED: /usr/bin/c++   -DDISABLE_OPENNI2 -DDISABLE_PCAP -DDISABLE_PNG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DROSCONSOLE_BACKEND_LOG4CXX -DROS_PACKAGE_NAME=\"cartographer_ros\" -DvtkFiltersFlowPaths_AUTOINIT="1(vtkFiltersParallelFlowPaths)" -DvtkIOExodus_AUTOINIT="1(vtkIOParallelExodus)" -DvtkIOGeometry_AUTOINIT="1(vtkIOMPIParallel)" -DvtkIOImage_AUTOINIT="1(vtkIOMPIImage)" -DvtkIOSQL_AUTOINIT="2(vtkIOMySQL,vtkIOPostgreSQL)" -DvtkRenderingContext2D_AUTOINIT="1(vtkRenderingContextOpenGL)" -DvtkRenderingCore_AUTOINIT="4(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingFreeTypeOpenGL,vtkRenderingOpenGL)" -DvtkRenderingFreeType_AUTOINIT="2(vtkRenderingFreeTypeFontConfig,vtkRenderingMatplotlib)" -DvtkRenderingLIC_AUTOINIT="1(vtkRenderingParallelLIC)" -DvtkRenderingVolume_AUTOINIT="1(vtkRenderingVolumeOpenGL)" -isystem /usr/include/vtk-6.2 -isystem /usr/include/freetype2 -isystem /usr/include/x86_64-linux-gnu/freetype2 -isystem /usr/include/jsoncpp -isystem /usr/include/hdf5/openmpi -isystem /usr/lib/openmpi/include/openmpi/opal/mca/event/libevent2021/libevent -isystem /usr/lib/openmpi/include/openmpi/opal/mca/event/libevent2021/libevent/include -isystem /usr/lib/openmpi/include -isystem /usr/lib/openmpi/include/openmpi -isystem /usr/include/x86_64-linux-gnu -isystem /usr/include/python2.7 -isystem /usr/include/libxml2 -isystem /usr/include/tcl -isystem /usr/include/lua5.2 -isystem /usr/include/pcl-1.7 -isystem /usr/include/eigen3 -isystem /usr/include/ni -isystem /opt/cartographer_ros/include -isystem /opt/ros/kinetic/include -isystem /opt/ros/kinetic/share/xmlrpcpp/cmake/../../../include/xmlrpcpp -I. -I/catkin_ws/src/cartographer_ros/cartographer_ros -I/usr/src/gmock/gtest/include -isystem /usr/include/cairo -isystem /usr/include/glib-2.0 -isystem /usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /usr/include/pixman-1 -isystem /usr/include/libpng12 -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -O3 -DNDEBUG   -DDISABLE_LIBUSB-1.0  -DEIGEN_USE_NEW_STDVECTOR -DEIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET -pthread -std=c++11 -fPIC  -Wall -Wpedantic -Werror=format-security -Werror=missing-braces -Werror=reorder -Werror=return-type -Werror=switch -Werror=uninitialized -O3 -DNDEBUG -fPIC -MMD -MT CMakeFiles/cartographer_ros.dir/cartographer_ros/node.cc.o -MF CMakeFiles/cartographer_ros.dir/cartographer_ros/node.cc.o.d -o CMakeFiles/cartographer_ros.dir/cartographer_ros/node.cc.o -c /catkin_ws/src/cartographer_ros/cartographer_ros/cartographer_ros/node.cc
<command-line>:0:15: warning: ISO C++11 requires whitespace after the macro name
In file included from /usr/include/c++/5/bits/stl_map.h:63:0,
                 from /usr/include/c++/5/map:61,
                 from /catkin_ws/src/cartographer_ros/cartographer_ros/cartographer_ros/node.h:20,
                 from /catkin_ws/src/cartographer_ros/cartographer_ros/cartographer_ros/node.cc:17:
/usr/include/c++/5/tuple: In instantiation of ‘std::pair<_T1, _T2>::pair(std::tuple<_Args1 ...>&, std::tuple<_Args2 ...>&, std::_Index_tuple<_Indexes1 ...>, std::_Index_tuple<_Indexes2 ...>) [with _Args1 = {int&}; long unsigned int ..._Indexes1 = {0ul}; _Args2 = {std::chrono::duration<long int, std::ratio<1l, 10000000l> >&&}; long unsigned int ..._Indexes2 = {0ul}; _T1 = const int; _T2 = cartographer::mapping::PoseExtrapolator]’:
/usr/include/c++/5/tuple:1161:63:   required from ‘std::pair<_T1, _T2>::pair(std::piecewise_construct_t, std::tuple<_Args1 ...>, std::tuple<_Args2 ...>) [with _Args1 = {int&}; _Args2 = {std::chrono::duration<long int, std::ratio<1l, 10000000l> >&&}; _T1 = const int; _T2 = cartographer::mapping::PoseExtrapolator]’
/usr/include/c++/5/ext/new_allocator.h:120:4:   required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = std::pair<const int, cartographer::mapping::PoseExtrapolator>; _Args = {const std::piecewise_construct_t&, std::tuple<int&>, std::tuple<std::chrono::duration<long int, std::ratio<1l, 10000000l> >&&>}; _Tp = std::_Rb_tree_node<std::pair<const int, cartographer::mapping::PoseExtrapolator> >]’
/usr/include/c++/5/bits/alloc_traits.h:530:4:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = std::pair<const int, cartographer::mapping::PoseExtrapolator>; _Args = {const std::piecewise_construct_t&, std::tuple<int&>, std::tuple<std::chrono::duration<long int, std::ratio<1l, 10000000l> >&&>}; _Tp = std::_Rb_tree_node<std::pair<const int, cartographer::mapping::PoseExtrapolator> >; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<std::_Rb_tree_node<std::pair<const int, cartographer::mapping::PoseExtrapolator> > >]’
/usr/include/c++/5/bits/stl_tree.h:529:32:   required from ‘void std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_construct_node(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type, _Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple<int&>, std::tuple<std::chrono::duration<long int, std::ratio<1l, 10000000l> >&&>}; _Key = int; _Val = std::pair<const int, cartographer::mapping::PoseExtrapolator>; _KeyOfValue = std::_Select1st<std::pair<const int, cartographer::mapping::PoseExtrapolator> >; _Compare = std::less<int>; _Alloc = std::allocator<std::pair<const int, cartographer::mapping::PoseExtrapolator> >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type = std::_Rb_tree_node<std::pair<const int, cartographer::mapping::PoseExtrapolator> >*]’
/usr/include/c++/5/bits/stl_tree.h:546:21:   required from ‘std::_Rb_tree_node<_Val>* std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_create_node(_Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple<int&>, std::tuple<std::chrono::duration<long int, std::ratio<1l, 10000000l> >&&>}; _Key = int; _Val = std::pair<const int, cartographer::mapping::PoseExtrapolator>; _KeyOfValue = std::_Select1st<std::pair<const int, cartographer::mapping::PoseExtrapolator> >; _Compare = std::less<int>; _Alloc = std::allocator<std::pair<const int, cartographer::mapping::PoseExtrapolator> >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type = std::_Rb_tree_node<std::pair<const int, cartographer::mapping::PoseExtrapolator> >*]’
/usr/include/c++/5/bits/stl_tree.h:2123:33:   required from ‘std::pair<std::_Rb_tree_iterator<_Val>, bool> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_unique(_Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple<int&>, std::tuple<std::chrono::duration<long int, std::ratio<1l, 10000000l> >&&>}; _Key = int; _Val = std::pair<const int, cartographer::mapping::PoseExtrapolator>; _KeyOfValue = std::_Select1st<std::pair<const int, cartographer::mapping::PoseExtrapolator> >; _Compare = std::less<int>; _Alloc = std::allocator<std::pair<const int, cartographer::mapping::PoseExtrapolator> >]’
/usr/include/c++/5/bits/stl_map.h:559:64:   required from ‘std::pair<typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<std::pair<const _Key, _Tp> >::other>::iterator, bool> std::map<_Key, _Tp, _Compare, _Alloc>::emplace(_Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple<int&>, std::tuple<std::chrono::duration<long int, std::ratio<1l, 10000000l> >&&>}; _Key = int; _Tp = cartographer::mapping::PoseExtrapolator; _Compare = std::less<int>; _Alloc = std::allocator<std::pair<const int, cartographer::mapping::PoseExtrapolator> >; typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<std::pair<const _Key, _Tp> >::other>::iterator = std::_Rb_tree_iterator<std::pair<const int, cartographer::mapping::PoseExtrapolator> >]’
/catkin_ws/src/cartographer_ros/cartographer_ros/cartographer_ros/node.cc:116:46:   required from here
/usr/include/c++/5/tuple:1172:70: error: no matching function for call to ‘cartographer::mapping::PoseExtrapolator::PoseExtrapolator(std::chrono::duration<long int, std::ratio<1l, 10000000l> >)’
         second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...)
                                                                      ^
In file included from /catkin_ws/src/cartographer_ros/cartographer_ros/cartographer_ros/node.h:27:0,
                 from /catkin_ws/src/cartographer_ros/cartographer_ros/cartographer_ros/node.cc:17:
/opt/cartographer_ros/include/cartographer/mapping/pose_extrapolator.h:37:12: note: candidate: cartographer::mapping::PoseExtrapolator::PoseExtrapolator(cartographer::common::Duration, double)
   explicit PoseExtrapolator(common::Duration pose_queue_duration,
            ^
/opt/cartographer_ros/include/cartographer/mapping/pose_extrapolator.h:37:12: note:   candidate expects 2 arguments, 1 provided
<command-line>:0:15: warning: ISO C++11 requires whitespace after the macro name
ninja: build stopped: subcommand failed.
MPI4Py;vtkFiltersSMP;vtkFiltersSelection;vtkIOVPIC;VPIC;vtkImagingMath;vtkImagingMorphological;vtkRenderingParallel;vtkRenderingFreeTypeFontConfig;vtkIOFFMPEG;vtkIOMPIImage;vtkIOGDAL 
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   system
--   iostreams
--   regex
-- Configuring done
-- Generating done
-- Build files have been written to: /catkin_ws/build_isolated/cartographer_ros
==> ninja -j4 -l4 in '/catkin_ws/build_isolated/cartographer_ros'
<== Failed to process package 'cartographer_ros':
  Command '['/opt/cartographer_ros/env.sh', 'ninja', '-j4', '-l4']' returned non-zero exit status 1

Reproduce this error by running:
==> cd /catkin_ws/build_isolated/cartographer_ros && /opt/cartographer_ros/env.sh ninja -j4 -l4

Command failed, exiting.
The command '/bin/sh -c cartographer_ros/scripts/install.sh --pkg cartographer_ros &&     cartographer_ros/scripts/install.sh --pkg cartographer_ros         --catkin-make-args run_tests &&     cartographer_ros/scripts/catkin_test_results.sh build_isolated/cartographer_ros' returned a non-zero code: 1

Damon Kohler

unread,
Aug 11, 2017, 3:39:27 AM8/11/17
to Vincent Sieben, google-cartographer
It looks like you have a incompatible versions of cartographer and cartographer_ros. If you're trying to build from master, be sure to pull the latest changes from cartographer_ros before building cartographer_ros/Dockerfile.*

Otherwise, you'll need to make use of the Dockerfile's $CARTOGRAPHER_VERSION variable and point it at a version of cartographer that is compatible with the version of cartographer_ros you're using.l

To unsubscribe from this group and stop receiving emails from it, send an email to google-cartogra...@googlegroups.com.
To post to this group, send email to google-ca...@googlegroups.com.



--

Wolfgang Hess

Software Engineer

wh...@google.com


Google Germany GmbH

Erika-Mann-Str. 33

80636 Munich


Geschäftsführer: Matthew Scott Sucherman, Paul Terence Manicle

Registergericht und -nummer: Hamburg, HRB 86891

Sitz der Gesellschaft: Hamburg

--
You received this message because you are subscribed to the Google Groups "google-cartographer" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-cartogra...@googlegroups.com.
To post to this group, send email to google-ca...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-cartographer/dc83dcd7-f415-4112-9033-69c069f6fcfc%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.
--

Damon Kohler

Software Engineer

damon...@google.com

Google Germany GmbH

Erika-Mann-Straße 33

80636 München


Geschäftsführer: Paul Manicle, Halimah DeLaine Prado

Registergericht und -nummer: Hamburg, HRB 86891

Sitz der Gesellschaft: Hamburg


Diese E-Mail ist vertraulich. Falls sie diese fälschlicherweise erhalten haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter, löschen Sie alle Kopien und Anhänge davon und lassen Sie mich bitte wissen, dass die E-Mail an die falsche Person gesendet wurde.

    

This e-mail is confidential. If you received this communication by mistake, please don't forward it to anyone else, please erase all copies and attachments, and please let me know that it has gone to the wrong person.

Vincent Sieben

unread,
Aug 17, 2017, 5:19:29 PM8/17/17
to google-cartographer, vjsi...@gmail.com
Hi,

Turns out the HD was crashing!!!  With a new HD + reinstall, cartographer is now working beautifully.  Thanks for the support, it was much appreciated.

-Vince
To unsubscribe from this group and stop receiving emails from it, send an email to google-cartographer+unsub...@googlegroups.com.



--

Wolfgang Hess

Software Engineer

wh...@google.com


Google Germany GmbH

Erika-Mann-Str. 33

80636 Munich


Geschäftsführer: Matthew Scott Sucherman, Paul Terence Manicle

Registergericht und -nummer: Hamburg, HRB 86891

Sitz der Gesellschaft: Hamburg

--
You received this message because you are subscribed to the Google Groups "google-cartographer" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-cartographer+unsub...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages