Skip to content

Conversation

@tdhock
Copy link
Owner

@tdhock tdhock commented Jul 26, 2022

No description provided.

@tdhock
Copy link
Owner Author

tdhock commented Jul 26, 2022

hey @FabrizioSandri it says "No error has been reported by RcppDeepState" but I'm wondering what functions were tested, and with how many random inputs. Can that info be added to the comment?
Also I believe there should be a problem reported here (memory leak), why is that not being reported?

@tdhock
Copy link
Owner Author

tdhock commented Jul 26, 2022

also i'm thinking that we can add a third option, comment: 'failure' means only comment when there is a failure. (probably when there are no issues, most users will like to see nothing / not be bothered)

@tdhock
Copy link
Owner Author

tdhock commented Jul 26, 2022

root@cmp2986:~# R -d 'valgrind --leak-check=full' -e 'binsegRcpp::cum_median(1:5)'
==260== Memcheck, a memory error detector
==260== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==260== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==260== Command: /usr/lib/R/bin/exec/R -e binsegRcpp::cum_median(1:5)
==260==
==260== error calling PR_SET_PTRACER, vgdb might block

R version 4.1.2 (2021-11-01) -- "Bird Hippie"
Copyright (C) 2021 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> binsegRcpp::cum_median(1:5)
[1] 1.0 1.5 2.0 2.5 3.0
>
>
==260==
==260== HEAP SUMMARY:
==260==     in use at exit: 53,345,753 bytes in 10,639 blocks
==260==   total heap usage: 31,699 allocs, 21,060 frees, 92,545,896 bytes allocated
==260==
==260== 40 bytes in 1 blocks are definitely lost in loss record 21 of 1,466
==260==    at 0x484A2F3: operator new[](unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==260==    by 0xD7D4C12: cum_median_interface(Rcpp::Vector<14, Rcpp::PreserveStorage>, Rcpp::Vector<14, Rcpp::PreserveStorage>) (interface.cpp:11)
==260==    by 0xD7C666C: _binsegRcpp_cum_median_interface (RcppExports.cpp:21)
==260==    by 0x4952B6B: ??? (in /usr/lib/R/lib/libR.so)
==260==    by 0x49938BD: ??? (in /usr/lib/R/lib/libR.so)
==260==    by 0x49A98EF: Rf_eval (in /usr/lib/R/lib/libR.so)
==260==    by 0x49AB48E: ??? (in /usr/lib/R/lib/libR.so)
==260==    by 0x49AC2D4: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==260==    by 0x4999A2F: ??? (in /usr/lib/R/lib/libR.so)
==260==    by 0x49A98EF: Rf_eval (in /usr/lib/R/lib/libR.so)
==260==    by 0x49AB48E: ??? (in /usr/lib/R/lib/libR.so)
==260==    by 0x49AC2D4: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==260==
==260== LEAK SUMMARY:
==260==    definitely lost: 40 bytes in 1 blocks
==260==    indirectly lost: 0 bytes in 0 blocks
==260==      possibly lost: 0 bytes in 0 blocks
==260==    still reachable: 53,345,713 bytes in 10,638 blocks
==260==                       of which reachable via heuristic:
==260==                         newarray           : 4,264 bytes in 1 blocks
==260==         suppressed: 0 bytes in 0 blocks
==260== Reachable blocks (those to which a pointer was found) are not shown.
==260== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==260==
==260== For lists of detected and suppressed errors, rerun with: -s
==260== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
root@cmp2986:~#

@tdhock
Copy link
Owner Author

tdhock commented Jul 26, 2022

@FabrizioSandri Are you running valgrind with --leak-check=full? If not then you don't get the details about what line of code caused the leak.

@FabrizioSandri
Copy link

I'm wondering what functions were tested, and with how many random inputs. Can that info be added to the comment?

Yes, this is a good improvement. I will add this

@FabrizioSandri
Copy link

Also I believe there should be a problem reported here (memory leak), why is that not being reported?

After digging inside the code I found that if there is at least one function that cannot be analyzed, that is, a function whose arguments differ from the supported one, RcppDeepState terminates. I solved this problem in the pull request Fuzz only supported functions #12. I am waiting for the CI checks and then I will merge that pull request so that we can check again if RcppDeepState-action works on the binsegRcpp package.

@FabrizioSandri
Copy link

Are you running valgrind with --leak-check=full? If not then you don't get the details about what line of code caused the leak.

The leak check is automatically set to full by the --xml=yes parameter. I found this on the manual page of Valgrind:

If --xml=yes is given, memcheck will automatically use the value --leak-check=full.

@tdhock
Copy link
Owner Author

tdhock commented Jul 26, 2022

is it the LogicalVector which was not supported?

@FabrizioSandri
Copy link

Yes, exactly

@FabrizioSandri
Copy link

I'm wondering what functions were tested, and with how many random inputs. Can that info be added to the comment?

also i'm thinking that we can add a third option, comment: 'failure' means only comment when there is a failure. (probably when there are no issues, most users will like to see nothing / not be bothered

These new features has been implemented in the pull request FabrizioSandri/RcppDeepState-action#6.

Now I focus on the memory leak that has not been reported.

@tdhock
Copy link
Owner Author

tdhock commented Jul 27, 2022

I re-ran the job, https://github.com/tdhock/binsegRcpp/actions/runs/2741524510
BTW instead of making a new comment after every push, can you add a comment the first time, and then edit the comment the next times?(so that there is only one comment with the current status, like with codecov comment)

@FabrizioSandri
Copy link

@tdhock this is a great new feature, I've just implemented and tested it in FabrizioSandri/RcppDeepState-action#6.

@tdhock
Copy link
Owner Author

tdhock commented Jul 28, 2022

After re-running the job https://github.com/tdhock/binsegRcpp/runs/7564724127?check_suite_focus=true I don't think it is working. I expected to see some report on a PR comment or at least on the github action log, but I do not see anything. Can you please investigate/fix?

@FabrizioSandri
Copy link

Yes, the problem is that the changes I made are on the action-comment branch, while the workflow file inside this repository uses the action on the main branch. I merge FabrizioSandri/RcppDeepState-action#6 into main so that you can run CI again.

@FabrizioSandri
Copy link

Ok, I have just merged the pull request branch into main so now we can re-run the job again.

@github-actions
Copy link

github-actions bot commented Jul 28, 2022

RcppDeepState Report

function name message file line address trace R code
cum_median_interface 40 bytes in 1 blocks are definitely lost in loss record 14 of 1,294 interface.cpp:12 No Address Trace found
Test code
testlist <- list(data_vec = c(4.95282670985293e+269, 9.19220261345616e+228, 9.76446051871464e-227, 3.44002757211463e+142, 3.44564622360808e+125, Inf, -6.84590386509538e-154, 3.40246022599512e+269, -1.28923819757614e-165, 2.81518964059233e+167, -1.25531632864596e-287, -2.67427599032549e-248, 3.34588187587734e-119, -1.23551154415627e-21, -1.02610805187601e-109, 4.16940122332875e+269, -1.78387023887419e+248, -1.05722072744111e+98, -4.76115744068632e+183, -3.88035302297988e+101, -1.56937482455912e-56, NA, -4.75822295269467e+95, 1.98207210521439e-28, -1.15749005895586e-67, 1.50064938648988e-160, Inf, 1.13915958031741e+26, Inf, Inf, -5.34218289504947e-223, -4.2465118855095e-179, 5.50632255056954e-235, 1.39476247744266e+75, 1.69641978386394e-232, -1.77675561435822e-297, 4.25467706108586e-23, 4.89194157273472e+80, -2.27196098452465e-154, 3.08839698258598e+192, 2.35589726999274e-123, -2.63763169515399e+87, -3.19378705311954e+155, -3.74038104538462e-105, -3.16795961327089e+80, 9.14978341696139e+137, -1.50288014544269e-23, 1.43738183421206e-204, -2.35599803385513e-61, -2.99448212415941e+198, -4.0142655383189e+295, 1.61771792417167e+263, 0), weight_vec = c(2.59911756272486e+111, 1.23635737106356e-189, 1.53741044740229e-52, -4.41781541766863e+239, -6.40134612106056e-244, 1.22932559861284e-178, 9.45677812109935e+246, -6.03796060663925e+205, -1.90357180711086e-121, 6.15125704486057e+284, -2.75478977649574e+137, 6.11004203699546e+278, 3.40593845702388e+296, -3.91628109029268e-125, -1.85820166555954e-202, 3.3111091636182e-114, -4.91423732728992e-256, -3.13719918528368e+206, -2.76369409104372e-199, -1.24023111984261e-126, -2.4680069962022e+156, -3.00037236174766e-86, 2.65598591262111e-41, -6.74802436337638e+177, 1.09260531554511e+90, -1.48021774692267e+88, 20068460903947, -9.56718241162573e-150))
result <- do.call(binsegRcpp:::cum_median_interface, testlist)

Analyzed functions summary

function name tested inputs inputs with issues
binseg_interface 100 0
cum_median_interface 100 48
depth_first_interface 100 0

Report details

  • Report generated by: 9920c75
  • Inputs generator seed: 5

@FabrizioSandri
Copy link

From the last comment It seems like the inputs are too big so the cell content is overflowing, I'll investigate

@tdhock
Copy link
Owner Author

tdhock commented Jul 28, 2022

thanks!
I think when you do some.code <- capture.output(dput(some.data)) the resulting some.code is a character vector with one entry per line of output, so that may be the problem -- use paste(some.code, sep=" ") to paste together in a single line (replacing line breaks in original output with space separator).
Also I'm thinking that for such large outputs the inputs column is actually not so useful, and maybe it would be better to delete that and instead only include the R code column?

@tdhock
Copy link
Owner Author

tdhock commented Jul 28, 2022

@tdhock
Copy link
Owner Author

tdhock commented Jul 28, 2022

also is there documentation about how I can write a custom test harness for my binseg_interface function? I would like to be able to manually specify some C++ code for how to do random generation of that LogicalVector and the other inputs.

@FabrizioSandri
Copy link

thanks! I think when you do some.code <- capture.output(dput(some.data)) the resulting some.code is a character vector with one entry per line of output, so that may be the problem -- use paste(some.code, sep=" ") to paste together in a single line (replacing line breaks in original output with space separator). Also I'm thinking that for such large outputs the inputs column is actually not so useful, and maybe it would be better to delete that and instead only include the R code column?

Thanks @tdhock, I followed your suggestion and added the paste command with the collapse parameter. I also removed the inputs column, in fact all the inputs are already printed in the R_code column.

Here is a description of the changes I made to solve these two issues: FabrizioSandri/RcppDeepState-action#7 (comment)

@FabrizioSandri
Copy link

also I tried following the hyperlink https://github.com/github.com/tdhock/binsegRcpp/blob/check-rcppdeepstate/src/interface.cpp#L11 which says not found. I think you just need to delete a github.com, https://github.com/tdhock/binsegRcpp/blob/check-rcppdeepstate/src/interface.cpp#L11

I solved this problem, a more detailed description can be found in FabrizioSandri/RcppDeepState-action#7 (comment)

@FabrizioSandri
Copy link

also is there documentation about how I can write a custom test harness for my binseg_interface function? I would like to be able to manually specify some C++ code for how to do random generation of that LogicalVector and the other inputs.

I start writing a blog post outlining the procedure for manually creating a test harness and analyzing it using RcppDeepState.

return rand_vec;
}

#define INPUTS \
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you could use a macro like this to avoid duplication in definition of data /generator code.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tdhock I have revised the harness creation procedure of RcppDeepState and made some additional improvements, including the use of macros. You can find these new changes in FabrizioSandri/RcppDeepState#16.

Before testing this change I have to merge FabrizioSandri/RcppDeepState#16 into the main branch. I will wait for your code review before merging these modifications, so that if something is wrong I can simply adjust.

@tdhock
Copy link
Owner Author

tdhock commented Aug 5, 2022

seems like the most recent run failed https://github.com/tdhock/binsegRcpp/runs/7680915937?check_suite_focus=true Do you know why @FabrizioSandri ?
I expected it to run my custom test harness for binseg_interface.

@FabrizioSandri
Copy link

@tdhock The issue was that RcppDeepState deletes the existing /inst/testfiles folder before execution.
I solved this issue in pull request FabrizioSandri/RcppDeepState#17 such that RcppDeepState now uses existing test harnesses when it finds them inside /inst/testfiles.

Now we can run CI again, and check if binseg_interface will be analyzed.

@FabrizioSandri
Copy link

FabrizioSandri commented Aug 6, 2022

I have completed the action integration with Docker Hub with pull request FabrizioSandri/RcppDeepState-action#9. I ran the docker action on testSAN and it took between 7 and 8 minutes on average, as opposed to the original 20-30 minutes.

maybe would be good to show summary table even when there are no issues detected.

I added added the summary table in the comment with pull request FabrizioSandri/RcppDeepState-action#9

@tdhock
Copy link
Owner Author

tdhock commented Aug 8, 2022

After re-running https://github.com/tdhock/binsegRcpp/runs/7718406649?check_suite_focus=true it looks like it saw the manual test harness but did not either compile or execute it, can you please investigate?

Test harness already exists for the function - binseg_interface - using the existing one

Testharness created for 3 functions in the package

[1] "binseg_interface"      "cum_median_interface"  "depth_first_interface"
No bin files exists for function binseg_interface

@FabrizioSandri
Copy link

FabrizioSandri commented Aug 8, 2022

After re-running https://github.com/tdhock/binsegRcpp/runs/7718406649?check_suite_focus=true it looks like it saw the manual test harness but did not either compile or execute it, can you please investigate?

Test harness already exists for the function - binseg_interface - using the existing one

Testharness created for 3 functions in the package

[1] "binseg_interface"      "cum_median_interface"  "depth_first_interface"
No bin files exists for function binseg_interface

Hi @tdhock I have been working on this and found that the problem was due to RcppDeepState that was looking for the workspace_generator test that didn't exist inside the binseg_interface_DeepState_TestHarness.cpp test harness file.

