Segmentation fault when loading GraphML file

Bug #713617 reported by Thomas Leplus
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
SocNetV
Fix Released
High
Dimitris Kalamaras
1.x
Fix Released
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

Revision history for this message
Thomas Leplus (thomas-leplus) wrote :
Revision history for this message
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.

Revision history for this message
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)?

Revision history for this message
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.

Revision history for this message
Thomas Leplus (thomas-leplus) wrote : Re: [Bug 713617] Re: Segmentation fault when loading GraphML file

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

Revision history for this message
Dimitris Kalamaras (dimitris-kalamaras) 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...

Revision history for this message
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.