I bisected through recent commits to Rgraphviz and found that 13c8d31 is
the first commit that causes the repro I included earlier to fail.
 13c8d31 does touch buildEdgeList.c, so at least the basic laws of physics
remain intact.  But I fail to see how this was a load-bearing call to
sprintf.

On Mon, Mar 24, 2025 at 12:04 PM Andrew McDavid <andrew.n.mcda...@gmail.com>
wrote:

> It works with 2.51.1 and fails with 2.51.5.  I haven't tried bisecting
> intermediate commits yet.
>
> On Mon, Mar 24, 2025 at 12:02 PM Kasper Daniel Hansen <
> kasperdanielhan...@gmail.com> wrote:
>
>> Thanks, super useful. So you're saying it was working with 2.51.1? Or is
>> it working with the release version?
>>
>> Best,
>> Kasper
>>
>> On Mon, Mar 24, 2025 at 12:28 PM Andrew McDavid <
>> andrew.n.mcda...@gmail.com> wrote:
>>
>>> Dear Kasper and Robert,
>>>>
>>>> b) as I said in my original report, with Rgraphviz 2.51.1, I cannot 
>>>> reproduce the pEdge error of OncoSimulR in Linux, x86_64
>>>
>>> Regarding the "no slot of name "name" for this object of class "pEdge"" 
>>> error, the interesting thing is that:
>>>
>>> Dear all,
>>>
>>> I have been trying to troubleshoot this failure in openCyto and 
>>> flowWorkspace.  I have managed to reproduce it, but there are several 
>>> things I don't understand.
>>>
>>> 1) The source version of the package landing page 
>>> https://bioconductor.org/packages/3.21/bioc/html/Rgraphviz.html (and 
>>> version that you get with `BiocManager::install`) for Rgraphviz is 2.51.1, 
>>> but the version being used for the Bioc daily builds is 2.51.5.   The 
>>> binaries for windows and mac have version number 2.51.5. This is deeply 
>>> mysterious to me.
>>>
>>> 2) If I manually install the latest version from Kasper's github 
>>> https://github.com/kasperdanielhansen/Rgraphviz, which is the problematic 
>>> 2.51.5 version, then I can reproduce the 'no slot of name "name"' error.  
>>> The error is ultimately in Rgraphviz_buildEdgeList in src/buildEdgeList.c. 
>>> Below is the most minimal example triggering the error that I've managed to 
>>> generate so far.  It hasn't been very amenable for a unit test, because the 
>>> source data are from complicated S4 classes.  I certainly don't see 
>>> anything suspicious in the changeset since 2.51.1 that explains the error, 
>>> but by bisection I guess it did somehow break something in the API that 
>>> flowWorkspace is using.
>>>
>>>
>>> library(Rgraphviz)
>>> aa = list(N_0 = list(edges = 2L), N_2 = list(edges = 3L), N_3 = list(
>>>   edges = 4L), N_4 = list(edges = c(5L, 6L, 13L)), N_8 = list(
>>>     edges = integer(0)), N_9 = list(edges = integer(0)), N_13 = list(
>>>       edges = integer(0)), N_14 = list(edges = integer(0)), N_15 = list(
>>>         edges = integer(0)), N_16 = list(edges = integer(0)), N_17 = list(
>>>           edges = integer(0)), N_21 = list(edges = integer(0)), N_22 = list(
>>>             edges = integer(0)))
>>>
>>> edgemode_graph = "directed"
>>>
>>> edgeNames = c("N_0~N_2", "N_2~N_3", "N_3~N_4", "N_4~N_8", "N_4~N_9", 
>>> "N_4~N_22"
>>> )
>>>
>>> edgeAttrs = list(lty = c(`N_0~N_2` = "dotted", `N_2~N_3` = "solid", 
>>> `N_3~N_4` = "solid",
>>>                          `N_4~N_8` = "solid", `N_4~N_9` = "solid", 
>>> `N_4~N_22` = "solid"
>>> ))
>>>
>>> defAttrs = list(color = "black", dir = "none", weight = "1.0", label = "",
>>>                 fontcolor = "black", arrowhead = "none", arrowtail = "none",
>>>                 fontsize = "14", labelfontsize = "11", arrowsize = "1", 
>>> headport = "center",
>>>                 layer = "", style = "solid", minlen = "1")
>>>
>>>
>>> .Call("Rgraphviz_buildEdgeList", aa, edgemode_graph, list(),
>>>       edgeNames, integer(), edgeAttrs, defAttrs, PACKAGE = "Rgraphviz") # 
>>> i.e. line 45 in R/graphLayout.R
>>>
>>>
>>>
>>>
>>
>> --
>> Best,
>> Kasper
>>
>

        [[alternative HTML version deleted]]

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to