I solved this problem with pull request FabrizioSandri/RcppDeepState#19.

@FabrizioSandri
Copy link

@tdhock I wrote a blog post last week about how to Write a custom test harness for functions with unsupported datatypes.
Because not everyone is familiar with RcppDeepState-action, I also decided to create a blog on how to Provide a custom test harness to RcppDeepState GitHub Action. The latter explain the user how to provide a manually generated test harness to the action(adding the harness files inside /inst/testfiles, in short).

@tdhock
Copy link
Owner Author

tdhock commented Aug 12, 2022

hi again @FabrizioSandri I re-ran the build and it seems to be passing now, but it should not be, because there is still a memory leak. What is the problem?

@FabrizioSandri
Copy link

FabrizioSandri commented Aug 13, 2022

@thock I've tried to manually run the same code inside R with Valgrind as a debugger as you did in your previous comment, and I don't see any errors. On my system, I ran binsegRcpp::cum median as follows:

[fabri@arch ~]$ R -d 'valgrind --leak-check=full' -e 'binsegRcpp::cum_median(1:5)'
==12170== Memcheck, a memory error detector
==12170== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==12170== Using Valgrind-3.19.0 and LibVEX; rerun with -h for copyright info
==12170== Command: /usr/lib64/R/bin/exec/R -e binsegRcpp::cum_median(1:5)
==12170== 

R version 4.2.1 (2022-06-23) -- "Funny-Looking Kid"
Copyright (C) 2022 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

[Previously saved workspace restored]

> binsegRcpp::cum_median(1:5)
[1] 1.0 1.5 2.0 2.5 3.0
> 
> 
==12170== 
==12170== HEAP SUMMARY:
==12170==     in use at exit: 54,152,555 bytes in 10,847 blocks
==12170==   total heap usage: 35,327 allocs, 24,480 frees, 94,855,450 bytes allocated
==12170== 
==12170== LEAK SUMMARY:
==12170==    definitely lost: 0 bytes in 0 blocks
==12170==    indirectly lost: 0 bytes in 0 blocks
==12170==      possibly lost: 0 bytes in 0 blocks
==12170==    still reachable: 54,152,555 bytes in 10,847 blocks
==12170==                       of which reachable via heuristic:
==12170==                         newarray           : 4,264 bytes in 1 blocks
==12170==         suppressed: 0 bytes in 0 blocks
==12170== Reachable blocks (those to which a pointer was found) are not shown.
==12170== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==12170== 
==12170== For lists of detected and suppressed errors, rerun with: -s
==12170== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

Previously, the Action was reporting the error, so I assumed that the issue was due to the non-deterministic nature of the inputs. However I have been able to prove that this is not the motivation: I have tried to reproduce the same inputs that generated the error in the previous runs, by downloading the relative artifact file and locating he inputs that were used(data_vec.qs and weight_vec.qs inside /inst/testfiles/cum_median_interface/cum_median_interface_output/log_000accaa8ac9403d64431183b0d301a01aad757f). This is the result:

[fabri@arch ~]$ R -d 'valgrind --leak-check=yes' -e 'require("qs")
  data_vec <- qread("data_vec.qs")
  weight_vec <- qread("weight_vec.qs")
  binsegRcpp:::cum_median_interface(data_vec, weight_vec)'
==12285== Memcheck, a memory error detector
==12285== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==12285== Using Valgrind-3.19.0 and LibVEX; rerun with -h for copyright info
==12285== Command: /usr/lib64/R/bin/exec/R -e require("qs")~n~~+~~+~data_vec~+~\<-~+~qread("data_vec.qs")~n~~+~~+~weight_vec~+~\<-~+~qread("weight_vec.qs")~n~~+~~+~binsegRcpp:::cum_median_interface(data_vec,~+~weight_vec)
==12285== 

R version 4.2.1 (2022-06-23) -- "Funny-Looking Kid"
Copyright (C) 2022 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> require("qs")
Loading required package: qs
qs v0.25.4.
>   data_vec <- qread("data_vec.qs")
>   weight_vec <- qread("weight_vec.qs")
>   binsegRcpp:::cum_median_interface(data_vec, weight_vec)
Error in binsegRcpp:::cum_median_interface(data_vec, weight_vec) : 
  weight_vec must be same size as data_vec
Execution halted
==12285== 
==12285== HEAP SUMMARY:
==12285==     in use at exit: 53,495,242 bytes in 11,066 blocks
==12285==   total heap usage: 37,890 allocs, 26,824 frees, 100,110,341 bytes allocated
==12285== 
==12285== LEAK SUMMARY:
==12285==    definitely lost: 0 bytes in 0 blocks
==12285==    indirectly lost: 0 bytes in 0 blocks
==12285==      possibly lost: 0 bytes in 0 blocks
==12285==    still reachable: 53,495,242 bytes in 11,066 blocks
==12285==                       of which reachable via heuristic:
==12285==                         newarray           : 4,264 bytes in 1 blocks
==12285==         suppressed: 0 bytes in 0 blocks
==12285== Reachable blocks (those to which a pointer was found) are not shown.
==12285== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==12285== 
==12285== For lists of detected and suppressed errors, rerun with: -s
==12285== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

Again, no error has been reported, indicating that the error is not related to the inputs.

So I'm thinking that this issue is caused by the system configuration or the version of clang used, or maybe by the compiler parameters used when installing the package. I'm overlooking something.

Could you please tell me the Clang version you used to compile and install the binsegRcpp package?
Additionally, what is the output of R CMD INSTALL -d /path/to/binsegRcpp?

@tdhock
Copy link
Owner Author

tdhock commented Aug 15, 2022

you are right: the leak should happen for any inputs.
I don't think it should depend on the compiler version, but I am using g++ 11.2.
It probably has something to do with how you are running valgrind. Your output says that it is not showing all of the leak info:

==12285== Reachable blocks (those to which a pointer was found) are not shown.
==12285== To see them, rerun with: --leak-check=full --show-leak-kinds=all

Did you try --leak-check=full as my code below?

root@cmp2986:~# R -d 'valgrind --leak-check=full' -e 'binsegRcpp::cum_median(1:5)'
==108== Memcheck, a memory error detector
==108== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==108== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==108== Command: /usr/lib/R/bin/exec/R -e binsegRcpp::cum_median(1:5)
==108==
==108== error calling PR_SET_PTRACER, vgdb might block

R version 4.1.2 (2021-11-01) -- "Bird Hippie"
Copyright (C) 2021 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> binsegRcpp::cum_median(1:5)
[1] 1.0 1.5 2.0 2.5 3.0
>
>
==108==
==108== HEAP SUMMARY:
==108==     in use at exit: 53,345,752 bytes in 10,639 blocks
==108==   total heap usage: 31,699 allocs, 21,060 frees, 92,545,894 bytes allocated
==108==
==108== 40 bytes in 1 blocks are definitely lost in loss record 21 of 1,466
==108==    at 0x484A2F3: operator new[](unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==108==    by 0xD7D4C12: cum_median_interface(Rcpp::Vector<14, Rcpp::PreserveStorage>, Rcpp::Vector<14, Rcpp::PreserveStorage>) (interface.cpp:11)
==108==    by 0xD7C666C: _binsegRcpp_cum_median_interface (RcppExports.cpp:21)
==108==    by 0x4952B6B: ??? (in /usr/lib/R/lib/libR.so)
==108==    by 0x49938BD: ??? (in /usr/lib/R/lib/libR.so)
==108==    by 0x49A98EF: Rf_eval (in /usr/lib/R/lib/libR.so)
==108==    by 0x49AB48E: ??? (in /usr/lib/R/lib/libR.so)
==108==    by 0x49AC2D4: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==108==    by 0x4999A2F: ??? (in /usr/lib/R/lib/libR.so)
==108==    by 0x49A98EF: Rf_eval (in /usr/lib/R/lib/libR.so)
==108==    by 0x49AB48E: ??? (in /usr/lib/R/lib/libR.so)
==108==    by 0x49AC2D4: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==108==
==108== LEAK SUMMARY:
==108==    definitely lost: 40 bytes in 1 blocks
==108==    indirectly lost: 0 bytes in 0 blocks
==108==      possibly lost: 0 bytes in 0 blocks
==108==    still reachable: 53,345,712 bytes in 10,638 blocks
==108==                       of which reachable via heuristic:
==108==                         newarray           : 4,264 bytes in 1 blocks
==108==         suppressed: 0 bytes in 0 blocks
==108== Reachable blocks (those to which a pointer was found) are not shown.
==108== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==108==
==108== For lists of detected and suppressed errors, rerun with: -s
==108== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
root@cmp2986:~#
root@cmp2986:~# R CMD INSTALL -d ~/R/binsegRcpp
processing ‘/root/R/binsegRcpp’
a directory
* installing to library ‘/usr/local/lib/R/site-library’
* build_help_types=
* DBG: 'R CMD INSTALL' now doing do_install()
* created lock directory ‘/usr/local/lib/R/site-library/00LOCK-binsegRcpp’
* installing *source* package ‘binsegRcpp’ ...
** backing up earlier installation
** using staged installation
** libs
about to run R CMD SHLIB -o binsegRcpp.so PiecewiseFunction.cpp RcppExports.cpp binseg.cpp cum_median.cpp depth_first.cpp interface.cpp
g++ -std=gnu++14 -I"/usr/share/R/include" -DNDEBUG  -I'/usr/local/lib/R/site-library/Rcpp/include'    -fpic  -g -O2 -ffile-prefix-map=/build/r-base-4A2Reg/r-base-4.1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c interface.cpp -o interface.o
g++ -std=gnu++14 -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -flto=auto -Wl,-z,relro -o binsegRcpp.so PiecewiseFunction.o RcppExports.o binseg.o cum_median.o depth_first.o interface.o -L/usr/lib/R/lib -lR
installing to /usr/local/lib/R/site-library/00LOCK-binsegRcpp/00new/binsegRcpp/libs
** R
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (binsegRcpp)
root@cmp2986:~# g++ --version
g++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

root@cmp2986:~#

Repository owner deleted a comment from github-actions bot Aug 15, 2022
Repository owner deleted a comment from github-actions bot Aug 15, 2022
@FabrizioSandri
Copy link

FabrizioSandri commented Aug 16, 2022

@tdhock, I just realized that the problem is that I cloned the binsegRcpp repository locally to run some tests without checking out this branch check-rcppdeepstate.

I also fixed the issue where no error was reported; it was caused by the harness test name. Pull request FabrizioSandri/RcppDeepState#21 has been submitted to fix the issue. Now we can run CI again, to check if the error is solved.

@tdhock
Copy link
Owner Author

tdhock commented Aug 17, 2022

@FabrizioSandri do you have any idea why RcppDeepState action was not run on the last push to this PR?

@tdhock
Copy link
Owner Author

tdhock commented Aug 17, 2022

I guess it was because there was a tab instead of space for indent in the yaml, sorry for the trouble.

comment: 'true'
comment: 'true'
max_inputs: 10
seed: 5

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RcppDeepState-action has not been executed because of this wrong indentation of the workflow file.

Copy link

@FabrizioSandri FabrizioSandri Aug 17, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tdhock I sent you this review yesterday and noticed the pending label. I assumed that 'Pending' meant "Your comment is awaiting review by the maintainer". Instead, it means that I have yet to submit my review; there is an additional submit button before submitting the review.
screen

@tdhock tdhock changed the title Check rcppdeepstate check rcppdeepstate from this repo Aug 24, 2022
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

Successfully merging this pull request may close these issues.

3 participants