Skip to content
This repository has been archived by the owner on Jan 17, 2022. It is now read-only.

Segmentation Fault on config parsing #52

Open
nicolasb827 opened this issue Aug 28, 2018 · 0 comments
Open

Segmentation Fault on config parsing #52

nicolasb827 opened this issue Aug 28, 2018 · 0 comments

Comments

@nicolasb827
Copy link

Hello,

I built on CentOS 7 (Linux s3 3.10.0-862.9.1.el7.x86_64 #1 SMP Mon Jul 16 16:29:36 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux), using stock packages.

When running, I have a segmentation fault:

[me@s3 build]# make debug
Scanning dependencies of target debug
[100%] Switch CMAKE_BUILD_TYPE to Debug
-- Cmake Version : 2.8.12
-- Cloudmig Version : 1.0.0
-- Build Type : Debug
-- System : Linux 3.10.0-862.9.1.el7.x86_64
-- Source Directory : /root/s3sync/Cloud-Migration-Tool
-- Install Prefix : /usr/local
-- Package Type : DEB
-- Package maintainer : David Pineau <[email protected]>
-- Droplet include path found : /usr/local/include/droplet-3.0
-- Droplet library found : /usr/local/lib/libdroplet.so
-- Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)
-- The cloudmig-view tool cannot be built since the ncurseslibrary could not be found on your system.
-- Configuring done
-- Generating done
-- Build files have been written to: /root/s3sync/Cloud-Migration-Tool/build
[  5%] Built target cloudmig-man
[ 10%] Built target cloudmig-view-man
[ 15%] Building C object src/cldmig/CMakeFiles/cloudmig.dir/main.c.o
[ 21%] Building C object src/cldmig/CMakeFiles/cloudmig.dir/status_store.c.o
[ 26%] Building C object src/cldmig/CMakeFiles/cloudmig.dir/status_digest.c.o
[ 31%] Building C object src/cldmig/CMakeFiles/cloudmig.dir/status_bucket.c.o
[ 36%] Building C object src/cldmig/CMakeFiles/cloudmig.dir/delete_files.c.o
[ 42%] Building C object src/cldmig/CMakeFiles/cloudmig.dir/display.c.o
[ 47%] Building C object src/cldmig/CMakeFiles/cloudmig.dir/viewer.c.o
[ 52%] Building C object src/cldmig/CMakeFiles/cloudmig.dir/file_acl.c.o
[ 57%] Building C object src/cldmig/CMakeFiles/cloudmig.dir/file_transfer.c.o
[ 63%] Building C object src/cldmig/CMakeFiles/cloudmig.dir/load_config.c.o
[ 68%] Building C object src/cldmig/CMakeFiles/cloudmig.dir/load_profiles.c.o
[ 73%] Building C object src/cldmig/CMakeFiles/cloudmig.dir/log.c.o
[ 78%] Building C object src/cldmig/CMakeFiles/cloudmig.dir/options.c.o
[ 84%] Building C object src/cldmig/CMakeFiles/cloudmig.dir/synced_dir.c.o
[ 89%] Building C object src/cldmig/CMakeFiles/cloudmig.dir/transfer.c.o
[ 94%] Building C object src/cldmig/CMakeFiles/cloudmig.dir/transfer_info.c.o
[100%] Building C object src/cldmig/CMakeFiles/cloudmig.dir/utils.c.o
Linking C executable ../../bin/cloudmig
[100%] Built target cloudmig
Built target debug

running:

[root@s3 build]# gdb ./bin/cloudmig
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-110.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /root/s3sync/Cloud-Migration-Tool/build/bin/cloudmig...done.
(gdb) set args --config ../../../cloudmig.conf
(gdb) run
Starting program: /root/s3sync/Cloud-Migration-Tool/build/./bin/cloudmig --config ../../../cloudmig.conf
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x000000000040cace in parse_config (conf=0x7fffffffdee0, options=0x7fffffffe1f0, json_config=0x617bb0, src_profile=0x617010, dst_profile=0x6172d0, status_profile=0x617510)
    at /root/s3sync/Cloud-Migration-Tool/src/cldmig/load_config.c:510
510	        json_object_object_foreach(section, key, val)
Missing separate debuginfos, use: debuginfo-install glibc-2.17-222.el7.x86_64 json-c-0.11-4.el7_0.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.15.1-19.el7.x86_64 libcom_err-1.42.9-12.el7_5.x86_64 libselinux-2.5-12.el7.x86_64 libxml2-2.9.1-6.el7_2.3.x86_64 openssl-libs-1.0.2k-12.el7.x86_64 pcre-8.32-17.el7.x86_64 xz-libs-5.2.2-1.el7.x86_64 zlib-1.2.7-17.el7.x86_64
(gdb) bt
#0  0x000000000040cace in parse_config (conf=0x7fffffffdee0, options=0x7fffffffe1f0, json_config=0x617bb0, src_profile=0x617010, dst_profile=0x6172d0, status_profile=0x617510)
    at /root/s3sync/Cloud-Migration-Tool/src/cldmig/load_config.c:510
#1  0x000000000040cd60 in load_config (conf=0x7fffffffdee0, options=0x7fffffffe1f0) at /root/s3sync/Cloud-Migration-Tool/src/cldmig/load_config.c:572
#2  0x0000000000403fea in main (argc=3, argv=0x7fffffffe3f8) at /root/s3sync/Cloud-Migration-Tool/src/cldmig/main.c:90
(gdb) p section
$1 = (struct json_object *) 0x618840
(gdb) p key
$2 = 0x618820 "secret_key"
(gdb) p val
$3 = (struct json_object *) 0x618790

The configuration file:

{
	"source": {
           "host": "172.16.13.51:9000",
			"access_key": "mykey",
			"secret_key": "mysecret"
	},
	"destination": {
           "host": "172.16.13.182:8000",
			"access_key": "myotherkey",
			"secret_key": "myothersecret"
	},
	"status": "statusmig",
	"cloudmig": { "create-directories": true }
}
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant