Mahendra Kutare
2010-Dec-23 00:55 UTC
[Xen-devel] SIGSEGV linking GNU scientific library (GSL) with Xen
Hi All, I am a Ph.D student at College of Computing Gatech. I have a user level code under /tools/xenstat/xentop/xenloadbalance.c and this uses functions already provided by xenstat.c to get the cpu/mem utilization numbers for all the domains running on a physical machine. Additionally, I am linking GNU scientific library to this code to do some basic statistics at run time. This code has a sliding window implemented with linked list and which for each sliding window this code passes the window data to GSL library for statistics calculation. For example for window size of 10 and polling freq of 1 sec it will pass 10 data elements passed to GSL library functions. I am using statistical functions provided by this GNU library for the analysis of the data generate at runtime such as gsl_stats_mean, gsl_stats_sd etc. I linked gsl and gslcblas with my code as can be seen in Makefile. I could get it compile well and also run well also for some time by which I mean The SIGSEGV fault behavior is very non-deterministic i.e sometimes it happens after few number of polls and sometimes large number of polls given for example I am polling every 1 sec. Also, If I remove the function using GSL library everything runs fine. I ran this code with gdb and I get the SIGSEGV at the gsl_stats_mean function call. Then I ran this code with Valgrind with track-origins=yes and shows the following error multiple times in the *beginning of the run* - ==20934== Conditional jump or move depends on uninitialised value(s) ==20934== at 0x39BB84899D: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) *==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/ * *xen-3.4.3/tools/xenstat/**xentop/xenloadbalance)* Which tells me that there is something wrong happening with my code calling xenstat_get_node() api. But then the above errors stops and run continues well for a while and then after a while it throws errors again as shown in the following snippet of run from Valgrind. As you can see in the snippet of run below after a while..*Uninitialized value error* is displayed and then finally there is a fprintf output as - *3.19995e+159 nan nan nan nan nan nan. *This will result in SIGSEGV with normal run or even with gdb debugger*. Valgrind somehow handles the error and continues again ..and it continue working..But this shows that what went wrong somehow in non-valgrind runs. *If you look at this first error produced below there is call to gsl_stats_mean function which calls sqrt function. The origin track tells that the problem again is - *==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance)* * * by xenstat_get_node api. I am providing the snippet of the run below in this email. I am also providing my code and the makefile as an attachment to make sure I get any possible help as soon as possible. I tried gdb debugging with coredump also but I could not get the symbols loaded for Xen. May be I am missing something in the Makefile for Xen build process. I also checked online archives at xen-devel but could not find any patches or way to fix this. I need some help very soon as this is impacting my work. Any pointers/help/patches or any changes even in my code which would fix this would be valuable. Hoping to get response. - Regards Mahendra <<Snippet of code run >> 4.77496 12.7943 163.695 2.67946 2.18328 2.83959 0.796161 4.77506 12.7946 163.701 2.67946 2.18328 2.83959 0.796157 4.77398 12.7917 163.627 2.67946 2.18328 2.83958 0.796187 4.78219 12.8137 164.19 2.67946 2.18328 2.83958 0.796154 4.78796 12.8291 164.587 2.67946 2.18329 2.8396 0.796033 4.78952 12.8333 164.695 2.67946 2.18329 2.83964 0.795929 4.79168 12.8391 164.842 2.67946 2.18328 2.83959 0.796079 4.79496 12.8479 165.068 2.67946 2.18328 2.83959 0.796217 4.7917 12.8392 164.844 2.67946 2.18328 2.83957 0.796367 4.78888 12.8316 164.65 2.67946 2.18328 2.83957 0.796154 4.78841 12.8303 164.618 2.67946 2.18329 2.8396 0.795824 4.78417 12.819 164.326 2.67946 2.18328 2.83958 0.796221 4.78749 12.8279 164.555 2.67946 2.18328 2.83958 0.796066 4.78355 12.8173 164.284 2.67946 2.18328 2.83959 0.796008 4.78859 12.8308 164.63 2.67946 2.18329 2.8396 0.795986 ==20934== Conditional jump or move depends on uninitialised value(s) *==20934== at 0x39BC424031: sqrt (in /lib64/libm-2.5.so) ==20934== by 0x345136C7B1: gsl_stats_sd_m (in /usr/lib64/libgsl.so.0.14.0)* ==20934== by 0x401A31: calc_load_vector_stats (xenloadbalance.c:222) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/ xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Use of uninitialised value of size 8 ==20934== at 0x39BB848982: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Conditional jump or move depends on uninitialised value(s) ==20934== at 0x39BB84899D: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Use of uninitialised value of size 8 ==20934== at 0x39BB84899D: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Use of uninitialised value of size 8 ==20934== at 0x39BB83F260: __mpn_addmul_1 (in /lib64/libc-2.5.so) ==20934== by 0x39BB84038E: __mpn_mul (in /lib64/libc-2.5.so) ==20934== by 0x39BB848A00: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Use of uninitialised value of size 8 ==20934== at 0x39BB83F293: __mpn_addmul_1 (in /lib64/libc-2.5.so) ==20934== by 0x39BB84038E: __mpn_mul (in /lib64/libc-2.5.so) ==20934== by 0x39BB848A00: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Use of uninitialised value of size 8 ==20934== at 0x39BB840392: __mpn_mul (in /lib64/libc-2.5.so) ==20934== by 0x39BB848A00: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Use of uninitialised value of size 8 ==20934== at 0x39BB8497C6: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Use of uninitialised value of size 8 ==20934== at 0x39BB8497B4: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Use of uninitialised value of size 8 ==20934== at 0x39BB849D26: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Use of uninitialised value of size 8 ==20934== at 0x39BB83FFF5: __mpn_rshift (in /lib64/libc-2.5.so) ==20934== by 0x39BB84A0C4: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Use of uninitialised value of size 8 ==20934== at 0x39BB83F788: __mpn_divrem (in /lib64/libc-2.5.so) ==20934== by 0x39BB8481FA: hack_digit.12269 (in /lib64/libc-2.5.so) ==20934== by 0x39BB8491DF: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Use of uninitialised value of size 8 ==20934== at 0x39BB83F79D: __mpn_divrem (in /lib64/libc-2.5.so) ==20934== by 0x39BB8481FA: hack_digit.12269 (in /lib64/libc-2.5.so) ==20934== by 0x39BB8491DF: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Conditional jump or move depends on uninitialised value(s) ==20934== at 0x39BB83F7A4: __mpn_divrem (in /lib64/libc-2.5.so) ==20934== by 0x39BB8481FA: hack_digit.12269 (in /lib64/libc-2.5.so) ==20934== by 0x39BB8491DF: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Conditional jump or move depends on uninitialised value(s) ==20934== at 0x39BB83F7C5: __mpn_divrem (in /lib64/libc-2.5.so) ==20934== by 0x39BB8481FA: hack_digit.12269 (in /lib64/libc-2.5.so) ==20934== by 0x39BB8491DF: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Conditional jump or move depends on uninitialised value(s) ==20934== at 0x39BB83F81E: __mpn_divrem (in /lib64/libc-2.5.so) ==20934== by 0x39BB8481FA: hack_digit.12269 (in /lib64/libc-2.5.so) ==20934== by 0x39BB8491DF: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Use of uninitialised value of size 8 ==20934== at 0x39BB83F82D: __mpn_divrem (in /lib64/libc-2.5.so) ==20934== by 0x39BB8481FA: hack_digit.12269 (in /lib64/libc-2.5.so) ==20934== by 0x39BB8491DF: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Conditional jump or move depends on uninitialised value(s) ==20934== at 0x39BB83F850: __mpn_divrem (in /lib64/libc-2.5.so) ==20934== by 0x39BB8481FA: hack_digit.12269 (in /lib64/libc-2.5.so) ==20934== by 0x39BB8491DF: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Use of uninitialised value of size 8 ==20934== at 0x39BB83F878: __mpn_divrem (in /lib64/libc-2.5.so) ==20934== by 0x39BB8481FA: hack_digit.12269 (in /lib64/libc-2.5.so) ==20934== by 0x39BB8491DF: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Conditional jump or move depends on uninitialised value(s) ==20934== at 0x39BB83F888: __mpn_divrem (in /lib64/libc-2.5.so) ==20934== by 0x39BB8481FA: hack_digit.12269 (in /lib64/libc-2.5.so) ==20934== by 0x39BB8491DF: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Conditional jump or move depends on uninitialised value(s) ==20934== at 0x39BB83F8C3: __mpn_divrem (in /lib64/libc-2.5.so) ==20934== by 0x39BB8481FA: hack_digit.12269 (in /lib64/libc-2.5.so) ==20934== by 0x39BB8491DF: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Conditional jump or move depends on uninitialised value(s) ==20934== at 0x39BB83F922: __mpn_divrem (in /lib64/libc-2.5.so) ==20934== by 0x39BB8481FA: hack_digit.12269 (in /lib64/libc-2.5.so) ==20934== by 0x39BB8491DF: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Conditional jump or move depends on uninitialised value(s) ==20934== at 0x39BB83F965: __mpn_divrem (in /lib64/libc-2.5.so) ==20934== by 0x39BB8481FA: hack_digit.12269 (in /lib64/libc-2.5.so) ==20934== by 0x39BB8491DF: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Conditional jump or move depends on uninitialised value(s) ==20934== at 0x39BB83F967: __mpn_divrem (in /lib64/libc-2.5.so) ==20934== by 0x39BB8481FA: hack_digit.12269 (in /lib64/libc-2.5.so) ==20934== by 0x39BB8491DF: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Use of uninitialised value of size 8 ==20934== at 0x39BB8410F0: __mpn_submul_1 (in /lib64/libc-2.5.so) ==20934== by 0x39BB83F997: __mpn_divrem (in /lib64/libc-2.5.so) ==20934== by 0x39BB8481FA: hack_digit.12269 (in /lib64/libc-2.5.so) ==20934== by 0x39BB8491DF: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Use of uninitialised value of size 8 ==20934== at 0x39BB841123: __mpn_submul_1 (in /lib64/libc-2.5.so) ==20934== by 0x39BB83F997: __mpn_divrem (in /lib64/libc-2.5.so) ==20934== by 0x39BB8481FA: hack_digit.12269 (in /lib64/libc-2.5.so) ==20934== by 0x39BB8491DF: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Conditional jump or move depends on uninitialised value(s) ==20934== at 0x39BB83F99D: __mpn_divrem (in /lib64/libc-2.5.so) ==20934== by 0x39BB8481FA: hack_digit.12269 (in /lib64/libc-2.5.so) ==20934== by 0x39BB8491DF: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Use of uninitialised value of size 8 ==20934== at 0x39BB83F9CC: __mpn_divrem (in /lib64/libc-2.5.so) ==20934== by 0x39BB8481FA: hack_digit.12269 (in /lib64/libc-2.5.so) ==20934== by 0x39BB8491DF: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Use of uninitialised value of size 8 ==20934== at 0x39BB83F9D9: __mpn_divrem (in /lib64/libc-2.5.so) ==20934== by 0x39BB8481FA: hack_digit.12269 (in /lib64/libc-2.5.so) ==20934== by 0x39BB8491DF: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934===20934== Conditional jump or move depends on uninitialised value(s) ==20934== at 0x39BB83F9E4: __mpn_divrem (in /lib64/libc-2.5.so) ==20934== by 0x39BB8481FA: hack_digit.12269 (in /lib64/libc-2.5.so) ==20934== by 0x39BB8491DF: __printf_fp (in /lib64/libc-2.5.so) ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB847F35: buffered_vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) ==20934== by 0x401BA4: calc_load_vector_stats (xenloadbalance.c:227) ==20934== by 0x401F54: main (xenloadbalance.c:307) ==20934== Uninitialised value was created by a stack allocation ==20934== at 0x402682: xenstat_get_node (in /var/lib/xen/images/mahendra/xen-3.4.3/tools/xenstat/xentop/xenloadbalance) ==20934=*3.19995e+159 nan nan nan nan nan nan * 4.81937 12.9153 166.804 2.67987 2.18463 2.84841 0.791319 4.77993 12.8076 164.035 2.67946 2.18329 2.8396 0.796059 4.78137 12.8115 164.134 2.67946 2.18329 2.8396 0.796198 4.77785 12.802 163.892 2.67946 2.18328 2.83959 0.796079 4.79513 12.8487 165.089 2.67953 2.18352 2.84114 0.797589 4.77562 12.7961 163.74 2.67946 2.18329 2.83961 0.796163 4.77319 12.7896 163.573 2.67946 2.18328 2.83958 0.796238 4.77474 12.7937 163.679 2.67946 2.18328 2.83957 0.79607 4.78139 12.8115 164.135 2.67946 2.18328 2.83959 0.796419 4.78161 12.8121 164.151 2.67946 2.18328 2.83959 0.796045 4.7829 12.8156 164.239 2.67946 2.18328 2.83958 0.796163 4.78167 12.8123 164.155 2.67946 2.18328 2.83958 0.796128 4.78177 12.8125 164.161 2.67946 2.18328 2.83958 0.796148 4.77629 12.7979 163.785 2.67946 2.18328 2.83958 0.796147 4.777 12.7998 163.834 2.67946 2.18328 2.83957 0.796212 4.77935 12.8061 163.995 2.67946 2.18329 2.83962 0.796468 4.77707 12.7999 163.839 2.67946 2.18328 2.83959 0.796127 4.77722 12.8004 163.849 2.67946 2.18328 2.83958 0.796079 4.78466 12.8203 164.36 2.67946 2.18328 2.83957 0.796288 4.78873 12.8312 164.64 2.67946 2.18328 2.83958 0.796093 4.79244 12.8411 164.895 2.67946 2.18328 2.83959 0.796107 4.79439 12.8464 165.029 2.67946 2.18328 2.83959 0.796278 4.80345 12.8708 165.659 2.6795 2.18343 2.84053 0.797419 4.78866 12.831 164.635 2.67946 2.18328 2.83958 0.796232 4.78944 12.8331 164.688 2.67946 2.18328 2.83959 0.796085 4.79314 12.843 164.943 2.67946 2.18328 2.83957 0.796364 4.79037 12.8356 164.753 2.67946 2.18328 2.83958 0.796188 4.78823 12.8299 164.605 2.67946 2.18328 2.83959 0.796004 4.78876 12.8313 164.642 2.67946 2.18329 2.8396 0.796358 4.78617 12.8243 164.464 2.67946 2.18328 2.83957 0.796168 4.78302 12.8159 164.247 2.67946 2.18329 2.8396 0.796071 4.78208 12.8134 164.183 2.67946 2.18328 2.83957 0.796293 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Campbell
2010-Dec-23 09:59 UTC
Re: [Xen-devel] SIGSEGV linking GNU scientific library (GSL) with Xen
On Thu, 2010-12-23 at 00:55 +0000, Mahendra Kutare wrote:> ==20934== Conditional jump or move depends on uninitialised value(s) > ==20934== at 0x39BB84899D: __printf_fp (in /lib64/libc-2.5.so) > ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) > ==20934== by 0x39BB847F35: buffered_vfprintf > (in /lib64/libc-2.5.so) > ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) > ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) > ==20934== by 0x401BA4: calc_load_vector_stats > (xenloadbalance.c:227) > ==20934== by 0x401F54: main (xenloadbalance.c:307) > ==20934== Uninitialised value was created by a stack allocation > ==20934== at 0x402682: xenstat_get_node > (in /var/lib/xen/images/mahendra/ > xen-3.4.3/tools/xenstat/xentop/xenloadbalance)There is a good chance this is a false positive arising because valgrind does not understand that the side effects of the hypercall ioctl is to initialise some memory. You can work around this by explicitly clearing the relevant data structures (physinfo and domaininfo in this case) before use. Or you might like to pull in my valgrind patch [0] which adds basic understanding of the hypercall ioctl. However the coverage is incomplete (basically sufficient to valgrind domain creation) so you may need to extend it to cover other hypercalls which you observe when running your application. Once you have resolved/hidden these false positives hopefully the true issue will be more obvious. [0] http://lists.xensource.com/archives/html/xen-devel/2010-08/msg01246.html Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Mahendra Kutare
2010-Dec-23 16:02 UTC
Re: [Xen-devel] SIGSEGV linking GNU scientific library (GSL) with Xen
Hi Ian, Thanks for your email. I am trying to isolate the issue looking at one-off-error and with the patch you mentioned. One of the things I see is the default Xen build does optimization such as -O2 -fomit-frame-pointer -m64 -fno-strict-aliasing. I would like to debug without those optimization and options. I tried changing my build file and overwrite -O2 optimization with -O0. I also changed Config.mk to disable -O2 -fomit-frame-pointer -m64 -fno-strict-aliasing but during make of my code it still shows that its using them. Can you help me figure out how to disable this ? Example - *gcc -O2 -fomit-frame-pointer -m64 -fno-strict-aliasing* -std=gnu99 -Wall -Wstrict-prototypes -Wno-unused-value -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF .xentop.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE *-O0 -g* -DGCC_PRINTF -Wall -Werror -I../../../tools/xenstat/libxenstat/src -DHOST_Linux -O0 -L../../../tools/xenstat/libxenstat/src xentop.c -lxenstat -lncurses -lgsl -lgslcblas -lm -o xentop Thanks for your help and I am working on debugging this and will update here. Regards Mahendra On Thu, Dec 23, 2010 at 4:59 AM, Ian Campbell <Ian.Campbell@citrix.com>wrote:> On Thu, 2010-12-23 at 00:55 +0000, Mahendra Kutare wrote: > > > ==20934== Conditional jump or move depends on uninitialised value(s) > > ==20934== at 0x39BB84899D: __printf_fp (in /lib64/libc-2.5.so) > > ==20934== by 0x39BB844AD5: vfprintf (in /lib64/libc-2.5.so) > > ==20934== by 0x39BB847F35: buffered_vfprintf > > (in /lib64/libc-2.5.so) > > ==20934== by 0x39BB842A1B: vfprintf (in /lib64/libc-2.5.so) > > ==20934== by 0x39BB84D357: fprintf (in /lib64/libc-2.5.so) > > ==20934== by 0x401BA4: calc_load_vector_stats > > (xenloadbalance.c:227) > > ==20934== by 0x401F54: main (xenloadbalance.c:307) > > ==20934== Uninitialised value was created by a stack allocation > > ==20934== at 0x402682: xenstat_get_node > > (in /var/lib/xen/images/mahendra/ > > xen-3.4.3/tools/xenstat/xentop/xenloadbalance) > > There is a good chance this is a false positive arising because valgrind > does not understand that the side effects of the hypercall ioctl is to > initialise some memory. > > You can work around this by explicitly clearing the relevant data > structures (physinfo and domaininfo in this case) before use. > > Or you might like to pull in my valgrind patch [0] which adds basic > understanding of the hypercall ioctl. However the coverage is incomplete > (basically sufficient to valgrind domain creation) so you may need to > extend it to cover other hypercalls which you observe when running your > application. > > Once you have resolved/hidden these false positives hopefully the true > issue will be more obvious. > > [0] > http://lists.xensource.com/archives/html/xen-devel/2010-08/msg01246.html > > Ian. > > > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel