Segmentation fault when loading GraphML file

Bug #713617 reported by Thomas Leplus on 2011-02-05
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
SocNetV
High
Dimitris Kalamaras
1.x
High
Dimitris Kalamaras

Bug Description

Hi,

The segmentation fault seems to occur in Edge::makeReciprocal(). It's not the first call to that method and I don't see anything special with that edge. Maybe I am missing something.

Cheers,

Tom

Dmytro (dmytro-bobkov) wrote :

Dear Thomas, were you able to solve the problem? I am experiencing the same, after googling figured out that usually this happens when prepareGeometryChange() was not called on time when boundingRect limits of graphical item changed, but I cannot figure out where exactly it happened.

Dmytro (dmytro-bobkov) wrote :

With which version of the program did you experience this bug? My version 0.90 QT 4.7.3 Ubuntu 11.10 - it happens more often when network is bigger. Does it still happen with later versions (it is not reported to be fixed in later versions, but still)?

Dmytro (dmytro-bobkov) wrote :

There is a workaround for this problem. Not that it completely fixes everything but at least it doesn't crash anymore. The thing you have to do is to comment out two commands in the function Edge::makeReciprocal (//prepareGeometryChange(); //m_reciprocal= true;). After that edges don't become reciprocal anymore, but you can fix it using the command Symmetrize links. Works for version 0.90 QT 4.7.3 Ubuntu 11.10.

Hi,

Indeed I believe I fixed the issue by making my graph directed. It
doubled the number links but it worked.

Cheers,

Tom

On Tue, Feb 7, 2012 at 10:02 AM, Dmytro <email address hidden> wrote:
> There is a workaround for this problem. Not that it completely fixes
> everything but at least it doesn't crash anymore. The thing you have to
> do is to comment out two commands in the function Edge::makeReciprocal
> (//prepareGeometryChange(); //m_reciprocal= true;). After that edges
> don't become reciprocal anymore, but you can fix it using the command
> Symmetrize links. Works for version 0.90 QT 4.7.3 Ubuntu 11.10.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/713617
>
> Title:
>  Segmentation fault when loading GraphML file
>
> Status in Social Networks Visualizer:
>  New
>
> Bug description:
>  Hi,
>
>  The segmentation fault seems to occur in Edge::makeReciprocal(). It's
>  not the first call to that method and I don't see anything special
>  with that edge. Maybe I am missing something.
>
>  Cheers,
>
>  Tom
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/socnetv/+bug/713617/+subscriptions

FWIW for such an old bug report, the problem didn't have anything to do with Edge::makeReciprocal(). Rather, it was that the metro.xml declared multiple edges between nodes. For instance, the edge 15->16 is declared twice, first in line 316 (edge id "15 M1") and then again in line 391 (edge id "87 M11"). SocNetV up to version 1.3 does not support multiple edges between nodes. And if wee need to support that feature there would be problems such as: when we would need to create and display the adjacency sociomatrix (or count distances) what value should we use in the (15,16) element? The weight of the first edge (id "15 M1") or the weight of the other edge (id "87 M11") ? The only thing I can do at the moment is to catch these exceptions and silently unifying the multiple edges to a single edge...

Thomas Leplus (thomas-leplus) wrote :

Hi Dimitris,

Thanks for the info. If I remember correctly in my case the edge all had
the same weight so it wouldn't matter which one you took. But I agree that
in the general case it is not obvious. I think that as you said it is an
edge case (pun intended) and you could simply print an error or warning
message saying that there are duplicate edges and let the user decide how
to fix the graph.

Cheers,

Tom

On Mon, Sep 1, 2014 at 3:10 PM, Dimitris Kalamaras <
<email address hidden>> wrote:

> FWIW for such an old bug report, the problem didn't have anything to do
> with Edge::makeReciprocal(). Rather, it was that the metro.xml declared
> multiple edges between nodes. For instance, the edge 15->16 is
> declared twice, first in line 316 (edge id "15 M1") and then again in
> line 391 (edge id "87 M11"). SocNetV up to version 1.3 does not support
> multiple edges between nodes. And if wee need to support that feature
> there would be problems such as: when we would need to create and
> display the adjacency sociomatrix (or count distances) what value should
> we use in the (15,16) element? The weight of the first edge (id "15 M1")
> or the weight of the other edge (id "87 M11") ? The only thing I can do
> at the moment is to catch these exceptions and silently unifying the
> multiple edges to a single edge...
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/713617
>
> Title:
> Segmentation fault when loading GraphML file
>
> Status in Social Networks Visualizer:
> In Progress
> Status in SocNetV 1.x series:
> In Progress
>
> Bug description:
> Hi,
>
> The segmentation fault seems to occur in Edge::makeReciprocal(). It's
> not the first call to that method and I don't see anything special
> with that edge. Maybe I am missing something.
>
> Cheers,
>
> Tom
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/socnetv/+bug/713617/+subscriptions
>

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers