[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [sumo-user] Assorted errors when using threads (1 new simulation per thread)
|
Hi,
I could reproduce the error, see
https://github.com/eclipse/sumo/issues/8630 but I am not sure yet what
causes it. A possible workaround is to use traci.connect instead of
traci.start but I agree that this is inconvenient because you would need
to do the sumo startup yourself.
Best regards,
Michael
Am 12.05.21 um 18:16 schrieb Marcelo Andrade Rodrigues D Almeida:
> Hi Harald
>
> Thank you for giving it a try
>
> This version gives the same error output for me. I'm hoping it has the
> same root cause from the errors I found in the previous code version.
> Thank you for the additional information
>
>
> Michael, could you reproduce the error? Let me know if you found or need
> anything
>
>
> Thank you all once again
>
> Sincerely,
>
> Marcelo d'Almeida
>
>
>
>
>
>
>
>
>
> On Wed, May 12, 2021 at 4:04 AM Harald Schaefer <fechsaer@xxxxxxxxx
> <mailto:fechsaer@xxxxxxxxx>> wrote:
>
> Hi Michael and Marcelo,
>
> with the latest version of the example I could reproduce the error.
>
> With some changes to sumo_env.py
>
> *** sumo_env.py 2021-05-12 08:29:23.260183300 +0200
> --- sumo_env.py.orig 2021-05-10 14:22:32.000000000 +0200
> ***************
> *** 283,287 ****
> sumo_binary = self.get_sumo_binary(gui=False)
> ! sumo_cmd = []
> ! sumo_cmd.extend(['gdb', '-ex', 'run', '--args'])
> ! sumo_cmd.extend([sumo_binary, *sumocfg_parameters_list])
>
> --- 283,285 ----
> sumo_binary = self.get_sumo_binary(gui=False)
> ! sumo_cmd = [sumo_binary, *sumocfg_parameters_list]
>
> I run all sumo's with gdb and I got
>
> SUMO VERSION SUMO v1_9_1+0287-bf4d10a8fa
> Step #0.00Error: Answered with error to command 0xa4: Vehicle
> '-gneE1__gneE0__light.0' is not known.
> Error: Answered with error to command 0xa4: Vehicle
> '-gneE1__gneE0__light.0' is not known.
> Error: Answered with error to command 0xa4: Vehicle
> '-gneE1__gneE0__light.0' is not known.
> Error: Answered with error to command 0xa4: Vehicle
> '-gneE1__gneE0__light.0' is not known.
> Error: Answered with error to command 0xa4: Vehicle
> '-gneE1__gneE0__light.0' is not known.
> Error: Answered with error to command 0xa4: Vehicle
> '-gneE1__gneE0__light.0' is not known.
> Error: Answered with error to command 0xa4: Vehicle
> '-gneE1__gneE0__light.0' is not known.
> Error: Answered with error to command 0xa4: Vehicle
> '-gneE1__gneE0__light.0' is not known.
> Error: Answered with error to command 0xa4: Vehicle
> '-gneE1__gneE0__light.0' is not known.
> Error: Answered with error to command 0xa4: Vehicle
> '-gneE1__gneE0__light.0' is not known.
> Error: Answered with error to command 0xa4: Vehicle
> '-gneE1__gneE0__light.0' is not known.
> Error: Answered with error to command 0xa4: Vehicle
> '-gneE1__gneE0__light.0' is not known.
> Error: Answered with error to command 0xa4: Vehicle
> '-gneE1__gneE0__light.0' is not known.
> Error: Answered with error to command 0xd4: Could not add
> subscription. Vehicle '-gneE1__gneE0__light.0' is not known.Vehicle
> '-gneE1__gneE0__light.0' is not known.Vehicle
> '-gneE1__gneE0__light.0' is not known.Vehicle
> '-gneE1__gneE0__light.0' is not known.Vehicle
> '-gneE1__gneE0__light.0' is not known.Vehicle
> '-gneE1__gneE0__light.0' is not known.Vehicle
> '-gneE1__gneE0__light.0' is not known.Vehicle
> '-gneE1__gneE0__light.0' is not known.Vehicle
> '-gneE1__gneE0__light.0' is not known.Vehicle
> '-gneE1__gneE0__light.0' is not known.Vehicle
> '-gneE1__gneE0__light.0' is not known.Vehicle
> '-gneE1__gneE0__light.0' is not known.Vehicle
> '-gneE1__gneE0__light.0' is not known.
> Error: Storage::writeUnsignedByte(): Invalid value, not in [0, 255]
> Quitting (on error).
> [Thread 0x7ffff35f0640 (LWP 9453) exited]
> [Thread 0x7ffff2def640 (LWP 9454) exited]
> [Thread 0x7ffff25ee640 (LWP 9455) exited]
> [Thread 0x7ffff1ded640 (LWP 9456) exited]
> malloc_consolidate(): unaligned fastbin chunk detected
> connection closed by SUMO
>
> Thread 1 "sumo" received signal SIGABRT, Aborted.
> __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
> 49 ../sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis
> nicht gefunden.
>
> [1]+ Angehalten example.py
> harald@csx> jobs
> [1]+ Angehalten example.py
> harald@csx> fg
> example.py
> (gdb) bt
> #0 __GI_raise (sig=sig@entry=6) at
> ../sysdeps/unix/sysv/linux/raise.c:49
> #1 0x00007ffff6f93864 in __GI_abort () at abort.c:79
> #2 0x00007ffff6ff6736 in __libc_message
> (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff711bb9c "%s\n")
> at ../sysdeps/posix/libc_fatal.c:155
> #3 0x00007ffff6fff08c in malloc_printerr
> (str=str@entry=0x7ffff711df68 "malloc_consolidate(): unaligned
> fastbin chunk detected") at malloc.c:5628
> #4 0x00007ffff700076c in malloc_consolidate
> (av=av@entry=0x7ffff714dba0 <main_arena>) at malloc.c:4709
> #5 0x00007ffff7000f80 in _int_free (av=0x7ffff714dba0 <main_arena>,
> p=0x55555663a230, have_lock=<optimized out>) at malloc.c:4633
> #6 0x00007ffff70047a8 in __GI___libc_free (mem=<optimized out>) at
> malloc.c:3309
> #7 0x00007ffff7df4662 in
> xercesc_3_2::ValidationContextImpl::~ValidationContextImpl() () from
> /lib/x86_64-linux-gnu/libxerces-c-3.2.so <http://libxerces-c-3.2.so>
> #8 0x00007ffff7df467d in
> xercesc_3_2::ValidationContextImpl::~ValidationContextImpl() () from
> /lib/x86_64-linux-gnu/libxerces-c-3.2.so <http://libxerces-c-3.2.so>
> #9 0x00007ffff7e6ca27 in xercesc_3_2::SchemaInfo::~SchemaInfo() ()
> from /lib/x86_64-linux-gnu/libxerces-c-3.2.so
> <http://libxerces-c-3.2.so>
> #10 0x00007ffff7ddaed8 in
> xercesc_3_2::RefHash2KeysTableOf<xercesc_3_2::SchemaInfo,
> xercesc_3_2::StringHasher>::removeAll() () from
> /lib/x86_64-linux-gnu/libxerces-c-3.2.so <http://libxerces-c-3.2.so>
> #11 0x00007ffff7dd578e in xercesc_3_2::IGXMLScanner::cleanUp() ()
> from /lib/x86_64-linux-gnu/libxerces-c-3.2.so
> <http://libxerces-c-3.2.so>
> #12 0x00007ffff7dd581b in xercesc_3_2::IGXMLScanner::~IGXMLScanner()
> () from /lib/x86_64-linux-gnu/libxerces-c-3.2.so
> <http://libxerces-c-3.2.so>
> #13 0x00007ffff7dd584d in xercesc_3_2::IGXMLScanner::~IGXMLScanner()
> () from /lib/x86_64-linux-gnu/libxerces-c-3.2.so
> <http://libxerces-c-3.2.so>
> #14 0x00007ffff7e27163 in xercesc_3_2::SAX2XMLReaderImpl::cleanUp()
> () from /lib/x86_64-linux-gnu/libxerces-c-3.2.so
> <http://libxerces-c-3.2.so>
> #15 0x00007ffff7e29a66 in
> xercesc_3_2::SAX2XMLReaderImpl::~SAX2XMLReaderImpl() () from
> /lib/x86_64-linux-gnu/libxerces-c-3.2.so <http://libxerces-c-3.2.so>
> #16 0x00007ffff7e29a7d in
> xercesc_3_2::SAX2XMLReaderImpl::~SAX2XMLReaderImpl() () from
> /lib/x86_64-linux-gnu/libxerces-c-3.2.so <http://libxerces-c-3.2.so>
> #17 0x0000555555cb0d9c in SUMOSAXReader::~SUMOSAXReader() ()
> #18 0x0000555555cc45b4 in XMLSubSys::close() ()
> #19 0x0000555555d0a097 in SystemFrame::close() ()
> #20 0x000055555574c388 in main ()
>
> Running with valgrind I got
>
> connection closed by SUMO
> ==15450== Invalid write of size 8
> ==15450== at 0x433D64: TraCIServer::cleanup() (in
> /usr/local/bin/sumo)
> ==15450== by 0x437089: TraCIServer::~TraCIServer() (in
> /usr/local/bin/sumo)
> ==15450== by 0x4373DC: TraCIServer::~TraCIServer() (in
> /usr/local/bin/sumo)
> ==15450== by 0x437408: TraCIServer::close() (in /usr/local/bin/sumo)
> ==15450== by 0x300382: main (in /usr/local/bin/sumo)
> ==15450== Address 0x9fd9130 is 0 bytes inside a block of size 112
> free'd
> ==15450== at 0x484584F: operator delete(void*) (in
> /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==15450== by 0x437060: TraCIServer::~TraCIServer() (in
> /usr/local/bin/sumo)
> ==15450== by 0x4373DC: TraCIServer::~TraCIServer() (in
> /usr/local/bin/sumo)
> ==15450== by 0x437408: TraCIServer::close() (in /usr/local/bin/sumo)
> ==15450== by 0x300382: main (in /usr/local/bin/sumo)
> ==15450== Block was alloc'd at
> ==15450== at 0x4842FB3: operator new(unsigned long) (in
> /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==15450== by 0x43CD8B: TraCIServer::TraCIServer(long long, int,
> int) (in /usr/local/bin/sumo)
> ==15450== by 0x43FD87: TraCIServer::openSocket(std::map<int, bool
> (*)(TraCIServer&, tcpip::Storage&, tcpip::Storage&), std::less<int>,
> std::allocator<std::pair<int const, bool (*)(TraCIServer&,
> tcpip::Storage&, tcpip::Storage&)> > > const&) (in /usr/local/bin/sumo)
> ==15450== by 0x5348CF: NLBuilder::init(bool) (in /usr/local/bin/sumo)
> ==15450== by 0x300286: main (in /usr/local/bin/sumo)
>
> I hope this helps
>
> Best regards, Harald
>
> Am 10.05.21 um 19:35 schrieb Marcelo Andrade Rodrigues D Almeida:
>> Hi Michael
>>
>> See the slightly changed attached example.
>>
>> Thank you
>>
>>
>> Sincerely,
>>
>> Marcelo d'Almeida
>>
>> On Sun, May 9, 2021 at 8:06 AM Michael Behrisch <oss@xxxxxxxxxxx
>> <mailto:oss@xxxxxxxxxxx>> wrote:
>>
>> Hi,
>> I just ran it from the command line not in an IDE. I probably
>> won't be
>> able to reproduce it if it just occurs in an IDE. Does it
>> occur at all
>> if you run from the command line (or without breakpoints)?
>>
>> Best regards,
>> Michael
>>
>> Am 06.05.21 um 17:27 schrieb Marcelo Andrade Rodrigues D Almeida:
>> > Hi Michael
>> >
>> > Thank you for your reply
>> >
>> > I tested again with the daily version and the errors still
>> happen when
>> > putting a breakpoint (e.g., sumo_env.py l. 111)
>> >
>> > The errors occur more frequently when using Pycharm
>> (2020.1.5 community)
>> > than using vscode (1.56.0). I'm not sure why. I'm using
>> Python 3.6 on
>> > Linux (Ubuntu 20.04).
>> >
>> > Did you test with breakpoints too?
>> >
>> > Thank you
>> >
>> >
>> > Sincerely,
>> >
>> > Marcelo d'Almeida
>> >
>> >
>> > On Mon, May 3, 2021 at 10:05 AM Michael Behrisch
>> <oss@xxxxxxxxxxx <mailto:oss@xxxxxxxxxxx>
>> > <mailto:oss@xxxxxxxxxxx <mailto:oss@xxxxxxxxxxx>>> wrote:
>> >
>> > Hi,
>> > I ran your example here (Python 3.6 on Linux), with the
>> most recent
>> > SUMO
>> > (built today) changing max_workers to 2 and experienced
>> no problems.
>> >
>> > Can you give more details on your environment?
>> >
>> > Best regards,
>> > Michael
>> >
>> > Am 29.04.21 um 15:19 schrieb Marcelo Andrade Rodrigues D
>> Almeida:
>> > > Thank you for your response
>> > >
>> > > See new attached version
>> > >
>> > >
>> > > Sincerely,
>> > >
>> > > Marcelo d'Almeida
>> > >
>> > >
>> > > On Thu, Apr 29, 2021 at 10:12 AM Michael Behrisch
>> > <oss@xxxxxxxxxxx <mailto:oss@xxxxxxxxxxx>
>> <mailto:oss@xxxxxxxxxxx <mailto:oss@xxxxxxxxxxx>>
>> > > <mailto:oss@xxxxxxxxxxx <mailto:oss@xxxxxxxxxxx>
>> <mailto:oss@xxxxxxxxxxx <mailto:oss@xxxxxxxxxxx>>>> wrote:
>> > >
>> > > Hi,
>> > > in your example code the synchronization_util is
>> missing. Can you
>> > > add it
>> > > and resend the zip?
>> > >
>> > > Best regards,
>> > > Michael
>> > >
>> > > Am 25.04.21 um 22:45 schrieb Marcelo Andrade
>> Rodrigues D Almeida:
>> > > > Hi everyone
>> > > >
>> > > > I'm having trouble using multiple simulations
>> in different
>> > threads
>> > > >
>> > > > The difference can be perceived by changing
>> max_workers to
>> > 1 and 2.
>> > > > " with
>> > >
>> ThreadPoolExecutor(max_workers=len(possible_actions)) as
>> > > > executor:" (planning_only_agent.py, line 100)
>> > > >
>> > > > [See attached example (a very simplified
>> version of what I'm
>> > > actually
>> > > > using)]
>> > > >
>> > > > With max_workers=1, it works just fine.
>> > > >
>> > > > With 2, it gives all sort of errors:
>> > > >
>> > > > "bad char in struct format"
>> > > > "unpack requires a buffer of [x] bytes"
>> > > > A lot of times it just hangs
>> > > > "Received answer 0 for command 211."
>> > > >
>> > > >
>> > > > The easiest way I found to reproduce is to add a
>> > breakpoint into a
>> > > > subscribe call and hit continue several times.
>> It is
>> > likely to crash
>> > > > when threads stop at the same command,
>> although it occurs
>> > eventually
>> > > > without breaking points.
>> > > >
>> > > > Tested in version 1.9.0 (specifically
>> v1_9_0+0210-fa53508669)
>> > > >
>> > > > Thank you in advance
>> > > >
>> > > >
>> > > > Sincerely,
>> > > >
>> > > > Marcelo d'Almeida
>> > > >
>> > > > _______________________________________________
>> > > > sumo-user mailing list
>> > > > sumo-user@xxxxxxxxxxx
>> <mailto:sumo-user@xxxxxxxxxxx> <mailto:sumo-user@xxxxxxxxxxx
>> <mailto:sumo-user@xxxxxxxxxxx>>
>> > <mailto:sumo-user@xxxxxxxxxxx
>> <mailto:sumo-user@xxxxxxxxxxx> <mailto:sumo-user@xxxxxxxxxxx
>> <mailto:sumo-user@xxxxxxxxxxx>>>
>> > > > To unsubscribe from this list, visit
>> > > https://www.eclipse.org/mailman/listinfo/sumo-user
>> <https://www.eclipse.org/mailman/listinfo/sumo-user>
>> > <https://www.eclipse.org/mailman/listinfo/sumo-user
>> <https://www.eclipse.org/mailman/listinfo/sumo-user>>
>> > >
>> <https://www.eclipse.org/mailman/listinfo/sumo-user
>> <https://www.eclipse.org/mailman/listinfo/sumo-user>
>> > <https://www.eclipse.org/mailman/listinfo/sumo-user
>> <https://www.eclipse.org/mailman/listinfo/sumo-user>>>
>> > > >
>> > > _______________________________________________
>> > > sumo-user mailing list
>> > > sumo-user@xxxxxxxxxxx <mailto:sumo-user@xxxxxxxxxxx>
>> <mailto:sumo-user@xxxxxxxxxxx <mailto:sumo-user@xxxxxxxxxxx>>
>> > <mailto:sumo-user@xxxxxxxxxxx
>> <mailto:sumo-user@xxxxxxxxxxx> <mailto:sumo-user@xxxxxxxxxxx
>> <mailto:sumo-user@xxxxxxxxxxx>>>
>> > > To unsubscribe from this list, visit
>> > > https://www.eclipse.org/mailman/listinfo/sumo-user
>> <https://www.eclipse.org/mailman/listinfo/sumo-user>
>> > <https://www.eclipse.org/mailman/listinfo/sumo-user
>> <https://www.eclipse.org/mailman/listinfo/sumo-user>>
>> > >
>> <https://www.eclipse.org/mailman/listinfo/sumo-user
>> <https://www.eclipse.org/mailman/listinfo/sumo-user>
>> > <https://www.eclipse.org/mailman/listinfo/sumo-user
>> <https://www.eclipse.org/mailman/listinfo/sumo-user>>>
>> > >
>> > >
>> > > _______________________________________________
>> > > sumo-user mailing list
>> > > sumo-user@xxxxxxxxxxx <mailto:sumo-user@xxxxxxxxxxx>
>> <mailto:sumo-user@xxxxxxxxxxx <mailto:sumo-user@xxxxxxxxxxx>>
>> > > To unsubscribe from this list, visit
>> > https://www.eclipse.org/mailman/listinfo/sumo-user
>> <https://www.eclipse.org/mailman/listinfo/sumo-user>
>> > <https://www.eclipse.org/mailman/listinfo/sumo-user
>> <https://www.eclipse.org/mailman/listinfo/sumo-user>>
>> > >
>> > _______________________________________________
>> > sumo-user mailing list
>> > sumo-user@xxxxxxxxxxx <mailto:sumo-user@xxxxxxxxxxx>
>> <mailto:sumo-user@xxxxxxxxxxx <mailto:sumo-user@xxxxxxxxxxx>>
>> > To unsubscribe from this list, visit
>> > https://www.eclipse.org/mailman/listinfo/sumo-user
>> <https://www.eclipse.org/mailman/listinfo/sumo-user>
>> > <https://www.eclipse.org/mailman/listinfo/sumo-user
>> <https://www.eclipse.org/mailman/listinfo/sumo-user>>
>> >
>> >
>> > _______________________________________________
>> > sumo-user mailing list
>> > sumo-user@xxxxxxxxxxx <mailto:sumo-user@xxxxxxxxxxx>
>> > To unsubscribe from this list, visit
>> https://www.eclipse.org/mailman/listinfo/sumo-user
>> <https://www.eclipse.org/mailman/listinfo/sumo-user>
>> >
>> _______________________________________________
>> sumo-user mailing list
>> sumo-user@xxxxxxxxxxx <mailto:sumo-user@xxxxxxxxxxx>
>> To unsubscribe from this list, visit
>> https://www.eclipse.org/mailman/listinfo/sumo-user
>> <https://www.eclipse.org/mailman/listinfo/sumo-user>
>>
>>
>> _______________________________________________
>> sumo-user mailing list
>> sumo-user@xxxxxxxxxxx <mailto:sumo-user@xxxxxxxxxxx>
>> To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user <https://www.eclipse.org/mailman/listinfo/sumo-user>
> _______________________________________________
> sumo-user mailing list
> sumo-user@xxxxxxxxxxx <mailto:sumo-user@xxxxxxxxxxx>
> To unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/sumo-user
> <https://www.eclipse.org/mailman/listinfo/sumo-user>
>
>
> _______________________________________________
> sumo-user mailing list
> sumo-user@xxxxxxxxxxx
> To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user
>