[erlang-questions] concurrency bugs in Erlang

john.hughes <>
Wed Aug 31 16:57:42 CEST 2016


A few years ago we used QuickCheck to track down some interesting race
conditions in dets (the disk storage back end used with Erlang's database
mnesia). There's a paper about it in the Erlang Workshop 2011, which you
might find interesting.

http://dl.acm.org/citation.cfm?id=2034667&dl=ACM&coll=DL&CFID=832433409&CFTOKEN=89856408

John

-----Original Message----- 
From: Ben Murphy
Sent: Wednesday, August 31, 2016 4:26 PM
To: Carmen Torres López
Cc: Erlang-Questions Questions
Subject: Re: [erlang-questions] concurrency bugs in Erlang

Actually. More information here on the issue:
https://github.com/iamaleksey/oserl/issues/1

On Wed, Aug 31, 2016 at 3:21 PM, Ben Murphy <> wrote:
> I have had experience with deadlocks and OTP gen_fsm/gen_server code.
> One way of thinking of gen_server is just a way of having a bunch of
> methods that wrap some common data under a mutex. So if you have
> gen_servers calling other gen_servers and then calling back into the
> original gen_server then you create a deadlock. If you have enough
> indirection then it is possible to write code that does this without
> realising it.
>
> We actually had this problem with an opensource library:
>
> https://github.com/iamaleksey/oserl
>
> I can't remember exactly if it was because of the library itself or
> how we were using it. However, we rewrote the library to handle a
> single smpp connection using a single gen_server process instead of
> using a combination of gen_fsm and a gen_server which fixed all of our
> deadlock issues.
>
> On Wed, Aug 31, 2016 at 8:05 AM, Carmen Torres López
> <> wrote:
>> Hello,
>>
>> I'm doing a research about concurrency bugs types that can be observed in
>> languages based in actor model. I would like to know what kind of bugs 
>> can
>> be observed frequently in Erlang? Has anyone experience a behavoir such 
>> as
>> deadlocks, livelock, starvation, race conditions, order violation, etc.?
>> I will appreciate any pointer of an example code that generate these 
>> bugs.
>>
>> Best regards,
>> Carmen
>>
>> _______________________________________________
>> erlang-questions mailing list
>> 
>> http://erlang.org/mailman/listinfo/erlang-questions
>>
_______________________________________________
erlang-questions mailing list

http://erlang.org/mailman/listinfo/erlang-questions 



More information about the erlang-questions mailing list